:root{color-scheme:dark;--bg: #09090b;--panel: #101012;--panel-2: #17171a;--border: #26262b;--border-strong: #3f3f46;--text: #fafafa;--muted: #a1a1aa;--faint: #71717a;--accent: #fafafa;--ok: #34d399;--ok-bg: #05291c;--info: #7dd3fc;--info-bg: #0a2540;--warn: #fbbf24;--warn-bg: #3a2604;--danger: #f87171;--danger-bg: #3c0d0d;--radius: 12px;--focus: #6366f1;--hover: rgba(255, 255, 255, .025);--primary: #fafafa;--primary-text: #09090b;--shadow: none;--font: "Inter", ui-sans-serif, system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=light]{color-scheme:light;--bg: #f6f6f4;--panel: #ffffff;--panel-2: #f3f3f0;--border: #e6e6e1;--border-strong: #cfcfc8;--text: #1c1c1a;--muted: #5f5f5a;--faint: #8a8a83;--accent: #0f766e;--ok: #047857;--ok-bg: #e6f6ef;--info: #1d4ed8;--info-bg: #e8effc;--warn: #b45309;--warn-bg: #fdf1dc;--danger: #b91c1c;--danger-bg: #fde8e8;--focus: #0f766e;--hover: rgba(15, 118, 110, .05);--primary: #0f766e;--primary-text: #ffffff;--shadow: 0 1px 2px rgba(20, 20, 18, .05), 0 1px 1px rgba(20, 20, 18, .03)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;min-width:340px}button,input,select{font:inherit;color:inherit}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}.shell{width:min(1500px,100%);margin:0 auto;padding:28px 24px 72px;display:flex;flex-direction:column;gap:18px}.masthead{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.masthead h1{margin:0;font-size:clamp(1.35rem,2.6vw,1.8rem);letter-spacing:-.01em}.masthead .subtitle{margin:4px 0 0;color:var(--muted)}.masthead-side{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.server-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--muted);background:var(--panel)}.chip b{color:var(--text);font-weight:600}.chip.ok b{color:var(--ok)}.chip.warn b{color:var(--warn)}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 0}.card-title{margin:0;font-size:1rem;font-weight:650}.card-description{margin:3px 0 0;color:var(--muted);font-size:12.5px}.card-actions{display:flex;align-items:center;gap:8px}.card-body{padding:16px 18px 18px}.card-body.flush{padding:12px 0 0}.button{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:7px 13px;font-weight:600;cursor:pointer;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);transition:background .12s ease,border-color .12s ease}.button:hover:not(:disabled){background:var(--border)}.button-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.button-primary:hover:not(:disabled){filter:brightness(1.08)}.button-danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.button-danger:hover:not(:disabled){background:var(--danger);color:#fff}.button-ghost{background:transparent;border-color:transparent;color:var(--muted)}.button-ghost:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.button:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=password],input[type=number],input[type=search],input[type=datetime-local],select{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:8px;padding:7px 11px;min-width:0;color:var(--text)}input:focus-visible,select:focus-visible,.button:focus-visible,.tab:focus-visible,a:focus-visible,.nav-link:focus-visible,.filter-chip:focus-visible,.icon-button:focus-visible,.row-button:focus-visible,.device-card:focus-visible{outline:2px solid var(--focus);outline-offset:1px}input:disabled,select:disabled{opacity:.55}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:999px;padding:2.5px 9px;font-size:12px;font-weight:600;background:var(--panel-2);color:var(--muted);border:1px solid transparent}.badge-ok{color:var(--ok);background:var(--ok-bg)}.badge-info{color:var(--info);background:var(--info-bg)}.badge-warn{color:var(--warn);background:var(--warn-bg)}.badge-danger{color:var(--danger);background:var(--danger-bg)}.badge-outline{background:transparent;border-color:var(--border-strong);color:var(--muted)}.stat-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat-group h3{margin:0 0 8px;font-size:12.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:8px}.stat{border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:9px 11px;display:flex;flex-direction:column;gap:3px}.stat-label{color:var(--muted);font-size:11.5px}.stat-value{font-size:1.28rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-warn .stat-value{color:var(--warn)}.stat-danger .stat-value{color:var(--danger)}.stat-ok .stat-value{color:var(--ok)}.alert{border:1px solid;border-radius:10px;padding:10px 14px;font-size:13px}.alert p{margin:3px 0 0;color:var(--muted)}.alert-warn{border-color:#713f12;background:var(--warn-bg)}.alert-warn strong{color:var(--warn)}.alert-danger{border-color:#7f1d1d;background:var(--danger-bg)}.alert-danger strong{color:var(--danger)}.alert-info{border-color:#1e3a8a;background:var(--info-bg)}.alert-info strong{color:var(--info)}.alert-ok{border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:var(--ok-bg)}.alert-ok strong{color:var(--ok)}.pool{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1.4fr);gap:16px;align-items:stretch}.pool-take{border:1px solid var(--accent);border-radius:var(--radius);background:linear-gradient(180deg,var(--ok-bg),var(--panel) 75%);padding:18px;display:flex;flex-direction:column;gap:10px}.pool-take .money-amount{font-size:2rem;letter-spacing:-.02em}.pool-take .button{justify-content:center;padding-block:10px;font-size:14px}.pool-take-hint{color:var(--muted);font-size:12.5px;margin:0}.pool-rail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pool-step{position:relative;padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:var(--panel-2)}.pool-step+.pool-step{border-left:1px solid var(--border)}.pool-step-name{color:var(--muted);font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}.pool-step-name:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex:none}.pool-step.is-ready .pool-step-name{color:var(--text)}.pool-step.is-ready .pool-step-name:before{background:var(--warn)}.pool-step.is-paid .pool-step-name:before{background:var(--ok)}.pool-step-note{color:var(--faint);font-size:12px}.pool-transit{margin:12px 0 0;color:var(--muted);font-size:12.5px;display:flex;align-items:center;gap:8px}.pool-transit:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--info);animation:pool-pulse 1.4s ease-in-out infinite}@keyframes pool-pulse{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.pool-transit:before{animation:none}}@media (max-width: 720px){.pool,.pool-rail{grid-template-columns:1fr}.pool-step+.pool-step{border-left:0;border-top:1px solid var(--border)}}.tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--panel);max-width:100%;overflow-x:auto}.tab{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:6px 14px;cursor:pointer;font-weight:600;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 14px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;position:sticky;top:0;background:var(--panel)}tbody tr:hover{background:var(--hover)}tr.clickable{cursor:pointer}tr.selected td{background:var(--info-bg)}tbody tr:last-child td{border-bottom:0}td.mono{font-family:var(--mono);font-size:12.5px}td .dim,.dim{color:var(--faint)}tr.group-row td{background:var(--panel-2);font-weight:600;border-top:1px solid var(--border)}tr.group-row:first-child td{border-top:0}.empty{padding:34px 16px;text-align:center}.empty-title{margin:0;color:var(--muted);font-weight:600}.empty-hint{margin:4px 0 0;color:var(--faint);font-size:12.5px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 18px 12px}.filter-bar .spacer{flex:1}.chip-row{display:inline-flex;flex-wrap:wrap;gap:5px}.filter-chip{border:1px solid var(--border-strong);background:transparent;color:var(--muted);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600;cursor:pointer}.filter-chip:hover{color:var(--text)}.filter-chip.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.filter-bar input[type=search]{width:230px}.filter-bar select{padding:5px 9px}.progress{position:relative;display:inline-block;width:86px;height:16px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden;vertical-align:middle}.progress-bar{position:absolute;inset:0 auto 0 0;background:#3b82f6;opacity:.55}.progress-text{position:relative;display:block;text-align:center;font-size:10.5px;line-height:15px;color:var(--text)}.switch{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.switch.disabled{cursor:not-allowed;opacity:.6}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{flex:none;width:36px;height:20px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s ease;margin-top:1px}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--ok)}.switch input:checked+.switch-track .switch-thumb{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus);outline-offset:1px}.switch-text{display:flex;flex-direction:column;gap:2px}.switch-text small{color:var(--faint)}.field{display:flex;flex-direction:column;gap:5px}.field-label{color:var(--muted);font-size:12.5px;font-weight:600}.field-hint{color:var(--faint)}.field-error{color:var(--danger)}.field.invalid input{border-color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.form-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:14px}.form-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.form-message{font-size:13px}.form-message.ok{color:var(--ok)}.form-message.error{color:var(--danger)}.budget-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.connect-wrap{min-height:68vh;display:grid;place-items:center}.connect-card{width:min(420px,92vw);display:flex;flex-direction:column;gap:14px}.connect-card form{display:flex;flex-direction:column;gap:10px}.connect-error{color:var(--danger);min-height:18px;font-size:13px}.toolbar-note{color:var(--faint);font-size:12px}.secondary-entry{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.secondary-entry summary{cursor:pointer;color:var(--muted);font-size:12.5px;font-weight:600;margin-bottom:8px}.secondary-entry form{display:flex;flex-direction:column;gap:10px}a.button{text-decoration:none}.portal-account a{color:var(--info)}.health-badge{font-size:13px;padding:4px 12px}@media (max-width: 720px){.shell{padding:18px 12px 48px}.filter-bar input[type=search],.masthead-side{width:100%}}.portal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.portal-stats .stat{padding:14px 16px}.portal-stats .stat-value{font-size:1.7rem}.command-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.command-block code{font-family:var(--mono);font-size:12.5px;color:var(--text);overflow-x:auto;white-space:pre;flex:1;min-width:0}.key-create{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.key-create input{flex:1;min-width:180px}.secret-reveal{border:1px solid var(--ok);background:var(--ok-bg);border-radius:10px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.secret-reveal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.secret-reveal-head strong{color:var(--ok);font-size:13px}.secret-code{font-family:var(--mono);font-size:13px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:pre;word-break:break-all}.console{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;padding:18px 12px;gap:6px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px}.sidebar-brand .logo{width:28px;height:28px;border-radius:8px;background:var(--primary, #1f7a6f);color:var(--primary-text, #fff);display:inline-grid;place-items:center;font-weight:700;font-size:14px;flex:none}.sidebar-nav{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-identity{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);font-size:12.5px;margin-bottom:4px}.sidebar-identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-identity .dim{font-size:11.5px}.linkish{background:none;border:0;padding:0;margin-top:4px;color:var(--info);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left}.linkish:hover{text-decoration:underline}.sidebar-brand strong{font-size:15px;letter-spacing:-.01em}.sidebar-brand small{display:block;color:var(--faint);font-size:11.5px}.nav-section{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:12px 10px 4px;font-weight:600}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:var(--muted);font-weight:600;text-decoration:none;border:0;background:transparent;width:100%;text-align:left;cursor:pointer}.nav-link:hover{color:var(--text);background:var(--panel-2);text-decoration:none}.nav-link.active{color:var(--text);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--border-strong)}.nav-link .count{margin-left:auto}.nav-link.placeholder{color:var(--faint)}.nav-link.placeholder small{margin-left:auto;font-size:10.5px;font-weight:500}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding:0 4px}.console-main{min-width:0;display:flex;flex-direction:column}.console-content{padding:22px 26px 84px;display:flex;flex-direction:column;gap:18px;min-width:0}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.page-head h1{margin:0;font-size:1.35rem;letter-spacing:-.01em}.page-head .subtitle{margin:3px 0 0;color:var(--muted);font-size:13px}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.infobar{position:fixed;left:224px;right:0;bottom:0;border-top:1px solid var(--border);background:var(--panel);padding:7px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;z-index:5}.infobar .spacer{flex:1}.mobile-only{display:none}@media (max-width: 1100px){.console{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:7;height:auto;display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand foot" "nav nav";align-items:center;gap:6px 10px;border-right:0;border-bottom:1px solid var(--border);padding:8px 12px 6px}.sidebar-brand{grid-area:brand;padding:0}.sidebar-brand small{display:none}.sidebar-nav{grid-area:nav;flex-direction:row;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:2px 12px}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{display:none}.nav-link{width:auto;white-space:nowrap;padding:6px 10px;font-size:13px}.sidebar-foot{grid-area:foot;margin:0;flex-direction:row;align-items:center;gap:6px}.sidebar-identity{display:none}.mobile-only{display:inline-flex}.nav-switch{color:var(--info);margin-left:4px}.sidebar-foot .switch .switch-text{display:none}.sidebar-actions{flex-wrap:nowrap}.infobar{left:0;position:static}}.portal{min-height:100vh;display:flex;flex-direction:column}.portal-top{position:sticky;top:0;z-index:6;background:var(--panel);border-bottom:1px solid var(--border)}.portal-top-inner{width:min(1120px,100%);margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px}.portal-brand{display:flex;align-items:center;gap:9px;font-weight:700;white-space:nowrap}.portal-brand .logo{width:26px;height:26px;border-radius:7px;background:var(--primary);display:inline-grid;place-items:center;color:var(--primary-text);font-size:13px}.portal-nav{display:flex;gap:2px;margin-left:8px}.portal-nav .nav-link{padding:7px 12px}.portal-top-side{margin-left:auto;display:flex;align-items:center;gap:6px}.portal-content{width:min(1120px,100%);margin:0 auto;padding:22px 20px 72px;display:flex;flex-direction:column;gap:18px}.portal-tabbar{display:none}@media (max-width: 720px){.portal-nav{display:none}.portal-top-inner{padding:10px 14px}.portal-content{padding:16px 14px 96px}.portal-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--border);z-index:6;padding:4px 6px calc(4px + env(safe-area-inset-bottom))}.portal-tabbar .nav-link{flex-direction:column;gap:2px;font-size:11.5px;padding:6px 2px;align-items:center}}.money{display:inline-flex;flex-direction:column;line-height:1.2;font-variant-numeric:tabular-nums}.money-amount{font-weight:650}.money-currency{font-size:.72em;font-weight:600;color:var(--muted)}.money-quota{font-size:11.5px;color:var(--faint);font-weight:400}.money-lg .money-amount{font-size:2rem;letter-spacing:-.02em}.money-md .money-amount{font-size:1.15rem}.money-sm .money-quota{font-size:10.5px}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.hero{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.hero-label{color:var(--muted);font-size:12.5px;font-weight:600}.hero-note{color:var(--faint);font-size:12px}.hero.accent{border-color:var(--accent);background:linear-gradient(180deg,var(--ok-bg),var(--panel) 70%)}.status-strip{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13px;color:var(--muted)}.status-strip b{color:var(--text)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--faint)}.dot-ok{background:var(--ok)}.dot-info{background:var(--info)}.dot-warn{background:var(--warn)}.dot-danger{background:var(--danger)}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.device-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:14px 16px;display:flex;flex-direction:column;gap:8px;color:inherit;font:inherit}.device-card:hover{border-color:var(--border-strong)}.device-card-body{all:unset;display:flex;flex-direction:column;gap:8px;cursor:pointer;color:inherit;font:inherit}.device-card-body:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.device-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding-top:8px;margin-top:2px}.device-more{margin-top:0;color:var(--muted)}.device-card:hover .device-more{color:var(--info)}.device-card:hover{box-shadow:0 4px 14px #0000000f}.device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.device-list li+li{border-top:1px solid var(--border)}.device-row{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:8px 4px;cursor:pointer;font-size:13px;color:inherit;border-radius:6px}.device-row:hover{background:var(--panel-2)}.device-row:focus-visible{outline:2px solid var(--accent)}.device-row .status-dot{margin-right:0;flex:none}.device-row-name{font-weight:600;flex:none;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-row-state{color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-row-meta{flex:none;font-size:12px}.device-row-go{color:var(--faint);flex:none;font-size:16px;line-height:1}.device-card.offline{background:var(--panel-2)}.device-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.device-name{font-weight:650;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-meta{color:var(--muted);font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px 12px}.device-explain{font-size:12.5px;color:var(--muted)}.device-explain.warn{color:var(--warn)}.device-explain.danger{color:var(--danger)}.device-actions{display:flex;gap:6px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:13px}.kv dt{color:var(--muted);margin:0}.kv dd{margin:0;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.wizard{width:min(720px,100%);margin:0 auto;display:flex;flex-direction:column;gap:16px}.steps{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.step{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--faint);font-weight:600}.step i{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;font-size:11px;background:var(--panel-2);border:1px solid var(--border-strong)}.step.done i,.step.active i{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.step.active{color:var(--text)}.step+.step:before{content:"";width:18px;height:1px;background:var(--border-strong);margin-right:4px}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.option{text-align:left;border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;background:var(--panel);cursor:pointer;display:flex;flex-direction:column;gap:4px;color:inherit;font:inherit}.option:hover{border-color:var(--accent)}.option.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--ok-bg)}.option strong{font-size:14px}.option small{color:var(--muted)}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.seg button{border:0;background:transparent;color:var(--muted);padding:6px 12px;font-weight:600;cursor:pointer}.seg button.on{background:var(--primary);color:var(--primary-text)}.wait{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:10px}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.wait.ok{border-style:solid;border-color:var(--ok);background:var(--ok-bg)}pre.command{margin:0;font-family:var(--mono);font-size:12.5px;white-space:pre-wrap;word-break:break-all;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;line-height:1.5}.command-wrap{display:flex;flex-direction:column;gap:8px}.command-wrap .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.drawer-root{position:fixed;inset:0;z-index:20}.drawer-backdrop{position:absolute;inset:0;background:#00000073}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;outline:none;animation:slide .16s ease-out;box-shadow:-8px 0 30px #00000040}.drawer.wide{width:min(760px,100%)}@keyframes slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border)}.drawer-title{margin:0;font-size:1.05rem}.drawer-subtitle{margin:3px 0 0;color:var(--muted);font-size:12.5px;font-family:var(--mono)}.drawer-body{padding:16px 18px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.drawer-section h3{margin:0 0 8px;font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.icon-button{border:1px solid transparent;background:transparent;color:var(--muted);font-size:20px;line-height:1;width:30px;height:30px;border-radius:8px;cursor:pointer}.icon-button:hover{background:var(--panel-2);color:var(--text)}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.timeline li{display:grid;grid-template-columns:14px 1fr;gap:10px}.timeline li:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--border-strong);margin-top:5px}.timeline li.ok:before{background:var(--ok)}.timeline li.bad:before{background:var(--danger)}.timeline li.live:before{background:var(--info)}.timeline .tl-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.timeline .tl-meta{color:var(--faint);font-size:12px;margin-top:2px}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:30}.toast{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel);box-shadow:0 8px 24px #0003;font-size:13px;font-weight:600}.toast-ok{border-color:var(--ok);color:var(--ok)}.toast-error{border-color:var(--danger);color:var(--danger)}.error-block{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid var(--danger);background:var(--danger-bg);border-radius:10px;margin:12px 18px}.error-block.compact{margin:0;padding:10px 12px}.error-title{margin:0;font-weight:650;color:var(--danger)}.error-hint{margin:2px 0 0;color:var(--muted);font-size:12.5px}.skeleton{display:flex;flex-direction:column;gap:10px;padding:18px}.skeleton-row{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--panel-2),var(--border),var(--panel-2));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sparkline path{stroke:var(--info)}.sparkline.tone-ok path{stroke:var(--ok)}.sparkline.tone-warn path{stroke:var(--warn)}.sparkline.tone-danger path{stroke:var(--danger)}.trend-svg{width:100%;height:auto;display:block}.trend-grid{stroke:var(--border);stroke-dasharray:2 3}.trend-tick{fill:var(--faint);font-size:10px}.trend-line.tone-ok{stroke:var(--ok)}.trend-line.tone-warn{stroke:var(--warn)}.trend-line.tone-danger{stroke:var(--danger)}.trend-line.tone-info{stroke:var(--info)}.trend-line.tone-muted{stroke:var(--faint)}.trend-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:3px;border-radius:2px;background:var(--faint);vertical-align:middle;margin-right:2px}.legend.tone-ok i{background:var(--ok)}.legend.tone-warn i{background:var(--warn)}.legend.tone-danger i{background:var(--danger)}.legend.tone-info i{background:var(--info)}.legend b{color:var(--text);margin-left:4px;font-variant-numeric:tabular-nums}.trend-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.bars{display:flex;align-items:flex-end;gap:4px;height:120px;padding:0 2px;overflow-x:auto;overscroll-behavior-x:contain}.bars>.bar{flex:1 1 0;min-width:2px}.bar{background:var(--accent);opacity:.85;border-radius:3px 3px 0 0;position:relative}.bar:hover{opacity:1}.bar.empty{background:var(--border-strong);opacity:.6}.bar-labels{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--faint);margin-top:4px;white-space:nowrap}.ratio{display:inline-flex;align-items:center;gap:8px}.ratio-bar{display:inline-flex;width:84px;height:7px;border-radius:999px;overflow:hidden;background:var(--panel-2);border:1px solid var(--border)}.ratio-bar i{display:block;height:100%}.ratio-ok{background:var(--ok)}.ratio-bad{background:var(--danger)}.ratio-expired{background:var(--warn)}.ratio-text{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.pending-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.pending-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);text-align:left;cursor:pointer;color:inherit;font:inherit}.pending-item:hover{border-color:var(--border-strong)}.pending-item strong{font-size:1.3rem;font-variant-numeric:tabular-nums}.pending-item.hot strong{color:var(--danger)}.pending-item.warm strong{color:var(--warn)}.pending-item span{color:var(--muted);font-size:12.5px}.row-button{border:0;background:transparent;color:var(--info);padding:0;cursor:pointer;font:inherit}.row-button:hover{text-decoration:underline}.inline-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:12px}.inline-tabs .tab{border-radius:8px 8px 0 0}.inline-tabs .tab.active{box-shadow:inset 0 -2px 0 var(--accent);background:transparent}.muted-note{color:var(--faint);font-size:12px}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.wrap{white-space:normal}.stack{display:flex;flex-direction:column;gap:10px}.row-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.risk-filters{align-items:flex-end;margin-bottom:14px}.risk-filters .field select{min-width:180px}.checkbox-field{display:flex;flex-direction:row;align-items:center;gap:8px;align-self:flex-end;height:34px}.checkbox-field input{width:auto;margin:0}.checkbox-field span{white-space:nowrap}.breaker-row{align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border, rgba(127, 127, 127, .18))}.breaker-row:last-child{border-bottom:none}.rule-row .breaker-row select{min-width:110px}.rule-note{min-width:220px}.hardware-form{padding:6px 0 14px}.hardware-form .row-wrap{gap:18px}.hardware-form .field input{width:140px}.audit-filters{align-items:flex-end;margin-bottom:14px}.audit-filters .field input{min-width:160px}.audit-table td{vertical-align:top}.audit-row.open td{border-bottom:none}.audit-detail td{background:var(--surface-2, rgba(127, 127, 127, .06))}.audit-table{min-width:960px}.audit-table td:nth-child(1),.audit-table td:nth-child(2),.audit-table td:nth-child(3),.audit-table td:nth-child(5),.audit-table td:nth-child(6){white-space:nowrap}.audit-table td:nth-child(4){word-break:break-all;min-width:200px}.audit-table .badge{margin-left:6px}.audit-diff{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.audit-diff>div{min-width:0}.audit-diff pre{margin:4px 0 0;padding:8px 10px;border-radius:8px;background:var(--surface, rgba(0, 0, 0, .25));font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-all;max-height:320px;overflow:auto}.audit-pager{margin-top:12px}@media (max-width: 720px){.audit-diff{grid-template-columns:1fr}}.gate-brand{font-size:15px}.gate-other{margin:14px 0 0;color:var(--faint);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.gate-other~.secondary-entry{border-top:0;margin-top:2px;padding-top:6px}.reward-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.money-sm .money-amount{font-size:13px}.audit-action{display:block;font-weight:600}.audit-code{display:block;font-size:11px}.stat-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 720px){.hero-grid{grid-template-columns:1fr 1fr;gap:10px}.hero.accent{grid-column:1 / -1}.hero{padding:12px 14px}.money-lg .money-amount{font-size:1.6rem}.col-took,.col-device{display:none}.portal th,.portal td{padding:9px 10px}.device-row-meta{display:none}.kv{gap:6px 10px}.ratio{flex-wrap:wrap}}.row-detail>td{padding:4px 12px 12px;border-top:0}.verdict-panel{margin-top:8px;display:flex;flex-direction:column;gap:8px;max-width:620px}.verdict-advice{margin:0;color:var(--text)}.verdict-appeal{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-left:2px solid var(--border)}.verdict-appeal p{margin:0}.verdict-appeal-form{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.verdict-appeal-form textarea{width:100%;max-width:620px;font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.spark-steps{margin:0;padding-left:0;list-style:none;display:grid;gap:14px}.spark-steps>li{border-left:2px solid var(--line, #e5e3dc);padding-left:12px}.spark-steps .command-wrap{margin-top:6px}
