:root{--night:#1e0f24;--purple:#7a45e0;--pink:#ff5fa2;--flame:#ff7a1a;--lime:#d8f25c;--green:#3faf6a;--chalk:#fff6e9;--font-head:"Bricolage Grotesque", "DM Sans", system-ui, sans-serif;--font-body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--sidebar-w:248px;--topbar-h:60px;--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#140a19;--bg-glow:radial-gradient(1100px 520px at 12% -10%, #7a45e029, transparent 60%), radial-gradient(900px 480px at 100% 0%, #ff5fa212, transparent 55%);--surface:#1c0f23;--surface-2:#24142d;--surface-3:#2d1b38;--raised:#251530;--overlay:#0a040ea8;--hairline:#fff6e914;--hairline-strong:#fff6e924;--text:#fff6e9;--text-2:#fff6e9ad;--text-3:#fff6e970;--accent:#9b6cf2;--accent-strong:#7a45e0;--accent-soft:#7a45e02e;--accent-text:#c4a6ff;--on-accent:#fff6e9;--success:#4fc47f;--success-soft:#3faf6a29;--warning:#ff9445;--warning-soft:#ff7a1a26;--danger:#ff5f87;--danger-soft:#ff5f8726;--info:#6fb6ff;--info-soft:#6fb6ff24;--highlight:#d8f25c;--mainland:#ff7a1a;--island:#9b6cf2;--chart-1:#9b6cf2;--chart-2:#ff5fa2;--chart-3:#d8f25c;--grid:#fff6e90f;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px -8px #0000008c, 0 1px 0 #fff6e90a inset;--shadow-lg:0 24px 64px -16px #000000b3, 0 0 0 1px #fff6e90f;--focus:0 0 0 3px #9b6cf273;--skeleton:linear-gradient(90deg, #fff6e90a, #fff6e917, #fff6e90a);--logo-dark:block;--logo-light:none}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbf4ea;--bg-glow:radial-gradient(1100px 520px at 12% -10%, #7a45e017, transparent 60%), radial-gradient(900px 480px at 100% 0%, #ff7a1a0f, transparent 55%);--surface:#fffcf7;--surface-2:#f6eddf;--surface-3:#efe3d1;--raised:#fff;--overlay:#1e0f2461;--hairline:#1e0f2417;--hairline-strong:#1e0f2429;--text:#1e0f24;--text-2:#1e0f24ad;--text-3:#1e0f2475;--accent:#7a45e0;--accent-strong:#6a36d4;--accent-soft:#7a45e01c;--accent-text:#5f2ec4;--success:#23874c;--success-soft:#3faf6a24;--warning:#c75400;--warning-soft:#ff7a1a24;--danger:#d12b5c;--danger-soft:#d12b5c1a;--info:#1f6fc4;--info-soft:#1f6fc41a;--highlight:#7a8f12;--mainland:#f06a0a;--island:#7a45e0;--chart-1:#7a45e0;--chart-2:#ff5fa2;--chart-3:#a8c22a;--grid:#1e0f2412;--shadow-sm:0 1px 2px #1e0f240f;--shadow-md:0 8px 24px -10px #1e0f2429, 0 1px 2px #1e0f240a;--shadow-lg:0 24px 64px -16px #1e0f2447, 0 0 0 1px #1e0f240f;--focus:0 0 0 3px #7a45e04d;--skeleton:linear-gradient(90deg, #1e0f240a, #1e0f2414, #1e0f240a);--logo-dark:none;--logo-light:block}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbf4ea;--bg-glow:radial-gradient(1100px 520px at 12% -10%, #7a45e017, transparent 60%), radial-gradient(900px 480px at 100% 0%, #ff7a1a0f, transparent 55%);--surface:#fffcf7;--surface-2:#f6eddf;--surface-3:#efe3d1;--raised:#fff;--overlay:#1e0f2461;--hairline:#1e0f2417;--hairline-strong:#1e0f2429;--text:#1e0f24;--text-2:#1e0f24ad;--text-3:#1e0f2475;--accent:#7a45e0;--accent-strong:#6a36d4;--accent-soft:#7a45e01c;--accent-text:#5f2ec4;--success:#23874c;--success-soft:#3faf6a24;--warning:#c75400;--warning-soft:#ff7a1a24;--danger:#d12b5c;--danger-soft:#d12b5c1a;--info:#1f6fc4;--info-soft:#1f6fc41a;--highlight:#7a8f12;--mainland:#f06a0a;--island:#7a45e0;--chart-1:#7a45e0;--chart-2:#ff5fa2;--chart-3:#a8c22a;--grid:#1e0f2412;--shadow-sm:0 1px 2px #1e0f240f;--shadow-md:0 8px 24px -10px #1e0f2429, 0 1px 2px #1e0f240a;--shadow-lg:0 24px 64px -16px #1e0f2447, 0 0 0 1px #1e0f240f;--focus:0 0 0 3px #7a45e04d;--skeleton:linear-gradient(90deg, #1e0f240a, #1e0f2414, #1e0f240a);--logo-dark:none;--logo-light:block}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);background-image:var(--bg-glow);min-height:100vh;color:var(--text);font:400 14px / 1.5 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01";background-attachment:fixed;margin:0}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{box-shadow:var(--focus);outline:none}::selection{background:#7a45e066}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.num{font-feature-settings:"tnum"}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.logo-dark{display:var(--logo-dark)}.logo-light{display:var(--logo-light)}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--hairline);background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;flex-direction:column;gap:4px;height:100vh;padding:18px 12px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 10px 18px;display:flex}.brand img{width:auto;height:22px}.brand-tag{font:600 10px / 1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft);border-radius:5px;padding:4px 6px 3px}.nav-section{font:600 10.5px / 1 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin:14px 10px 6px}.nav-link{border-radius:var(--r-sm);height:36px;color:var(--text-2);align-items:center;gap:11px;padding:0 10px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-link svg{opacity:.85;flex:none;width:17px;height:17px}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--text)}.nav-link.active svg{color:var(--accent-text);opacity:1}.nav-link.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px}.nav-count{min-width:22px;height:20px;font:500 11px / 1 var(--font-mono);background:var(--warning-soft);color:var(--warning);border-radius:10px;place-items:center;margin-left:auto;padding:0 6px;display:grid}.sidebar-foot{flex-direction:column;gap:6px;margin-top:auto;display:flex}.me-card{border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-2);text-align:left;align-items:center;gap:10px;width:100%;padding:10px;transition:border-color .15s;display:flex}.me-card:hover{border-color:var(--hairline-strong)}.me-card .who{flex:1;min-width:0}.me-card .who b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.me-card .who span{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.avatar{width:32px;height:32px;font:700 12px / 1 var(--font-body);color:#fff6e9;background:linear-gradient(135deg, var(--purple), var(--pink));box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;place-items:center;display:grid}.avatar.lg{width:52px;height:52px;font-size:18px}.avatar.alt-1{background:linear-gradient(135deg, var(--flame), var(--pink))}.avatar.alt-2{background:linear-gradient(135deg, var(--green), #2c8a8a)}.avatar.alt-3{background:linear-gradient(135deg,#5a2db8,#2a7bd8)}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);border-bottom:1px solid var(--hairline);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);align-items:center;gap:12px;padding:0 28px;display:flex;position:sticky;top:0}.crumbs{min-width:0;color:var(--text-3);align-items:center;gap:8px;font-weight:500;display:flex}.crumbs a:hover{color:var(--text)}.crumbs b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.search-trigger{border-radius:var(--r-sm);border:1px solid var(--hairline);background:var(--surface);width:280px;height:36px;color:var(--text-3);align-items:center;gap:10px;padding:0 8px 0 12px;transition:border-color .15s;display:flex}.search-trigger:hover{border-color:var(--hairline-strong);color:var(--text-2)}.search-trigger svg{width:16px;height:16px}.search-trigger span{text-align:left;flex:1}kbd{font:500 11px / 1 var(--font-mono);border:1px solid var(--hairline-strong);background:var(--surface-2);color:var(--text-2);border-radius:5px;padding:4px 6px}.icon-btn.menu-btn{display:none}.content{width:100%;max-width:1320px;margin:0 auto;padding:28px 28px 64px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-size:30px}.page-head p{color:var(--text-2);max-width:640px;margin-top:6px}.page-head .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.eyebrow{font:600 11px / 1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);align-items:center;gap:6px;margin-bottom:10px;display:inline-flex}.btn{--btn-bg:var(--surface-2);--btn-fg:var(--text);--btn-border:var(--hairline-strong);border-radius:var(--r-sm);border:1px solid var(--btn-border);background:var(--btn-bg);height:36px;color:var(--btn-fg);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s,opacity .15s;display:inline-flex}.btn svg{flex:none;width:16px;height:16px}.btn:hover{border-color:var(--text-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{--btn-bg:linear-gradient(180deg, #8d5bf0, #7341dc);--btn-fg:#fff6e9;--btn-border:transparent;background:var(--btn-bg);box-shadow:inset 0 1px #ffffff2e,0 6px 16px -6px #7a45e0bf}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{--btn-bg:var(--danger-soft);--btn-fg:var(--danger);--btn-border:color-mix(in srgb, var(--danger) 35%, transparent)}.btn.danger.solid{--btn-bg:var(--danger);--btn-fg:#fff;--btn-border:transparent}.btn.success{--btn-bg:var(--success-soft);--btn-fg:var(--success);--btn-border:color-mix(in srgb, var(--success) 35%, transparent)}.btn.success.solid{--btn-bg:var(--green);--btn-fg:#fff;--btn-border:transparent}.btn.ghost{--btn-bg:transparent;--btn-border:transparent;--btn-fg:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.sm{height:30px;padding:0 10px;font-size:12.5px}.btn.lg{height:44px;padding:0 18px;font-size:14.5px}.btn.block{width:100%}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-2);background:0 0;border:1px solid #0000;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:18px;height:18px}.icon-btn.sm{width:28px;height:28px}.icon-btn.sm svg{width:15px;height:15px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);position:relative}.card-head{align-items:center;gap:12px;padding:16px 18px 0;display:flex}.card-head h2,.card-head h3{font-size:15px;font-family:var(--font-body);letter-spacing:-.005em;font-weight:700}.card-head .sub{color:var(--text-3);font-size:12.5px}.card-head .right{align-items:center;gap:8px;margin-left:auto;display:flex}.card-body{padding:16px 18px 18px}.card.pad{padding:18px}.grid{gap:16px;display:grid}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.kpi{padding:16px 18px 14px;overflow:hidden}.kpi-label{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.kpi-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-text);border-radius:8px;place-items:center;display:grid}.kpi-icon svg{width:15px;height:15px}.kpi-icon.pink{color:var(--pink);background:#ff5fa224}.kpi-icon.flame{background:var(--warning-soft);color:var(--warning)}.kpi-icon.green{background:var(--success-soft);color:var(--success)}.kpi-icon.lime{color:var(--highlight);background:#d8f25c24}.kpi-value{font:500 30px / 1 var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:12px}.kpi-foot{color:var(--text-3);margin-top:10px;font-size:12.5px;line-height:1.6;display:block}.kpi .spark{opacity:.9;width:92px;height:34px;position:absolute;top:58px;right:16px}.delta{font:500 12px / 1 var(--font-mono);border-radius:6px;align-items:center;gap:2px;margin-right:6px;padding:3px 6px;display:inline-flex}.delta.up{background:var(--success-soft);color:var(--success)}.delta.down{background:var(--danger-soft);color:var(--danger)}.delta.flat{background:var(--surface-2);color:var(--text-3)}.badge{height:22px;font:600 11.5px / 1 var(--font-body);white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--hairline);border-radius:11px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.green{background:var(--success-soft);color:var(--success);border-color:#0000}.badge.flame{background:var(--warning-soft);color:var(--warning);border-color:#0000}.badge.red{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.purple{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.badge.blue{background:var(--info-soft);color:var(--info);border-color:#0000}.badge.lime{color:var(--highlight);background:#d8f25c24;border-color:#0000}.chip{border-radius:var(--r-sm);border:1px solid var(--hairline-strong);background:var(--surface-2);align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.chip svg{width:14px;height:14px}.chip.serious{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:var(--danger-soft);color:var(--danger)}.chip.mild{border-color:color-mix(in srgb, var(--warning) 35%, transparent);background:var(--warning-soft);color:var(--warning)}.side-pill{align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.side-pill i{background:var(--island);border-radius:50%;width:8px;height:8px}.side-pill.mainland i{background:var(--mainland)}.table-wrap{border-radius:inherit;overflow-x:auto}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}table.data th{text-align:left;font:600 11.5px / 1 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);background:var(--surface);border-bottom:1px solid var(--hairline);white-space:nowrap;padding:12px 14px;position:sticky;top:0}table.data td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:12px 14px}table.data tr:last-child td{border-bottom:0}table.data tbody tr{transition:background .12s}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.clickable:hover{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}table.data td.right,table.data th.right{text-align:right}table.data td.nowrap{white-space:nowrap}.cell-main{align-items:center;gap:10px;min-width:0;display:flex}.cell-main .name{font-weight:600}.cell-main .sub{color:var(--text-3);font-size:12px}.amount-pos{color:var(--success)}.amount-neg{color:var(--danger)}.table-foot{border-top:1px solid var(--hairline);color:var(--text-3);justify-content:center;align-items:center;gap:10px;padding:12px;font-size:12.5px;display:flex}.toolbar{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.input,.select,.textarea{border-radius:var(--r-sm);border:1px solid var(--hairline-strong);background:var(--bg);width:100%;height:36px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.input.lg{height:44px;font-size:15px}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23998aa3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.toolbar .select{width:auto;min-width:140px}.input-icon{flex:1;min-width:220px;position:relative}.input-icon svg{width:16px;height:16px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:11px;translate:0 -50%}.input-icon .input{padding-left:36px}.field{flex-direction:column;gap:7px;display:flex}.field+.field{margin-top:16px}.field label,.label{font-size:13px;font-weight:600}.field .hint{color:var(--text-3);font-size:12.5px}.field .error{color:var(--danger);font-size:12.5px}.segmented{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--hairline);gap:2px;width:-moz-fit-content;width:fit-content;min-width:0;margin:0;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--text-2);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.segmented button svg{width:15px;height:15px}.segmented button[aria-pressed=true]{background:var(--raised);color:var(--text);box-shadow:var(--shadow-sm)}.check{border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;transition:border-color .15s,background .15s;display:flex}.check:hover{border-color:var(--hairline-strong)}.check.on{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft)}.check.disabled{opacity:.55;cursor:not-allowed}.check input{appearance:none;border:1.5px solid var(--text-3);background:var(--bg);border-radius:5px;flex:none;place-items:center;width:18px;height:18px;margin:1px 0 0;display:grid}.check input:checked{border-color:var(--accent);background:var(--accent)}.check input:checked:after{content:"";border-top:0;border-bottom:2px solid #fff;border-left:2px solid #fff;border-right:0;width:9px;height:5px;translate:0 -1px;rotate:-45deg}.check b{align-items:center;gap:8px;font-weight:600;display:flex}.check small{color:var(--text-2);margin-top:3px;font-size:12.5px;line-height:1.45;display:block}.tabs{border-bottom:1px solid var(--hairline);gap:4px;padding:0 14px;display:flex;overflow-x:auto}.tabs button{height:44px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex;position:relative}.tabs button:hover,.tabs button[aria-selected=true]{color:var(--text)}.tabs button[aria-selected=true]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tabs .count{font:500 11px / 1 var(--font-mono);background:var(--surface-2);color:var(--text-3);border-radius:6px;padding:3px 6px}.skeleton{background:var(--skeleton);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.state .state-icon{background:var(--surface-2);border:1px solid var(--hairline);width:52px;height:52px;color:var(--text-2);border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.state .state-icon svg{width:22px;height:22px}.state.error .state-icon{background:var(--danger-soft);color:var(--danger);border-color:#0000}.state h3{font-size:18px}.state p{color:var(--text-2);max-width:420px}.overlay{z-index:100;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .16s var(--ease);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes slide{0%{opacity:0;transform:translate(28px)}}.modal{border-radius:var(--r-xl);border:1px solid var(--hairline-strong);background:var(--raised);width:min(520px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);animation:pop .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}.modal.wide{width:min(720px,100%)}.modal-head{align-items:flex-start;gap:14px;padding:22px 22px 0;display:flex}.modal-head h2{font-size:20px}.modal-head p{color:var(--text-2);margin-top:6px}.modal-head .icon-btn{margin:-6px -8px 0 auto}.modal-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:12px;flex:none;place-items:center;display:grid}.modal-icon svg{width:20px;height:20px}.modal-icon.danger{background:var(--danger-soft);color:var(--danger)}.modal-icon.success{background:var(--success-soft);color:var(--success)}.modal-body{min-height:0;padding:20px 22px;overflow:auto}.modal-foot{border-top:1px solid var(--hairline);background:color-mix(in srgb, var(--surface-2) 50%, transparent);border-radius:0 0 var(--r-xl) var(--r-xl);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.drawer-overlay{place-items:stretch end;padding:0}.drawer{background:var(--raised);border-left:1px solid var(--hairline-strong);width:min(460px,100vw);height:100vh;box-shadow:var(--shadow-lg);animation:slide .22s var(--ease);flex-direction:column;display:flex}.drawer .modal-body{flex:1;overflow:auto}.drawer .modal-foot{border-radius:0}.palette-overlay{place-items:start center;padding-top:12vh}.palette{border-radius:var(--r-xl);border:1px solid var(--hairline-strong);background:var(--raised);width:min(620px,100%);box-shadow:var(--shadow-lg);animation:pop .18s var(--ease);overflow:hidden}.palette-input{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:0 18px;display:flex}.palette-input svg{width:18px;height:18px;color:var(--text-3)}.palette-input input{background:0 0;border:0;flex:1;height:56px;font-size:16px}.palette-input input:focus{outline:none}.palette-list{max-height:380px;padding:8px;overflow:auto}.palette-group{font:600 10.5px / 1 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);padding:10px 10px 6px}.palette-item{border-radius:var(--r-sm);text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;height:42px;padding:0 10px;display:flex}.palette-item svg{width:16px;height:16px;color:var(--text-3)}.palette-item .hint{color:var(--text-3);margin-left:auto;font-size:12px}.palette-item[aria-selected=true]{background:var(--accent-soft)}.palette-item[aria-selected=true] svg{color:var(--accent-text)}.palette-foot{border-top:1px solid var(--hairline);color:var(--text-3);gap:16px;padding:10px 18px;font-size:12px;display:flex}.palette-foot span{align-items:center;gap:6px;display:inline-flex}.toasts{z-index:200;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--r-md);border:1px solid var(--hairline-strong);background:var(--raised);box-shadow:var(--shadow-lg);animation:pop .2s var(--ease);align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;display:flex}.toast>svg{flex:none;width:18px;height:18px;margin-top:1px}.toast.success>svg{color:var(--success)}.toast.error>svg{color:var(--danger)}.toast.info>svg{color:var(--accent-text)}.toast .body{flex:1;min-width:0}.toast b{font-weight:600;display:block}.toast p{color:var(--text-2);margin-top:2px;font-size:13px}.banner{border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-2);align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;display:flex}.banner svg{flex:none;width:18px;height:18px}.banner.warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.banner.warning svg{color:var(--warning)}.banner.danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.banner.danger svg{color:var(--danger)}.banner.info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.banner.info svg{color:var(--accent-text)}.banner .grow{flex:1}.chart{width:100%;display:block;overflow:visible}.chart text{font:500 10.5px var(--font-mono);fill:var(--text-3)}.chart .grid-line{stroke:var(--grid)}.legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px}.chart-tip{pointer-events:none;z-index:5;border-radius:var(--r-sm);border:1px solid var(--hairline-strong);background:var(--raised);min-width:150px;box-shadow:var(--shadow-md);padding:10px 12px;font-size:12.5px;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.chart-tip b{margin-bottom:6px;font-weight:600;display:block}.chart-tip .line{color:var(--text-2);align-items:center;gap:8px;display:flex}.chart-tip .line i{border-radius:2px;width:8px;height:8px}.chart-tip .line span:last-child{color:var(--text);font-family:var(--font-mono);margin-left:auto}.split{border-radius:7px;gap:3px;height:14px;display:flex;overflow:hidden}.split>div{height:100%;transition:width .6s var(--ease)}.split .ml{background:linear-gradient(90deg, #ff9445, var(--flame));border-radius:7px 0 0 7px}.split .is{background:linear-gradient(90deg, var(--purple), #9b6cf2);border-radius:0 7px 7px 0}.dl{grid-template-columns:140px minmax(0,1fr);gap:10px 16px;font-size:13.5px;display:grid}.dl dt{color:var(--text-3)}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.copy-field{border-radius:var(--r-sm);border:1px solid var(--hairline-strong);background:var(--bg);align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.copy-field code{min-width:0;font:500 12.5px / 1.4 var(--font-mono);overflow-wrap:anywhere;flex:1}.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-art{color:#fff6e9;background:radial-gradient(700px 500px at 20% 110%,#ff7a1a52,#0000 60%),radial-gradient(600px 460px at 90% 10%,#ff5fa242,#0000 60%),radial-gradient(800px 600px at 40% 40%,#7a45e080,#0000 65%),#1e0f24;border-right:1px solid #fff6e914;flex-direction:column;justify-content:space-between;padding:40px;display:flex;position:relative;overflow:hidden}.auth-art .brand-tag{color:#c4a6ff;background:#7a45e02e;border-color:#9b6cf273}.auth-art .brand img{height:28px}.auth-art h2{max-width:520px;font-size:clamp(34px,4vw,54px);line-height:1.02}.auth-art h2 em{color:var(--lime);font-style:normal}.auth-art p{color:#fff6e9b3;max-width:440px;margin-top:16px;font-size:15px}.auth-art .road{pointer-events:none;opacity:.55;height:40%;position:absolute;inset:auto -10% -2px}.auth-art .foot{color:#fff6e98c;gap:18px;font-size:12.5px;display:flex;position:relative}.auth-art .foot span{align-items:center;gap:6px;display:inline-flex}.auth-art .foot svg{width:14px;height:14px;color:var(--lime)}.auth-panel{place-items:center;padding:40px 24px;display:grid}.auth-box{width:min(400px,100%)}.auth-box h1{font-size:30px}.auth-box .lead{color:var(--text-2);margin:8px 0 26px}.auth-box .mobile-logo{margin-bottom:28px;display:none}.auth-box .mobile-logo img{height:26px}.steps{gap:6px;margin-bottom:22px;display:flex}.steps i{background:var(--surface-3);border-radius:2px;flex:1;height:4px;transition:background .3s}.steps i.on{background:var(--accent)}.code-boxes{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.code-boxes input{text-align:center;width:100%;height:56px;font:500 24px / 1 var(--font-mono);border-radius:var(--r-md);border:1px solid var(--hairline-strong);background:var(--bg);caret-color:var(--accent);transition:border-color .15s,box-shadow .15s}.code-boxes input:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.code-boxes.error input{border-color:color-mix(in srgb, var(--danger) 60%, transparent)}.code-boxes input:nth-child(3){margin-right:8px}.strength{gap:4px;margin-top:2px;display:flex}.strength i{background:var(--surface-3);border-radius:2px;flex:1;height:4px;transition:background .2s}.strength[data-score="1"] i:nth-child(-n+1){background:var(--danger)}.strength[data-score="2"] i:nth-child(-n+2){background:var(--warning)}.strength[data-score="3"] i:nth-child(-n+3){background:var(--chart-3)}.strength[data-score="4"] i{background:var(--success)}.qr{border-radius:var(--r-lg);width:196px;box-shadow:var(--shadow-md);background:#fff6e9;place-items:center;margin:0 auto;padding:14px;display:grid}.qr svg{width:168px;height:168px;display:block}.input-wrap{position:relative}.input-wrap .icon-btn{position:absolute;top:50%;right:4px;translate:0 -50%}.detail-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px;display:flex}.detail-head h1{font-size:28px}.detail-head .meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:13px;display:flex}.detail-head .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.stat-tiles{background:var(--hairline);border-radius:var(--r-md);border:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stat-tiles>div{background:var(--surface);padding:14px}.stat-tiles span{color:var(--text-3);font-size:12px;display:block}.stat-tiles b{font:500 20px / 1 var(--font-mono);letter-spacing:-.03em;margin-top:6px;display:block}.balance-card{border-radius:var(--r-lg);color:#fff6e9;background:radial-gradient(260px 180px at 100% 0,#ff5fa273,#0000 70%),radial-gradient(300px 220px at 0 100%,#ff7a1a4d,#0000 70%),linear-gradient(150deg,#7a45e0,#3b1d5e 70%);padding:18px;position:relative;overflow:hidden;box-shadow:0 18px 40px -18px #7a45e0cc}.balance-card .label{opacity:.8;font-size:12.5px;font-weight:500}.balance-card .big{font:500 34px / 1 var(--font-mono);letter-spacing:-.04em;margin-top:8px}.balance-card .row2{border-top:1px solid #fff6e92e;justify-content:space-between;margin-top:16px;padding-top:12px;font-size:13px;display:flex}.balance-card .row2 b{font-family:var(--font-mono);font-weight:500}.pulse{background:var(--success);border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.pulse:after{content:"";border:2px solid var(--success);animation:ping 1.8s var(--ease) infinite;border-radius:50%;position:absolute;inset:-4px}.pulse.paused{background:var(--text-3)}.pulse.paused:after{display:none}@keyframes ping{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.room-card{padding:18px;overflow:hidden}.room-card .game{align-items:center;gap:10px;font-weight:700;display:flex}.room-card .glyph{width:36px;height:36px;font:800 15px / 1 var(--font-head);color:#fff6e9;border-radius:10px;place-items:center;display:grid}.room-card .big{font:500 40px / 1 var(--font-mono);letter-spacing:-.04em;margin-top:18px}.room-card .sub{color:var(--text-3);margin-top:6px;font-size:12.5px}.feed{margin:0;padding:0;list-style:none}.feed li{border-top:1px solid var(--hairline);animation:fade .4s var(--ease);align-items:center;gap:12px;padding:11px 18px;display:flex}.feed li:first-child{border-top:0}.feed .status{flex:none;justify-content:flex-end;width:92px;display:flex}.stat-tiles .side-pill{display:inline-flex}.target-link{font:500 12px / 1 var(--font-mono);background:var(--accent-soft);color:var(--accent-text);border-radius:6px;padding:4px 7px}.target-link:hover{text-underline-offset:3px;text-decoration:underline}.target-plain{font:500 12px / 1 var(--font-mono);color:var(--text-3)}.feed .when{color:var(--text-3);white-space:nowrap;margin-left:auto;font-size:12px}.role-card{flex-direction:column;gap:12px;padding:18px;transition:border-color .15s,transform .15s;display:flex}.role-card:hover{border-color:var(--hairline-strong)}.role-card .top{align-items:center;gap:10px;display:flex}.role-card h3{font:700 16px / 1.2 var(--font-body);letter-spacing:-.01em}.role-card p{color:var(--text-2);min-height:38px;font-size:13px}.perm-dots{flex-wrap:wrap;gap:6px;display:flex}.perm-dots span{background:var(--surface-2);color:var(--text-2);border:1px solid var(--hairline);border-radius:6px;padding:3px 7px;font-size:11.5px}.perm-dots span.sensitive{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 30%, transparent);background:var(--warning-soft)}.perm-group+.perm-group{margin-top:18px}.perm-group h4{font:600 11px / 1 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.perm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.timeline{margin:0;padding:6px 0;list-style:none}.timeline>li{padding:12px 18px 12px 58px;position:relative}.timeline>li:before{content:"";background:var(--hairline);width:1px;position:absolute;top:0;bottom:0;left:32px}.timeline>li:first-child:before{top:24px}.timeline>li:last-child:before{bottom:calc(100% - 24px)}.timeline .node{background:var(--surface-2);border:1px solid var(--hairline-strong);width:25px;height:25px;color:var(--text-2);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;left:20px}.timeline .node svg{width:13px;height:13px}.timeline .node.danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.timeline .node.success{background:var(--success-soft);color:var(--success);border-color:#0000}.timeline .node.accent{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.timeline .node.warning{background:var(--warning-soft);color:var(--warning);border-color:#0000}.timeline .line1{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.timeline .line1 b{font-weight:600}.timeline .line1 .when{color:var(--text-3);white-space:nowrap;margin-left:auto;font-size:12px}.timeline .reason{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);border-left:2px solid var(--accent);margin-top:6px;padding:8px 10px;font-size:13px}.timeline .toggle{color:var(--accent-text);background:0 0;border:0;align-items:center;gap:4px;margin-top:6px;padding:0;font-size:12.5px;font-weight:600;display:inline-flex}.diff{border-radius:var(--r-sm);border:1px solid var(--hairline);font:400 12px / 1.6 var(--font-mono);margin-top:8px;overflow:hidden}.diff-row{border-top:1px solid var(--hairline);grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);display:grid}.diff-row:first-child{border-top:0}.diff-row>div{overflow-wrap:anywhere;padding:6px 10px}.diff-row .k{color:var(--text-3);background:var(--surface-2)}.diff-row .b{background:var(--danger-soft)}.diff-row .a{background:var(--success-soft)}.diff-row.same .b,.diff-row.same .a{color:var(--text-3);background:0 0}.diff-row.diff-head>div{background:var(--surface-2)}.diff-head{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.diff-head>div{color:var(--text-3)}.link{color:var(--accent-text);font-weight:600}.link:hover{text-underline-offset:3px;text-decoration:underline}.divider{background:var(--hairline);height:1px;margin:16px 0}.callout{border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);background:radial-gradient(400px 200px at 0% 0%, #ff7a1a2e, transparent 70%), var(--surface);align-items:center;gap:16px;padding:18px;display:flex}.callout .big{font:500 34px / 1 var(--font-mono);color:var(--warning);letter-spacing:-.04em}.callout h3{font:700 15px / 1.3 var(--font-body)}.callout p{color:var(--text-2);font-size:13px}.callout .btn{margin-left:auto}.idle-warning{z-index:150;width:min(520px,100vw - 32px);box-shadow:var(--shadow-lg);background:var(--raised);position:fixed;top:16px;left:50%;translate:-50%}@media (max-width:1180px){.grid.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,1fr)}}@media (max-width:960px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:min(280px,86vw);transition:transform .25s var(--ease);background:var(--surface);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-scrim{z-index:25;background:var(--overlay);position:fixed;inset:0}.icon-btn.menu-btn{display:inline-grid}.grid.two,.grid.three,.auth{grid-template-columns:minmax(0,1fr)}.auth-art{display:none}.auth-box .mobile-logo{display:block}}@media (max-width:640px){.topbar{padding:0 12px}.search-trigger{background:0 0;border-color:#0000;justify-content:center;width:36px;padding:0}.search-trigger span,.search-trigger kbd{display:none}.content{padding:20px 16px 48px}.page-head h1{font-size:24px}.grid.kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.kpi{padding:14px}.kpi-value{font-size:24px}.kpi .spark{display:none}.perm-grid{grid-template-columns:minmax(0,1fr)}.dl{grid-template-columns:minmax(0,1fr);gap:2px 0}.dl dd{margin-bottom:10px}.hide-sm{display:none}table.data td,table.data th{padding:10px}.diff-row{grid-template-columns:minmax(0,1fr)}.callout{flex-wrap:wrap}.callout .btn{margin-left:0}.toolbar .select{flex:1;min-width:0}.modal-foot{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.menu{z-index:40;border-radius:var(--r-md);border:1px solid var(--hairline-strong);background:var(--raised);min-width:210px;box-shadow:var(--shadow-lg);animation:pop .14s var(--ease);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu-item{border-radius:var(--r-xs);text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;font-weight:500;display:flex}.menu-item svg{width:15px;height:15px;color:var(--text-3)}.menu-item:hover:not(:disabled){background:var(--surface-2)}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-item:disabled{opacity:.45;cursor:not-allowed}
