@font-face{font-family:Inter;src:url('/assets/inter-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Material Symbols Rounded';src:url('/assets/material-symbols-rounded.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}
:root{color-scheme:light;--bg:#f9f9ff;--card:#fff;--surface-low:#f1f3fc;--surface:#ebedf7;--surface-high:#e6e8f1;--text:#181c22;--muted:#414753;--outline:#717785;--border:#c1c6d5;--primary:#1275e2;--primary-hover:#005db8;--primary-soft:#d6e3ff;--secondary:#5f78a3;--tertiary:#c55b00;--danger:#ba1a1a;--danger-soft:#ffdad6;--success:#16834b;--success-soft:#d9f8e5;--focus:#1275e2;--control-radius:8px;--card-radius:16px;--modal-radius:24px;--shadow:0 10px 30px rgba(45,48,55,.07),0 1px 3px rgba(45,48,55,.08)}
[data-theme="dark"]{color-scheme:dark;--bg:#111318;--card:#1a1d24;--surface-low:#20242d;--surface:#292e39;--surface-high:#303642;--text:#eef0fa;--muted:#c1c6d5;--outline:#8b919f;--border:#414753;--primary:#aac7ff;--primary-hover:#d6e3ff;--primary-soft:#283f68;--secondary:#aec7f7;--tertiary:#ffb68c;--danger:#ffb4ab;--danger-soft:#5f1614;--success:#73db9b;--success-soft:#173d27;--focus:#aac7ff;--shadow:0 12px 36px rgba(0,0,0,.24)}
*{box-sizing:border-box}
html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font:400 14px/20px Inter,"Noto Sans SC","Microsoft YaHei",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.025em}h2{margin-bottom:2px;font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.015em}.muted,.panel-head p{color:var(--muted)}
.material-symbols-rounded{display:inline-block;flex:0 0 auto;font-family:'Material Symbols Rounded';font-size:20px;font-style:normal;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20}
.eyebrow{margin:0 0 2px;color:var(--secondary);font-size:11px;line-height:16px;font-weight:600;letter-spacing:.12em}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 max(24px,calc((100vw - 1400px)/2));border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(14px)}
.brand,.toolbar,.panel-head,.form-actions,.button{display:flex;align-items:center}.brand{gap:10px}.brand>div{display:flex;flex-direction:column}.brand strong{font-size:14px;line-height:18px;font-weight:600}.brand>div>span{color:var(--muted);font-size:11px;line-height:14px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--primary);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 28%,transparent)}.brand-mark .material-symbols-rounded{font-size:26px;font-variation-settings:'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 24}.brand-mark.small{width:32px;height:32px;border-radius:9px}.brand-mark.small .material-symbols-rounded{font-size:19px}.toolbar{gap:8px}
.dashboard-shell{width:min(1400px,calc(100% - 48px));margin:24px auto 40px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(340px,.95fr);grid-template-areas:"overview monitor" "accounts qq" "templates templates" "notifications notifications";gap:16px}.panel{min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--border) 68%,transparent);border-radius:var(--card-radius);background:var(--card);box-shadow:var(--shadow)}[data-area="overview"]{grid-area:overview}[data-area="monitor"]{grid-area:monitor}[data-area="accounts"]{grid-area:accounts}[data-area="qq"]{grid-area:qq}[data-area="templates"]{grid-area:templates}[data-area="notifications"]{grid-area:notifications}
.panel-head{justify-content:space-between;gap:16px;margin-bottom:14px}.panel-head p{margin:0;font-size:12px;line-height:16px}.overview-head{margin-bottom:14px}
.monitor-heading{display:flex;align-items:center;gap:6px;white-space:nowrap;position:relative}.monitor-heading h2{margin:0}.info-marker summary{display:grid;place-items:center;width:28px;height:28px;cursor:pointer;color:var(--muted);list-style:none;font-size:18px;border-radius:6px}.info-marker summary::-webkit-details-marker{display:none}.info-marker summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.info-marker .info-tip{display:none;position:absolute;left:0;top:100%;z-index:20;width:280px;max-width:calc(100vw - 80px);padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 6px 20px #0002;white-space:normal;font-size:12px;line-height:1.6}.info-marker[open] .info-tip,.info-marker:hover .info-tip{display:block}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{display:flex;align-items:center;min-width:0;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:12px;background:var(--surface-low)}.stat-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:18px;font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 20}.stat-card>div{min-width:0}.stat-card>div>span{display:block;margin-bottom:1px;color:var(--muted);font-size:11px;line-height:15px;font-weight:500}.stat-card strong{display:block;overflow:hidden;font-size:15px;line-height:20px;font-weight:600;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.button{justify-content:center;gap:6px;min-height:32px;padding:5px 11px;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--text);font-size:12px;line-height:20px;font-weight:500;box-shadow:0 1px 2px rgba(45,48,55,.04)}.button .material-symbols-rounded{font-size:17px}.button.icon-only{width:32px;padding:5px}.button:disabled{opacity:.52;cursor:not-allowed}.button.primary{background:var(--primary);color:#fff}.button.primary:hover:not(:disabled){background:var(--primary-hover)}.button.secondary{border-color:color-mix(in srgb,var(--border) 72%,transparent);background:var(--primary-soft);color:color-mix(in srgb,var(--primary) 82%,var(--text))}.button.ghost{border-color:color-mix(in srgb,var(--border) 72%,transparent);background:var(--card)}.button.danger{border-color:color-mix(in srgb,var(--danger) 28%,var(--border));background:color-mix(in srgb,var(--danger-soft) 48%,var(--card));color:var(--danger)}.icon-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--control-radius);background:transparent;color:var(--muted)}.icon-button:hover{background:var(--surface-low)}.button:focus-visible,input:focus-visible,textarea:focus-visible,.icon-button:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 28%,transparent);outline-offset:1px;border-color:var(--focus)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.form-grid .button{align-self:end}.monitor-form{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-form .button,.qq-form .button{grid-column:1/-1}.stack,label{display:flex;flex-direction:column;gap:5px}.stack{gap:12px}label{min-width:0;color:var(--muted);font-size:12px;line-height:16px;font-weight:500}input,textarea,select{width:100%;border:1px solid color-mix(in srgb,var(--outline) 50%,var(--border));border-radius:var(--control-radius);background:var(--card);color:var(--text);font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}input,select{height:32px;padding:5px 9px}textarea{min-height:74px;padding:8px 9px;line-height:18px;resize:vertical}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 64%,transparent)}
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.template-grid fieldset{display:grid;min-width:0;gap:10px;margin:0;padding:12px;border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:12px;background:var(--surface-low)}.template-grid legend{padding:0 5px;color:var(--text);font-size:13px;font-weight:600}.template-grid .form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;flex-wrap:wrap}.template-grid input,.template-grid textarea{font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif}
.account-grid{display:grid;grid-template-columns:1fr;gap:12px}.account-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;background:var(--surface-low)}.account-title{display:flex;grid-column:1/-1;justify-content:space-between;gap:12px}.account-title strong{font-weight:600}.account-title .muted{font-size:12px}.account-card>p{grid-column:1/-1;margin:0!important;font-size:12px}.badge{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;padding:3px 9px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:500}.badge .material-symbols-rounded{font-size:14px;font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 20}.quota{min-width:0;margin-top:0}.quota-row{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.quota-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress{height:6px;margin-top:7px;overflow:hidden;border-radius:999px;background:var(--surface-high)}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.account-actions{display:flex;grid-column:1/-1;gap:8px;margin-top:0}.empty-state{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px;background:var(--surface-low)}
.badge.failed{background:var(--danger-soft);color:var(--danger)}.badge.stale{background:color-mix(in srgb,var(--tertiary) 14%,var(--card));color:var(--tertiary)}.account-meta{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:11px}.account-meta .account-error{color:var(--danger);font-weight:500}.snapshot-note{margin-top:5px;color:var(--muted);font-size:10px;line-height:14px}.snapshot-note.stale{color:var(--tertiary)}.quota.no-data{grid-column:1/-1;padding:10px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center}
.reset-credit-summary{display:grid;grid-column:1/-1;gap:9px;padding:11px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--primary-soft) 34%,var(--card))}.reset-credit-heading,.reset-credit-item-title,.reset-credit-expiry{display:flex;align-items:center;justify-content:space-between;gap:12px}.reset-credit-heading>span{font-size:10px}.reset-credit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.reset-credit-item{display:grid;gap:5px;padding:9px;border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:9px;background:var(--card)}.reset-credit-item-title strong{overflow:hidden;font-size:12px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}.badge.credit{flex:0 0 auto;background:var(--primary-soft);color:color-mix(in srgb,var(--primary) 84%,var(--text))}.reset-credit-expiry{align-items:flex-end;color:var(--muted);font-size:10px;line-height:15px}.reset-credit-expiry strong{color:var(--text);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.reset-credit-note{margin:0;color:var(--tertiary);font-size:10px;line-height:15px}.reset-credit-note.stale{color:var(--danger)}
.table-wrap{overflow:auto;border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:9px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 56%,transparent);font-size:12px}th{background:var(--surface-low);color:var(--muted);font-weight:500}td{font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb,var(--surface-low) 68%,transparent)}.preview{white-space:pre-wrap;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-low);font:12px/18px ui-monospace,SFMono-Regular,Consolas,monospace}
dialog{width:min(600px,calc(100% - 32px));padding:0;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:var(--modal-radius);background:var(--card);color:var(--text);box-shadow:0 24px 80px rgba(24,28,34,.24)}dialog::backdrop{background:rgba(24,28,34,.46);backdrop-filter:blur(3px)}.dialog-card{display:grid;gap:14px;padding:24px}.dialog-card .form-actions{justify-content:flex-end;gap:8px}.toast{position:fixed;right:24px;bottom:24px;z-index:30;max-width:380px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--border) 56%,transparent);border-radius:12px;background:var(--primary);color:#fff;box-shadow:0 12px 38px rgba(24,28,34,.22)}
.history-dialog{width:min(1040px,calc(100% - 32px));max-height:calc(100vh - 48px)}.history-card{gap:12px;min-width:0}.history-card>[data-history-panel]{min-width:0}.history-tabs{display:flex;gap:6px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--border) 62%,transparent)}.history-tabs .active{background:var(--primary);color:#fff}.history-controls{display:flex;align-items:end;gap:10px;margin-bottom:10px}.history-controls label{width:min(260px,100%)}.chart-shell{min-width:0;overflow:hidden;padding:10px;border:1px solid color-mix(in srgb,var(--border) 62%,transparent);border-radius:12px;background:var(--surface-low)}#history-trend{width:100%;height:320px;min-height:260px}.history-table{max-width:100%;max-height:280px;margin-top:10px}.history-table table{min-width:720px}.history-table .failed-row td{color:var(--danger)}.history-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.empty-state.compact{margin:10px 0 0;padding:12px}
.pace-planner{display:grid;gap:5px;margin-bottom:9px;padding:10px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary-soft) 28%,var(--card))}.pace-fields{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(170px,.8fr) auto;align-items:end;gap:9px}.pace-actions{display:flex;gap:7px}.pace-planner p{margin:0;color:var(--muted);font-size:10px;line-height:15px}.pace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:9px}.pace-metric{display:grid;gap:2px;min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:10px;background:var(--surface-low)}.pace-metric>span,.pace-metric>small{overflow:hidden;color:var(--muted);font-size:10px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.pace-metric>strong{overflow:hidden;font-size:14px;line-height:19px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.pace-metric.recommendation{border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}.pace-metric.is-warning{border-color:color-mix(in srgb,var(--tertiary) 48%,var(--border));background:color-mix(in srgb,var(--tertiary) 8%,var(--card))}.pace-metric.is-danger{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger-soft) 30%,var(--card))}.pace-metric.is-good{border-color:color-mix(in srgb,var(--success) 36%,var(--border));background:color-mix(in srgb,var(--success-soft) 34%,var(--card))}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,var(--bg),var(--surface-low))}.auth-card{width:min(420px,100%);padding:28px;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:var(--modal-radius);background:var(--card);box-shadow:var(--shadow)}.auth-card .brand-mark{margin-bottom:20px}.auth-card .muted{margin-bottom:20px}.auth-card .button{width:100%}.form-error{margin:0;color:var(--danger);font-size:12px}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr;grid-template-areas:"overview" "monitor" "accounts" "qq" "templates" "notifications"}.monitor-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.dashboard-shell{width:min(100% - 32px,1400px);margin-top:16px}.topbar{height:56px;padding:0 16px}.brand>div>span{display:none}.stats{grid-template-columns:1fr 1fr}.template-grid,.account-card{grid-template-columns:1fr}.template-grid .form-actions,.account-title,.account-card>p,.account-actions{grid-column:1}.form-grid,.monitor-form{grid-template-columns:1fr}.form-grid .button{grid-column:1}.panel-head{align-items:flex-start}.account-actions{flex-wrap:wrap}.history-controls{align-items:stretch;flex-direction:column}.history-controls label{width:100%}.history-dialog .dialog-card{padding:16px}.history-tabs{overflow-x:auto}.pace-fields{grid-template-columns:1fr}.pace-actions{flex-wrap:wrap}.pace-metrics{grid-template-columns:1fr 1fr}#history-trend{height:270px;min-height:230px}}
@media(max-width:420px){.stats{grid-template-columns:1fr}.toolbar .button:not(.icon-only) span:last-child{display:none}.toolbar .button:not(.icon-only){width:32px;padding:5px}.panel{padding:14px}}
@media(prefers-reduced-motion:no-preference){.button,.account-card,.stat-card{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.stat-card:hover,.account-card:hover{box-shadow:0 6px 20px rgba(45,48,55,.07)}}
