:root{--bg:#071512;--surface:#f4f1e9;--paper:#fffdf8;--ink:#11211d;--muted:#6f7f79;--mint:#8dd9bc;--gold:#d8ad61;--danger:#b45349;--line:rgba(18,50,41,.13);--display:"Songti SC","STSong",Georgia,serif;--body:"Microsoft YaHei","Source Han Sans SC",sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px;background:var(--surface);color:var(--ink);font-family:var(--body);font-size:14px}body.loading main,body.loading header{visibility:hidden}body.loading:after{content:"正在验证管理员权限…";position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);color:#90a69d;font-size:12px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.admin-header{height:76px;padding:0 clamp(20px,4vw,58px);display:flex;align-items:center;justify-content:space-between;background:var(--bg);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.admin-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.admin-brand>span{width:36px;height:36px;border:1px solid rgba(216,173,97,.5);display:grid;place-items:center;color:var(--gold);font:700 11px Georgia,serif;transform:rotate(45deg)}.admin-brand>span::first-line{transform:rotate(-45deg)}.admin-brand b,.admin-brand small{display:block}.admin-brand b{font:700 16px Georgia,serif}.admin-brand small{color:#748b82;font-size:8px;letter-spacing:1.4px}.admin-header nav{display:flex;align-items:center;gap:20px}.admin-header a,.admin-header button{color:#9eb1a9;font-size:11px}.admin-header nav a{text-decoration:none}.admin-header button{border:1px solid rgba(255,255,255,.13);background:transparent;border-radius:8px;min-height:40px;padding:0 13px}.admin-main{padding:54px clamp(20px,4vw,58px) 80px}.admin-title{display:flex;justify-content:space-between;align-items:end;gap:25px}.eyebrow{color:#a7762f;font:700 9px Georgia,serif;letter-spacing:2px}.admin-title h1{margin:6px 0 3px;font:600 34px var(--display)}.admin-title p,.panel-head p{margin:0;color:var(--muted);font-size:10px}.admin-title>button{min-height:43px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:0 16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0 16px}.stat-card{padding:19px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.stat-card span{display:block;color:var(--muted);font-size:10px}.stat-card strong{display:block;margin-top:8px;font:32px Georgia,serif}.users-panel{border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}.panel-head{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:15px}.panel-head label{color:var(--muted);font-size:9px}.panel-head input{display:block;width:240px;height:39px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 11px;background:#fff}.table-wrap{overflow-x:auto}table{width:100%;min-width:900px;border-collapse:collapse}th,td{padding:14px 17px;text-align:left;border-bottom:1px solid var(--line);font-size:10px}th{color:#75857f;background:#eeeadf;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.user-cell b,.user-cell small{display:block}.user-cell b{font-size:11px}.user-cell small{color:var(--muted);font-size:9px}.role-pill,.status-pill{display:inline-block;padding:3px 7px;border-radius:99px;border:1px solid var(--line)}.role-pill.admin{color:#8b6227;background:rgba(216,173,97,.1)}.status-pill.active{color:#247456;background:rgba(69,184,141,.08)}.status-pill.suspended{color:var(--danger);background:rgba(180,83,73,.07)}.usage{min-width:120px}.usage>span{display:flex;justify-content:space-between}.usage progress{width:100%;height:5px;border:0;appearance:none;margin-top:6px}.usage progress::-webkit-progress-bar{background:#e1e4de;border-radius:8px}.usage progress::-webkit-progress-value{background:#3db185;border-radius:8px}.edit-button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:transparent;color:#286f56;padding:0 11px}.empty{text-align:center;padding:34px;color:var(--muted)}.modal{position:fixed;inset:0;z-index:100;background:rgba(1,13,9,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.edit-card{width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:var(--surface);border-radius:17px;padding:28px;position:relative}.close-button{position:absolute;right:18px;top:18px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:21px}.edit-card h2{margin:7px 0 0;font:600 27px var(--display)}.edit-card>p{margin:2px 0 18px;color:var(--muted);font-size:10px}.edit-card label{display:block;margin:12px 0 0;color:#53645d;font-size:10px}.edit-card input,.edit-card select{width:100%;height:46px;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:0 11px;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-error{min-height:20px!important;color:var(--danger)!important;margin:8px 0 2px!important}.save-button{width:100%;min-height:48px;border:0;border-radius:8px;background:#153c31;color:#fff;font-weight:700}.toast{position:fixed;left:50%;bottom:25px;z-index:200;opacity:0;transform:translate(-50%,15px);transition:200ms;background:#12372d;color:#fff;padding:10px 15px;border-radius:8px;font-size:10px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:720px){.admin-header{padding-inline:16px}.admin-main{padding:38px 16px}.admin-title{display:block}.admin-title>button{margin-top:16px}.stats-grid{grid-template-columns:1fr 1fr}.panel-head{align-items:flex-start;gap:12px;flex-direction:column}.panel-head input{width:min(300px,75vw)}.form-row{grid-template-columns:1fr}}

.provider-finance-section{margin:16px 0 24px;padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:var(--bg);color:#f8fbfa;box-shadow:0 18px 48px rgba(7,21,18,.12)}
.finance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
.finance-head h2{margin:7px 0 3px;font:600 26px var(--display)}
.finance-head p{max-width:680px;margin:0;color:#8fa39b;font-size:10px;line-height:1.6}
.superadmin-mark{display:inline-flex;padding:4px 7px;border:1px solid rgba(216,173,97,.45);border-radius:99px;color:#e1bd7b;font:700 8px Georgia,serif;letter-spacing:1.4px}
.finance-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border:1px solid rgba(141,217,188,.28);border-radius:9px;background:rgba(141,217,188,.08);color:#b6ead5;font-size:10px;white-space:nowrap}
.finance-refresh:hover{background:rgba(141,217,188,.14)}
.finance-refresh svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.finance-summary{display:flex;align-items:center;gap:18px;min-height:54px;color:#8fa39b;font-size:9px}
.finance-summary span{padding-right:18px;border-right:1px solid rgba(255,255,255,.09)}
.finance-summary span b{color:#f7fbf9;font:20px Georgia,serif}
.finance-summary .attention b{color:#efb388}
.finance-summary small{margin-left:auto;color:#71887f}
.provider-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.finance-card{min-width:0;padding:17px;border:1px solid rgba(17,33,29,.1);border-radius:13px;background:var(--paper);color:var(--ink);box-shadow:inset 0 3px 0 #82928c}
.finance-card.state-healthy{box-shadow:inset 0 3px 0 #3aa97f}.finance-card.state-low{box-shadow:inset 0 3px 0 #d89b43}.finance-card.state-empty,.finance-card.state-auth_error,.finance-card.state-error{box-shadow:inset 0 3px 0 var(--danger)}
.finance-card-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center}
.provider-monogram{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#f0eee7;color:#315d50;font:700 9px Georgia,serif}
.finance-card-head h3{margin:0;font-size:11px}.finance-card-head p{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0 0}.finance-card-head p span{padding:2px 5px;border-radius:99px;background:#edf1ed;color:#718079;font-size:7px}
.finance-state{padding:3px 6px;border:1px solid var(--line);border-radius:99px;color:#66766f;font-size:7px;white-space:nowrap}.state-healthy .finance-state{color:#26785b;background:#e6f4ee}.state-low .finance-state{color:#8b5c19;background:#fbf0dc}.state-empty .finance-state,.state-auth_error .finance-state,.state-error .finance-state{color:#9a4039;background:#f8e8e6}
.finance-balance{margin:20px 0 13px}.finance-balance small{display:block;color:var(--muted);font-size:8px}.finance-balance strong{display:block;min-height:36px;margin-top:2px;font:29px Georgia,serif;font-variant-numeric:tabular-nums}
.finance-card progress{width:100%;height:5px;margin:0 0 13px;border:0;appearance:none}.finance-card progress::-webkit-progress-bar{background:#e2e8e3;border-radius:99px}.finance-card progress::-webkit-progress-value{background:#3aa97f;border-radius:99px}
.finance-metrics{display:flex;gap:18px;min-height:38px}.finance-metrics span{min-width:0}.finance-metrics small,.finance-metrics b{display:block}.finance-metrics small{color:var(--muted);font-size:7px}.finance-metrics b{margin-top:2px;font:10px Georgia,serif;font-variant-numeric:tabular-nums}
.finance-detail{min-height:35px;margin:11px 0;color:#718079;font-size:8px;line-height:1.55}
.finance-console-link{min-height:40px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:#2c765d;font-size:8px;text-decoration:none}.finance-console-link:hover{text-decoration:underline}
.finance-note{display:flex;gap:9px;margin-top:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#7f948c;font-size:8px;line-height:1.5}.finance-note b{color:#a9bbb4;white-space:nowrap}
.provider-usage-panel{margin-top:14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;overflow:hidden}.provider-usage-panel>div:first-child{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;color:#dbe7e2;font-size:10px}.provider-usage-panel>div:first-child span{color:#80968d;font-size:9px}.provider-usage-table{min-width:760px;background:#10231e}.provider-usage-table th{background:#142d26;color:#8ea39b;border-color:rgba(255,255,255,.08)}.provider-usage-table td{color:#d8e3df;border-color:rgba(255,255,255,.07);font-variant-numeric:tabular-nums}.provider-usage-table td:first-child{color:var(--mint);font-weight:700}
.skeleton-card{height:265px;background:linear-gradient(100deg,#fffdf8 20%,#f0ede5 40%,#fffdf8 60%);background-size:220% 100%;animation:finance-shimmer 1.3s ease-in-out infinite}
.finance-error{grid-column:1/-1;display:grid;gap:4px;padding:24px;border:1px solid rgba(180,83,73,.35);border-radius:12px;background:rgba(180,83,73,.08);color:#f1c8c3}.finance-error span,.finance-error small{color:#aebcb7;font-size:9px}
@keyframes finance-shimmer{to{background-position:-220% 0}}
@media(max-width:980px){.provider-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.provider-finance-section{padding:18px;margin-inline:0}.finance-head{align-items:flex-start;flex-direction:column}.finance-refresh{width:100%}.finance-summary{align-items:flex-start;flex-wrap:wrap;padding-block:12px}.finance-summary span{border:0;padding-right:0}.finance-summary small{width:100%;margin-left:0}.provider-finance-grid{grid-template-columns:1fr}.finance-card{padding:16px}.finance-note{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.skeleton-card{animation:none}}
#cachePolicyForm { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
#hotelCacheDays { width: 96px; min-height: 44px; padding: 8px; }
#hotelArchiveSearch { max-width: 100%; min-height: 44px; margin: 8px; padding: 8px; }
#hotelArchiveSection > label { display: inline-block; }
#hotelArchiveSection button { min-height: 44px; }
#hotelArchiveSection { font-size: 14px; }
#hotelArchiveSection h2 { font-size: 18px; }
#hotelArchiveSection .panel-head p { font-size: 14px; line-height: 1.6; }
#cachePolicyForm { padding: 0 20px; }
#hotelArchiveSection > label { margin-left: 20px; }
#hotelArchiveSection input { border: 1px solid var(--line, #e7e5ec); border-radius: 8px; background: var(--panel, #fff); color: var(--ink, #202231); font: inherit; }
#hotelArchiveSection button { border: 1px solid var(--purple, #6d4bd1); border-radius: 8px; background: var(--purple, #6d4bd1); color: #fff; padding: 8px 16px; font: inherit; cursor: pointer; }
#hotelArchiveSection button:hover { background: var(--purple-deep, #5532b5); }
#hotelArchiveSection button:disabled { opacity: .6; cursor: wait; }
#hotelArchiveSection :focus-visible { outline: 2px solid var(--purple, #6d4bd1); outline-offset: 3px; }
#hotelArchiveSection th, #hotelArchiveSection td { font-size: 13px; padding: 12px; }
#hotelArchiveSection .table-wrap { margin-top: 16px; }
