:root{color-scheme:light;--bg: #f6f6f3;--paper: var(--bg);--surface: #ffffff;--surface-2: #fafaf7;--surface-3: #f1f0ec;--line: rgba(28, 27, 23, .08);--line-strong: rgba(28, 27, 23, .15);--text: #1c1d22;--muted: rgba(28, 29, 34, .62);--faint: rgba(28, 29, 34, .42);--ink: #1c1d22;--brand: #ff5c35;--brand-2: #ffb236;--brand-grad: linear-gradient(135deg, #ff5c35, #ffb236);--brand-ink: #c93a16;--brand-tint: rgba(255, 92, 53, .08);--brand-line: rgba(255, 92, 53, .3);--ok: #0a7f57;--ok-dot: #10b981;--ok-tint: rgba(16, 185, 129, .12);--warn: #9a5b00;--warn-dot: #f59e0b;--warn-tint: rgba(245, 158, 11, .15);--bad: #cf1740;--bad-dot: #f43f5e;--bad-tint: rgba(244, 63, 94, .1);--info: #2156d9;--info-tint: rgba(37, 99, 235, .09);--radius: 12px;--radius-sm: 8px;--topbar-h: 124px;--shadow-1: 0 1px 2px rgba(28, 27, 23, .04), 0 2px 8px rgba(28, 27, 23, .04);--shadow-2: 0 16px 36px rgba(28, 27, 23, .1), 0 4px 12px rgba(28, 27, 23, .04);--font-ui: "Plus Jakarta Sans", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "PingFang SC", "Segoe UI", sans-serif;--font-num: "Outfit", "Bahnschrift", "Plus Jakarta Sans", "Segoe UI", sans-serif;--font-mono: "Cascadia Mono", "JetBrains Mono", Consolas, monospace}*{box-sizing:border-box}.admin-rail,.admin-workspace{min-width:0}.finance-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.finance-totals>div{display:flex;flex-direction:column;gap:8px;padding:20px 22px;border-right:1px solid var(--line)}.finance-totals>div:last-child{border-right:0}.finance-totals span,.finance-totals small{font-size:12px;color:var(--muted)}.finance-totals strong{font-family:var(--font-num);font-size:28px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.finance-table td:not(:first-child){white-space:nowrap;font-variant-numeric:tabular-nums}.finance-filters select{max-width:240px}.model-accounting{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:14px}.model-accounting h4{margin:0 0 12px}.model-accounting h4 small{margin-left:8px;font-weight:400;color:var(--muted)}.model-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:900px){.finance-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.model-price-grid{grid-template-columns:1fr}.finance-totals>div{padding:16px}.finance-totals strong{font-size:22px}}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-ui);font-size:14px;line-height:1.55;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::selection{background:#ff5c3533}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:20px 22px;margin-bottom:20px}.admin-card-title{margin:0 0 14px;font-size:15px;font-weight:700}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:16px}.admin-field{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-label{font-size:12.5px;font-weight:600;color:var(--muted)}.admin-field-help{font-size:12.5px;color:var(--muted)}.admin-input,.admin-select,.admin-textarea{height:36px;padding:0 12px;min-width:160px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.admin-input.narrow{min-width:96px;width:96px}.admin-input.wide,.admin-select.wide{width:100%;min-width:0}.admin-input.mono{font-family:var(--font-mono);font-size:13px}.admin-textarea{height:auto;padding:10px 12px;width:100%;resize:vertical;font-family:var(--font-mono);font-size:12.5px;line-height:1.6}.admin-input:hover:not(:disabled):not([readonly]),.admin-select:hover:not(:disabled){border-color:#1c1b1747}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #ff5c3524}.admin-input:disabled,.admin-select:disabled,.admin-input[readonly]{background:var(--surface-2);color:var(--muted)}.admin-input::placeholder,.admin-textarea::placeholder{color:var(--faint)}.admin-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--faint);transition:border-color .15s,box-shadow .15s}.admin-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #ff5c3524;color:var(--muted)}.admin-search input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;font:inherit;font-size:13.5px;color:var(--text)}.admin-search input::placeholder{color:var(--faint)}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.admin-btn:hover:not(:disabled){background:var(--surface-2);border-color:#1c1b1742}.admin-btn.primary{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff;box-shadow:0 1px 2px #c93a1640}.admin-btn.primary:hover:not(:disabled){background:#b3330f;border-color:#b3330f}.admin-btn.danger{color:var(--bad)}.admin-btn.danger:hover:not(:disabled){background:var(--bad-tint);border-color:#f43f5e59}.admin-btn.solid-danger{background:var(--bad);border-color:var(--bad);color:#fff;box-shadow:0 1px 2px #cf174040}.admin-btn.solid-danger:hover:not(:disabled){background:#b01236;border-color:#b01236}.admin-btn.solid-danger:focus-visible{outline-color:var(--bad-dot)}.admin-btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.admin-btn.ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--text)}.admin-btn.ghost.danger{color:var(--bad)}.admin-btn.ghost.danger:hover:not(:disabled){background:var(--bad-tint);color:var(--bad)}.admin-btn.small{height:30px;padding:0 10px;font-size:12.5px;border-radius:7px}.admin-btn.icon{width:36px;padding:0}.admin-btn.icon.small{width:30px}.admin-btn.link{border:none;background:none;padding:0 2px;height:auto;color:var(--brand-ink)}.admin-btn.link:hover:not(:disabled){background:none;text-decoration:underline}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;font-variant-numeric:tabular-nums}.admin-table th,.admin-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.admin-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-size:12.5px;font-weight:600}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:#fcfbf8}.admin-table tbody tr.selected td{background:var(--brand-tint)}.admin-table tbody tr.dim td{color:var(--faint)}.admin-table td.wrap{white-space:normal;max-width:280px}.admin-table .num{text-align:right;font-family:var(--font-num)}.admin-table .check{width:44px;padding-right:0}.admin-empty{padding:40px 24px;text-align:center;color:var(--muted)}.admin-mono{font-family:var(--font-mono);font-size:.92em}.admin-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--muted)}.admin-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.admin-badge.ok{background:var(--ok-tint);color:var(--ok)}.admin-badge.warn{background:var(--warn-tint);color:var(--warn)}.admin-badge.bad{background:var(--bad-tint);color:var(--bad)}.admin-badge.info{background:var(--info-tint);color:var(--info)}.admin-led{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--faint)}.admin-led.ok{background:var(--ok-dot);box-shadow:0 0 0 3px #10b9812e}.admin-led.warn{background:var(--warn-dot);box-shadow:0 0 0 3px #f59e0b33}.admin-led.bad{background:var(--bad-dot);box-shadow:0 0 0 3px #f43f5e29}.admin-led.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--faint)}.admin-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid transparent;border-radius:10px;margin-bottom:16px;font-size:13px;line-height:1.55}.admin-notice-info{background:var(--info-tint);color:var(--info);border-color:#2563eb29}.admin-notice-success{background:var(--ok-tint);color:var(--ok);border-color:#10b98133}.admin-notice-error{background:var(--bad-tint);color:var(--bad);border-color:#f43f5e33}.admin-notice-close{border:none;background:none;font-size:17px;cursor:pointer;color:inherit;line-height:1;opacity:.7}.admin-notice-close:hover{opacity:1}.admin-pagination{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:14px;color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.admin-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:18px 20px;transition:transform .2s,box-shadow .2s}.admin-stat:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.admin-stat-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:10px;background:var(--brand-tint);color:var(--brand-ink)}.admin-stat.tone-ok .admin-stat-icon{background:var(--ok-tint);color:var(--ok)}.admin-stat.tone-warn .admin-stat-icon{background:var(--warn-tint);color:var(--warn)}.admin-stat.tone-info .admin-stat-icon{background:var(--info-tint);color:var(--info)}.admin-stat-label{color:var(--muted);font-size:13px;font-weight:600}.admin-stat-value{font-family:var(--font-num);font-size:32px;font-weight:700;line-height:1.15;margin-top:4px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.admin-kv{display:grid;grid-template-columns:120px 1fr;gap:10px 16px;font-size:13.5px;margin:0}.admin-kv dt{color:var(--muted)}.admin-kv dd{margin:0;word-break:break-all}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.admin-hint{color:var(--muted);font-size:12.5px;margin:8px 0 0}pre.admin-json{margin:0;white-space:pre-wrap;font-family:var(--font-mono);font-size:12px;max-width:560px}.admin-text-bad{color:var(--bad)}.admin-text-ok{color:var(--ok)}.admin-credit{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.admin-credit-input{display:inline-flex;align-items:center;gap:6px}.admin-btn.active{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-ink)}.call-summary{display:flex;flex-wrap:wrap;gap:8px 22px;margin:4px 0 14px;color:var(--muted);font-size:13px}.call-summary strong{color:var(--text);font-family:var(--font-num);font-variant-numeric:tabular-nums}.call-error{max-width:340px;color:var(--bad);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-link{display:flex;align-items:flex-start;gap:8px}.call-link a,.call-link span{min-width:0;word-break:break-all;font-family:var(--font-mono);font-size:12px}.call-link a{color:var(--info)}.admin-table tr.call-row-failed td:first-child{box-shadow:inset 3px 0 0 var(--bad-dot)}details summary{cursor:pointer;color:var(--brand-ink);font-weight:600}.admin-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.admin-shell:before{content:"";position:fixed;inset:0 0 auto;height:2px;background:var(--brand-grad);z-index:40}.admin-rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#ffffff8c;border-right:1px solid var(--line)}.admin-brand{display:flex;align-items:center;gap:12px;padding:24px 22px 20px}.admin-brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--brand-grad);color:#fff;font-weight:800;font-size:17px;box-shadow:0 6px 16px #ff5c3552,inset 0 1px #ffffff59}.admin-brand-name{font-family:var(--font-num);font-weight:700;font-size:16px;line-height:1.2}.admin-brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.admin-nav{flex:1;overflow-y:auto;padding:6px 14px 16px}.admin-nav-group+.admin-nav-group{margin-top:20px}.admin-nav-label{padding:0 10px 8px;font-size:12px;font-weight:600;color:var(--faint)}.admin-nav button{position:relative;display:flex;align-items:center;gap:11px;width:100%;height:40px;padding:0 12px;margin-bottom:2px;border:1px solid transparent;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,color .15s}.admin-nav button:hover{background:#1c1b170a;color:var(--text)}.admin-nav button.active{background:var(--surface);border-color:var(--line);color:var(--text);font-weight:700;box-shadow:var(--shadow-1)}.admin-nav button.active:before{content:"";position:absolute;left:-14px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-grad)}.admin-nav button svg{flex-shrink:0}.admin-nav button.active svg{color:var(--brand)}.admin-user{display:flex;align-items:center;gap:10px;margin:12px 14px 16px;padding:10px 10px 10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-1)}.admin-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--brand-grad);color:#fff;font-weight:700;font-size:13px}.admin-user-meta{flex:1;min-width:0;line-height:1.3}.admin-user-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.admin-user-role{font-size:12px;color:var(--muted)}.admin-rail-btn{display:grid;place-items:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.admin-rail-btn:hover{background:var(--surface-3);color:var(--text)}.admin-workspace{min-width:0;display:flex;flex-direction:column}.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:flex-end;gap:16px;padding:26px 36px 20px;background:#f6f6f3db;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.admin-crumb{display:flex;align-items:center;font-size:12.5px;color:var(--faint)}.admin-crumb span+span:before{content:"/";margin:0 8px;color:var(--line-strong)}.admin-crumb span:last-child{color:var(--muted)}.admin-title{margin:6px 0 0;font-family:var(--font-num);font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.admin-subtitle{margin:6px 0 0;font-size:13.5px;color:var(--muted)}.admin-main{padding:28px 36px 48px;width:100%}.admin-main>*{animation:admin-rise .32s cubic-bezier(.16,1,.3,1) both}.admin-main>*:nth-child(2){animation-delay:.05s}.admin-main>*:nth-child(3){animation-delay:.1s}@keyframes admin-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.admin-main>*,.admin-drawer,.admin-modal,.admin-drawer-backdrop,.admin-confirm,.admin-confirm-backdrop,.admin-confirm-icon:after{animation:none!important}}.admin-drawer-backdrop{position:fixed;inset:0;z-index:50;background:#1c1b1752;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:admin-fade .18s ease-out}.admin-drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(800px,100%);overflow:auto;padding:22px 26px;background:var(--bg);border-left:1px solid var(--line);box-shadow:-24px 0 60px #1c1b1729;animation:admin-slide .24s cubic-bezier(.16,1,.3,1)}.admin-drawer.narrow{width:min(640px,100%)}.admin-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-drawer-head h2{margin:0;font-family:var(--font-num);font-size:18px;font-weight:700}.admin-drawer-foot{position:sticky;bottom:-22px;display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:20px -26px -22px;padding:14px 26px;background:#f6f6f3f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.admin-drawer-foot .admin-hint{margin:0 auto 0 0}.admin-modal{position:fixed;top:50%;left:50%;z-index:51;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;transform:translate(-50%,-50%);padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px #1c1b173d;animation:admin-pop .2s cubic-bezier(.16,1,.3,1)}.admin-modal.wide{width:min(760px,calc(100vw - 32px))}.admin-confirm-backdrop{position:fixed;inset:0;z-index:60;background:#1c1b1761;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:admin-fade .16s ease-out}.admin-confirm{position:fixed;top:50%;left:50%;z-index:61;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;transform:translate(-50%,-50%);margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 32px 80px #1c1b1742,0 6px 18px #1c1b170f;animation:admin-pop .2s cubic-bezier(.16,1,.3,1)}.admin-confirm:before{content:"";position:sticky;top:0;display:block;height:3px;background:var(--brand-grad)}.admin-confirm.danger:before{background:linear-gradient(90deg,var(--bad-dot),var(--brand) 70%,var(--brand-2))}.admin-confirm-body{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:22px 24px 20px}.admin-confirm-icon{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--brand-tint);color:var(--brand-ink)}.admin-confirm.danger .admin-confirm-icon{background:var(--bad-tint);color:var(--bad)}.admin-confirm.danger .admin-confirm-icon:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 #f43f5e52;animation:admin-confirm-ring .9s .12s ease-out both}.admin-confirm-text{min-width:0;padding-top:1px}.admin-confirm-title{margin:0;font-family:var(--font-num);font-size:17px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.admin-confirm-subject{display:block;width:fit-content;max-width:100%;margin-top:10px;padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-3);color:var(--text);font-family:var(--font-mono);font-size:12.5px;line-height:1.5;word-break:break-all;-webkit-user-select:all;user-select:all}.admin-confirm.danger .admin-confirm-subject{border-color:#f43f5e38;background:#f43f5e0d}.admin-confirm-message{margin:10px 0 0;color:var(--muted);font-size:13.5px;line-height:1.65;white-space:pre-line}.admin-confirm-require{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:12.5px;font-weight:600;color:var(--muted)}.admin-confirm-require code{padding:1px 6px;border-radius:5px;background:var(--surface-3);color:var(--text);font-family:var(--font-mono);font-size:12px;font-weight:500}.admin-confirm-require .admin-input{width:100%;min-width:0}.admin-confirm.danger .admin-confirm-require .admin-input:focus{border-color:var(--bad-dot);box-shadow:0 0 0 3px #f43f5e24}.admin-confirm-require .admin-input.matched{border-color:var(--ok-dot)}.admin-confirm-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;background:var(--surface-2);border-top:1px solid var(--line)}.admin-confirm-foot .admin-btn{min-width:88px}@keyframes admin-confirm-ring{to{box-shadow:0 0 0 10px #f43f5e00}}@media(max-width:480px){.admin-confirm-body{grid-template-columns:1fr;gap:12px;padding:20px 18px 16px}.admin-confirm-foot{padding:12px 18px}.admin-confirm-foot .admin-btn{flex:1}}@keyframes admin-fade{0%{opacity:0}}@keyframes admin-slide{0%{transform:translate(32px);opacity:.4}}@keyframes admin-pop{0%{transform:translate(-50%,-48%) scale(.98);opacity:0}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background-color:var(--bg);background-image:radial-gradient(rgba(28,27,23,.07) 1px,transparent 1px);background-size:22px 22px}.admin-login-card{position:relative;display:flex;flex-direction:column;gap:6px;width:400px;max-width:100%;padding:34px 32px 30px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px #1c1b171a}.admin-login-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--brand-grad)}.admin-login-mark{align-self:center;margin-bottom:14px;width:52px;height:52px;font-size:24px;border-radius:14px}.admin-login-title{margin:0;font-family:var(--font-num);font-size:22px;font-weight:700;text-align:center}.admin-login-subtitle{margin:2px 0 18px;text-align:center;color:var(--muted);font-size:13.5px}.admin-login-card .admin-input{height:42px;min-width:0;margin-bottom:12px}.admin-login-submit{height:42px;margin-top:8px}@media(max-width:960px){.admin-shell{grid-template-columns:1fr}.admin-rail{position:static;height:auto}.admin-brand{padding:16px}.admin-nav{display:flex;gap:4px;overflow-x:auto;padding:0 10px 10px}.admin-nav-group{display:flex;gap:4px;margin:0!important}.admin-nav-label,.admin-user{display:none}.admin-nav button{width:auto;white-space:nowrap}.admin-nav button.active:before{display:none}.admin-topbar{position:static;padding:18px 16px 14px}.admin-main{padding:18px 16px 32px}}.cat-split{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.cat-list{position:sticky;top:calc(var(--topbar-h) + 20px);display:flex;flex-direction:column;max-height:calc(100vh - var(--topbar-h) - 44px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.cat-list-head{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.cat-list-head .admin-search{flex:1;min-width:0}.cat-list-body{flex:1;overflow-y:auto;padding:6px}.cat-list-section{padding:14px 10px 6px;font-size:12px;font-weight:600;color:var(--faint)}.cat-item{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:2px 12px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.cat-item:hover{background:var(--surface-2)}.cat-item.active{background:var(--brand-tint);border-color:var(--brand-line)}.cat-item .cat-tile{grid-row:1 / 3}.cat-item-name{display:flex;align-items:center;gap:7px;min-width:0;font-weight:700;font-size:14px}.cat-item-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-item-meta{grid-column:2 / 4;font-family:var(--font-mono);font-size:12px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-item-count{padding:1px 8px;border-radius:999px;background:var(--surface-3);font-family:var(--font-num);font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.cat-item.active .cat-item-count{background:#fff;color:var(--brand-ink)}.cat-item.ghost{color:var(--muted)}.cat-item.ghost .cat-item-name{font-weight:500}.cat-item.ghost:hover{color:var(--text)}.cat-item.ghost .cat-tile{background:var(--surface-3)!important;color:var(--faint);box-shadow:inset 0 0 0 1px var(--line)}.cat-tile{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;background:hsl(var(--tile-hue) 85% 94%);color:hsl(var(--tile-hue) 70% 32%);font-family:var(--font-num);font-weight:800;font-size:15px;box-shadow:inset 0 0 0 1px hsl(var(--tile-hue) 60% 86%)}.cat-tile.large{width:52px;height:52px;border-radius:14px;font-size:22px}.cat-detail{display:flex;flex-direction:column;gap:20px;min-width:0}.cat-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.cat-panel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:56px;padding:12px 20px;border-bottom:1px solid var(--line)}.cat-panel-head h3{margin:0;font-size:15px;font-weight:700}.cat-panel-head .spacer{flex:1}.cat-panel-body{padding:20px}.cat-panel-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}.cat-panel-foot .admin-hint{margin:0 auto 0 0}.cat-count{padding:1px 9px;border-radius:999px;background:var(--surface-3);font-family:var(--font-num);font-size:12.5px;font-weight:600;color:var(--muted)}.cat-hero{display:flex;align-items:center;gap:16px;padding:20px 22px}.cat-hero-main{flex:1;min-width:0}.cat-hero-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cat-hero h2{margin:0;font-family:var(--font-num);font-size:22px;font-weight:700;letter-spacing:-.01em}.cat-kind{padding:2px 8px;border-radius:6px;background:var(--surface-3);font-family:var(--font-mono);font-size:12px;color:var(--muted)}.cat-hero-url{margin-top:4px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-hero-actions{display:flex;align-items:center;gap:12px}.cat-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.cat-stat{padding:14px 22px;min-width:0}.cat-stat+.cat-stat{border-left:1px solid var(--line)}.cat-stat-label{font-size:12px;font-weight:600;color:var(--faint)}.cat-stat-value{margin-top:3px;font-family:var(--font-num);font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.cat-stat-value.mono{font-family:var(--font-mono);font-size:14px;font-weight:600}.cat-stat-value small{margin-left:2px;font-size:13px;font-weight:600;color:var(--faint)}.cat-empty{display:grid;place-items:center;min-height:320px;padding:32px;color:var(--muted);text-align:center}.cat-empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:var(--brand-tint);color:var(--brand-ink)}.cat-empty p{margin:0 0 16px}.cat-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.cat-form .full{grid-column:1 / -1}.cat-form .admin-input,.cat-form .admin-select{width:100%;min-width:0}.cat-secret{display:flex;align-items:center;gap:6px}.cat-secret-value{flex:1;min-width:0;height:36px;display:flex;align-items:center;padding:0 12px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cat-secret-value.revealed{color:var(--text);border-style:solid;background:#fff;-webkit-user-select:all;user-select:all;letter-spacing:0}.cat-secret-value.clearing{color:var(--bad);border-color:#f43f5e66;background:var(--bad-tint)}.cat-secret .admin-input{flex:1;min-width:0}.cat-models-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line)}.cat-models-toolbar .admin-search{width:280px}.cat-bulkbar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--ink);color:#fff;font-size:13px;font-weight:600}.cat-bulkbar .admin-btn{background:transparent;color:#fff;border-color:#ffffff3d}.cat-bulkbar .admin-btn:hover:not(:disabled){background:#ffffff14;border-color:#fff}.cat-bulkbar .admin-btn.danger{color:#ff9cb0}.cat-addrow{display:flex;gap:10px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--surface-2)}.cat-addrow .admin-input{flex:1}.cat-models .admin-table th,.cat-models .admin-table td{padding-top:10px;padding-bottom:10px}.cat-models .admin-table td:first-child,.cat-models .admin-table th:first-child{padding-left:20px}.cat-models .admin-table td:last-child,.cat-models .admin-table th:last-child{padding-right:16px}.cat-models .col-switch{width:72px}.cat-models .col-cap{width:140px}.cat-models .col-time{width:170px;color:var(--muted)}.cat-models .col-actions{width:96px;text-align:right}.cat-row-actions{display:inline-flex;gap:2px;opacity:.55;transition:opacity .15s}.cat-models tr:hover .cat-row-actions,.cat-row-actions:focus-within{opacity:1}.cat-model-name{font-weight:700}.cat-model-id{display:block;margin-top:1px;font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--faint)}.cat-params{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.cat-price{font-family:var(--font-num);font-weight:600;font-variant-numeric:tabular-nums}.cat-price.muted,.cat-params.muted{font-family:var(--font-ui);font-weight:400;font-size:12.5px;color:var(--faint)}.admin-seg{display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:var(--surface-3)}.admin-seg button{height:28px;padding:0 12px;border:none;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.admin-seg button:hover{color:var(--text)}.admin-seg button.active{background:#fff;color:var(--text);box-shadow:0 1px 3px #1c1b171f}.admin-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;border:none;padding:0;border-radius:999px;background:#1c1b172e;cursor:pointer;transition:background .18s;vertical-align:middle}.admin-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000038;transition:transform .18s cubic-bezier(.16,1,.3,1)}.admin-switch.on{background:var(--ok-dot)}.admin-switch.on:after{transform:translate(16px)}.admin-switch:disabled{opacity:.5;cursor:not-allowed}.admin-switch-label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.cap-tags{display:inline-flex;gap:4px;flex-wrap:wrap}.cap-tag{display:inline-block;padding:0 8px;height:22px;line-height:22px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-3);color:var(--muted)}.cap-tag.video{background:var(--brand-tint);color:var(--brand-ink)}.cap-tag.image{background:var(--info-tint);color:var(--info)}.cap-tag.text{background:var(--ok-tint);color:var(--ok)}.cap-tag.audio{background:#7c3aed1a;color:#6d28d9}.cap-picker{display:flex;gap:6px;flex-wrap:wrap}.cap-picker button{height:32px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.cap-picker button.active{border-color:var(--brand-line);background:var(--brand-tint);color:var(--brand-ink)}@media(max-width:1280px){.cat-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-stat:nth-child(3){border-left:none}.cat-stat:nth-child(n+3){border-top:1px solid var(--line)}}@media(max-width:1100px){.cat-split{grid-template-columns:1fr}.cat-list{position:static;max-height:360px}}.picker-list{max-height:52vh;overflow-y:auto;border:1px solid var(--line);border-radius:10px}.picker-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line);cursor:pointer}.picker-row:last-child{border-bottom:none}.picker-row:hover{background:var(--surface-2)}.picker-row.added{cursor:default;color:var(--faint)}.picker-row .admin-mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-owner{font-size:11px;color:var(--faint)}.vc-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);margin-top:16px}.vc-section>h4{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:12px 18px;font-size:14px;border-bottom:1px solid var(--line)}.vc-section>h4 .admin-seg{flex-shrink:0;white-space:nowrap}.cat-form .admin-credit-input{white-space:nowrap;max-width:100%}.cat-form .admin-credit-input .admin-input{width:120px}.vc-section>h4 small{font-weight:400;color:var(--muted);font-size:11.5px}.vc-template{padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}.vc-template-controls{display:flex;align-items:flex-end;gap:10px}.vc-template-controls .admin-field{flex:1;min-width:0}.vc-template-controls .admin-select{width:100%;min-width:0}.vc-template-controls>.admin-btn{flex-shrink:0}.vc-template p{margin:8px 0 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.vc-template-summary{color:var(--muted);font-family:var(--font-mono)}.vc-template-applied{color:var(--ok)}.vc-template .vc-error .admin-btn{margin-left:8px}.vc-section-body{padding:4px 18px 18px;display:grid;gap:0}.vc-group{display:grid;gap:14px;padding:16px 0 18px}.vc-group+.vc-group{border-top:1px solid var(--line)}.vc-group:last-child{padding-bottom:0}.vc-group-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vc-group-head .vc-group-title{margin-right:auto}.vc-group-title{font-size:14px;font-weight:700}.vc-group-desc{margin:-6px 0 0;font-size:12.5px;color:var(--muted)}.vc-price-col{width:110px;min-width:95px}.vc-tiers{min-width:590px}.text-price-preview{display:grid;gap:5px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:12px}.text-price-preview small{color:var(--muted)}.text-pricing-rules{display:grid;gap:14px;margin:16px 0 12px}.text-pricing-rule{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr);gap:20px;align-items:end}.text-pricing-rule strong{font-size:13px}.text-pricing-rule .admin-hint{margin-bottom:0}.text-pricing-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.text-pricing-table th,.text-pricing-table td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--line)}.text-pricing-table thead th{color:var(--muted);font-weight:400}.text-pricing-table tr>:first-child{white-space:nowrap}.text-pricing-table tbody td{font-family:var(--font-num);font-weight:600}.text-pricing-table tbody tr:last-child>*{border-bottom:0}.text-price-advanced{margin-top:14px;border-top:1px solid var(--line)}.text-price-advanced summary{cursor:pointer;padding:12px 0;color:var(--muted);font-size:12px}.text-price-advanced>.model-accounting,.text-price-advanced>.admin-field{margin-top:16px}.text-price-overrides{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;color:var(--warn);font-size:12px}.official-price-reference{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-left:3px solid var(--brand);background:var(--surface-2)}.official-price-value{display:grid;gap:3px;font-variant-numeric:tabular-nums}.official-price-value strong{white-space:nowrap;font-family:var(--font-num);font-size:14px}.official-price-value small{color:var(--muted);font-weight:400;font-size:11px;overflow-wrap:anywhere}.cat-official-price{min-width:150px;max-width:220px}.cat-official-note{display:flex;flex-wrap:wrap;gap:4px 16px;padding:8px 20px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.vc-default-tag{margin-left:6px;padding:0 6px;border-radius:4px;background:var(--brand-tint);color:var(--brand-ink);font-family:var(--font-ui);font-size:11px;font-weight:600;vertical-align:1px}.vc-tier-empty{padding:18px;border:1px dashed var(--line-strong);border-radius:10px;text-align:center;font-size:13px;color:var(--muted)}.vc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.vc-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.vc-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.vc-row .admin-input,.vc-row .admin-select{width:100%;min-width:0}.vc-ratios{display:flex;flex-wrap:wrap;gap:4px}.vc-ratios button{position:relative;height:30px;min-width:52px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font-family:var(--font-num);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}.vc-ratios button.active{border-color:var(--brand-line);background:var(--brand-tint);color:var(--brand-ink)}.vc-ratios button.default:after{content:"默认";position:absolute;top:-7px;right:-4px;padding:0 3px;border-radius:2px;background:var(--brand);color:#fff;font-family:var(--font-ui);font-size:9px;line-height:13px}.vc-tiers .admin-input{width:100%;min-width:0;height:28px}.vc-tiers td{padding:5px 6px}.vc-tiers td:first-child{font-family:var(--font-num);font-weight:600;padding-left:0}.vc-defaults{padding:12px 14px;display:grid;grid-template-columns:90px 1fr;gap:6px 12px;font-size:12.5px;color:var(--muted)}.vc-defaults dd{margin:0;color:var(--text);font-family:var(--font-mono);font-size:12px}.vc-error{color:var(--bad);margin:10px 0 0}.os-choice{display:flex;flex-direction:column;gap:2px;padding:6px}.os-option{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px;border:1px solid transparent;border-radius:10px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.os-option:hover{background:var(--surface-2)}.os-option.editing{background:var(--brand-tint);border-color:var(--brand-line)}.os-option input{margin:0;accent-color:var(--brand)}.os-option-name{font-weight:700}.os-option-desc{grid-column:2 / 4;font-size:12.5px;color:var(--muted)}.os-checks{display:flex;flex-wrap:wrap;gap:8px 20px}.os-checks label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.os-checks input{accent-color:var(--brand)}.wiz-steps{list-style:none;padding:0;display:flex;gap:0;margin:0 0 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.wiz-step{flex:1;display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:600;color:var(--faint)}.wiz-step+.wiz-step{border-left:1px solid var(--line)}.wiz-step b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font-family:var(--font-num);font-size:12px}.wiz-step.current{color:var(--brand-ink);background:var(--brand-tint)}.wiz-step.current b{border-color:var(--brand);background:var(--brand);color:#fff}.wiz-step.done{color:var(--ok)}.wiz-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wiz-file{position:relative;display:flex;flex-direction:column;gap:6px;min-height:132px;padding:18px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.wiz-file:hover{border-color:var(--brand-line);background:#fffcfa}.wiz-file.loaded{border-style:solid;border-color:#15803d73;background:#15803d08}.wiz-file.failed{border-style:solid;border-color:#be123c73}.wiz-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.wiz-file-name{font-family:var(--font-mono);font-weight:600}.wiz-file-state{font-size:12px;color:var(--muted)}.wiz-file.loaded .wiz-file-state{color:var(--ok)}.wiz-file.failed .wiz-file-state{color:var(--bad)}.wiz-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.wiz-summary>div{background:var(--surface);padding:10px 14px}.wiz-summary span{display:block;font-size:12px;color:var(--muted)}.wiz-summary strong{font-family:var(--font-num);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.wiz-reason{color:var(--muted);font-size:12px}@media(max-width:900px){.wiz-files,.vc-row,.vc-row.four,.wiz-summary{grid-template-columns:1fr}}@media(max-width:540px){.text-pricing-rule{grid-template-columns:1fr;gap:8px}.vc-template-controls{flex-wrap:wrap}.vc-template-controls .admin-field{flex-basis:100%}}
