:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg-void:#0a0e1a;--c-bg-app:var(--c-bg-void);--c-bg-panel:#111726;--c-bg-card:var(--c-bg-panel);--c-bg-raised:#172036;--c-bg-inset:#0d1322;--c-bg-hover:#1c2440;--c-bg-selected:#2a2410;--c-bg-topbar:#0a0e1ac7;--c-bg-column:#111726db;--c-bg-overlay:#02040c9e;--c-border:#1e2a47;--c-border-strong:#2c3a60;--c-border-focus:#ffb224;--c-text-1:#e9edf8;--c-text-2:#9fa8c6;--c-text-3:#626d92;--c-text-on-accent:#1a1206;--c-accent:#ffb224;--c-accent-strong:#ffc24d;--c-accent-soft:#2a2410;--c-tally:#ff4d5e;--c-danger:var(--c-tally);--c-danger-soft:#3a1620;--c-success:#34c77b;--c-success-soft:#0f2e22;--c-warn:#ffa033;--c-warn-soft:#33230d;--c-info:#53d7ee;--c-data:var(--c-info);--c-info-soft:#0e2a38;--c-text-link:var(--c-info);--chart-1:#ffb224;--chart-2:#53d7ee;--chart-3:#8f7bf0;--chart-4:#f06bd8;--chart-5:#34c77b;--chart-6:#5b8def;--font-sans:"MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-display:28px;--lh-tight:1.3;--lh-base:1.6;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:999px;--edge-glow:inset 0 1px 0 #e9edf80d;--shadow-xs:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 24px 64px #0009;--shadow-accent:0 4px 14px #ffb22440;--shadow-focus:0 0 0 3px #ffb22447;--motion-instant:80ms;--motion-fast:.14s;--motion-base:.22s;--motion-slow:.36s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-progress:linear;--skeleton-sweep:#e9edf80d;--c-brand:var(--c-accent);--c-brand-text:var(--c-text-on-accent);--c-bg:var(--c-bg-void);--c-panel:var(--c-bg-panel);--c-text:var(--c-text-1);--c-dim:var(--c-text-2);--c-ok:var(--c-success);--c-focus:var(--c-border-focus);--c-skeleton:var(--c-bg-inset);--c-skeleton-sheen:var(--c-bg-hover)}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg-void:#eef1f8;--c-bg-panel:#fff;--c-bg-raised:#fff;--c-bg-inset:#f2f4fa;--c-bg-hover:#f3f5fb;--c-bg-selected:#fff6e0;--c-bg-topbar:#ffffffc7;--c-bg-column:#ffffffe6;--c-bg-overlay:#0d122673;--c-border:#e3e7f2;--c-border-strong:#c9d0e4;--c-border-focus:#e07800;--c-text-1:#141a2c;--c-text-2:#4a5470;--c-text-3:#7a84a3;--c-text-on-accent:#1a1206;--c-accent:#e07800;--c-accent-strong:#c96a00;--c-accent-soft:#fff6e0;--c-tally:#d93a49;--c-danger-soft:#fce9eb;--c-success:#178a52;--c-success-soft:#e4f6ed;--c-warn:#b25e00;--c-warn-soft:#fff3e2;--c-info:#0e8fa6;--c-info-soft:#e4f6fa;--chart-1:#e07800;--chart-2:#0e8fa6;--chart-3:#6d4fd8;--chart-4:#c93ba8;--chart-5:#178a52;--chart-6:#2e63d8;--edge-glow:inset 0 1px 0 #fff;--shadow-xs:0 1px 2px #141a2c0f;--shadow-md:0 8px 24px #141a2c1a;--shadow-lg:0 24px 64px #141a2c2e;--shadow-accent:0 4px 14px #e0780047;--shadow-focus:0 0 0 3px #e078004d;--skeleton-sweep:#141a2c0f}}:root[data-brand=custom]{--c-accent:var(--c-brand);--c-accent-strong:color-mix(in srgb, var(--c-brand) 88%, #000);--c-accent-soft:color-mix(in srgb, var(--c-brand) 12%, transparent);--c-bg-selected:color-mix(in srgb, var(--c-brand) 12%, transparent);--c-border-focus:var(--c-brand);--c-text-link:var(--c-brand);--shadow-focus:0 0 0 3px color-mix(in srgb, var(--c-brand) 30%, transparent)}*{box-sizing:border-box}body{background:var(--c-bg-void);color:var(--c-text-1);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--c-border-focus);outline-offset:1px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}td.num,th.num{text-align:right}.shell{min-height:100vh;display:flex}.sidebar{background:var(--c-bg-void);border-right:1px solid var(--c-border);width:220px;color:var(--c-text-2);flex-direction:column;flex-shrink:0;display:flex}.sidebar .brand{color:var(--c-text-1);font-weight:700;font-size:var(--fs-base);letter-spacing:.02em;flex-shrink:0;padding:16px 20px 12px}.sidebar .menu{flex:1;padding:4px 0 12px;overflow-y:auto}.sidebar a{color:var(--c-text-2);font-size:var(--fs-md);padding:8px 20px;text-decoration:none;display:block;position:relative}.sidebar a:hover:not(.active){color:var(--c-text-1);background:var(--c-bg-hover)}.sidebar a.active{color:var(--c-accent);background:var(--c-accent-soft)}.sidebar a.active:before{content:"";background:var(--c-accent);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:0}.nav-group-title{font-size:var(--fs-2xs);color:var(--c-text-3);letter-spacing:1px;padding:14px 20px 4px}.sidebar .who{font-size:var(--fs-sm);color:var(--c-text-3);border-top:1px solid var(--c-border);flex-shrink:0;margin-top:auto;padding:16px 20px}.sidebar .who div:first-child{color:var(--c-text-2)}.main{flex:1;min-width:0;padding:20px 28px 32px}.page-title{font-size:var(--fs-xl);margin:0 0 16px;font-weight:700}.page-header{margin-bottom:16px}.breadcrumb{font-size:var(--fs-sm);color:var(--c-text-3);align-items:center;gap:6px;margin-bottom:6px;display:flex}.breadcrumb-sep{color:var(--c-border-strong)}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-header-row .page-title{margin:0}.page-desc{max-width:72em;color:var(--c-text-2);font-size:var(--fs-sm);margin:6px 0 0}.panel{background:var(--c-bg-panel);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--edge-glow);margin-bottom:16px;padding:16px 20px}.panel>h2:first-child,.panel>.page-title:first-child{margin-top:0}.panel h2{font-size:var(--fs-base);margin:0 0 10px;font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--c-border);vertical-align:top;padding:10px 12px}tbody tr:hover{background:var(--c-bg-hover)}th{color:var(--c-text-3);font-weight:500;font-size:var(--fs-sm);white-space:nowrap}td .cell-link,a.cell-link{color:var(--c-text-link);text-decoration:none}a.cell-link:hover{text-decoration:underline}.tag{border-radius:var(--radius-xs);font-size:var(--fs-xs);background:var(--c-bg-inset);color:var(--c-text-2);border:1px solid var(--c-border);white-space:nowrap;align-items:center;gap:5px;padding:1px 8px;display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.tag.active{color:var(--c-success);background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 30%, transparent)}.tag.suspended,.tag.disabled{color:var(--c-tally);background:var(--c-danger-soft);border-color:color-mix(in srgb, var(--c-tally) 30%, transparent)}.tag.draft,.tag.pending{color:var(--c-warn);background:var(--c-warn-soft);border-color:color-mix(in srgb, var(--c-warn) 30%, transparent)}.tag.queued,.tag.revoked,.tag.expired,.tag.retired{color:var(--c-text-3);background:var(--c-bg-inset);border-color:var(--c-border)}.tag.running{color:var(--c-accent);background:var(--c-accent-soft);border-color:color-mix(in srgb, var(--c-accent) 35%, transparent)}.tag.running:before{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.btn{background:var(--c-accent);color:var(--c-text-on-accent);border:1px solid var(--c-accent);border-radius:var(--radius-sm);transition:background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-accent-strong);border-color:var(--c-accent-strong)}a.btn{text-decoration:none}.btn.secondary{background:var(--c-bg-panel);color:var(--c-text-1);border-color:var(--c-border-strong);font-weight:500}.btn.secondary:hover:not(:disabled){background:var(--c-bg-hover);border-color:var(--c-border-strong)}.btn.danger{background:var(--c-danger-soft);color:var(--c-tally);border-color:color-mix(in srgb, var(--c-tally) 35%, transparent);font-weight:500}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--c-tally) 18%, var(--c-danger-soft));border-color:var(--c-tally)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{font-size:var(--fs-sm);padding:2px 10px}input,select,textarea{font:inherit;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg-inset);color:var(--c-text-1);padding:6px 10px}input::placeholder,textarea::placeholder{color:var(--c-text-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--c-border-focus);box-shadow:var(--shadow-focus);outline:none}textarea{font-family:var(--font-mono);font-size:var(--fs-md)}pre{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--c-bg-inset);border:1px solid var(--c-border);border-radius:var(--radius-sm);margin:6px 0;padding:6px 10px;overflow-x:auto}.form-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.error-text{color:var(--c-tally);margin:8px 0}.dim{color:var(--c-text-2)}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:16px;display:grid}.metric-card{transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);margin-bottom:0}.panel.metric-card:hover{box-shadow:var(--shadow-md), var(--edge-glow);transform:translateY(-1px)}.metric-card.plain{background:var(--c-bg-inset);border-radius:var(--radius-sm);border:none;padding:8px 10px}.metric-card.plain:hover{box-shadow:none;transform:none}.metric-label{color:var(--c-text-3);font-size:var(--fs-sm);margin-bottom:4px}.metric-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-display);font-weight:600;line-height:var(--lh-tight)}.metric-card.plain .metric-value{font-size:var(--fs-2xl)}.spark-legend{color:var(--c-text-2);align-items:center;gap:6px;display:inline-flex}.spark-swatch{border-top:2px solid var(--chart-5);width:18px;height:0;display:inline-block}.spark-swatch.debits{border-top-style:dashed;border-top-color:var(--c-tally)}.alert-list{color:var(--c-tally);margin:4px 0 0;padding-left:18px}.alert-list li{margin-bottom:2px}.chart-spark{background-image:linear-gradient(var(--c-border) 1px, transparent 1px);background-size:100% 25%}.chart-axis{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--c-text-3)}.state-block{padding:14px 2px}.state-block-title{margin-bottom:4px;font-weight:500}.state-block.error .state-block-title{color:var(--c-tally)}.state-block .btn{margin-top:8px}.state-block.empty .state-block-title:before{content:"";background:linear-gradient(var(--c-border-strong), var(--c-border-strong)) left top / 12px 1px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) left top / 1px 12px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) right top / 12px 1px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) right top / 1px 12px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) left bottom / 12px 1px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) left bottom / 1px 12px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) right bottom / 12px 1px no-repeat, linear-gradient(var(--c-border-strong), var(--c-border-strong)) right bottom / 1px 12px no-repeat, repeating-linear-gradient(90deg, var(--c-border-strong) 0 4px, transparent 4px 9px) center / 100% 1px no-repeat;width:64px;height:40px;margin-bottom:12px;display:block}.skeleton-row{border-radius:var(--radius-xs);background:var(--c-bg-inset);height:14px;margin:10px 0;position:relative;overflow:hidden}.skeleton-row:after{content:"";background:linear-gradient(90deg, transparent, var(--skeleton-sweep), transparent);animation:1.6s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}.skeleton-row:nth-child(2n){width:82%}.skeleton-row:nth-child(3n){width:68%}@keyframes skeleton-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.toast{border:1px solid var(--c-border);border-left:3px solid var(--c-success);background:var(--c-bg-raised);color:var(--c-text-1);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow-wrap:anywhere;max-width:72em;margin:10px 0;padding:9px 14px}.toast.error{border-left-color:var(--c-tally)}.modal-backdrop{background:var(--c-bg-overlay);-webkit-backdrop-filter:blur(8px);z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--c-bg-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);width:min(620px,92vw);max-height:88vh;box-shadow:var(--shadow-lg), var(--edge-glow);animation:dialog-in var(--motion-base) var(--ease-out);padding:20px 22px;overflow:auto}.modal textarea{width:100%}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.confirm-dialog{width:min(460px,92vw)}.confirm-dialog .page-title{font-size:var(--fs-lg)}.confirm-dialog .confirm-reason{width:100%;margin:4px 0 8px}.confirm-actions{justify-content:flex-end;margin:12px 0 0}.state-page{background:var(--c-bg-panel);border:1px solid var(--c-border);border-radius:var(--radius-lg);max-width:520px;box-shadow:var(--edge-glow);text-align:center;margin:8vh auto 0;padding:32px 36px}.state-page .state-code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--c-accent);margin-bottom:12px;font-size:44px;font-weight:700;line-height:1}.state-page .state-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.state-page a.btn{text-decoration:none;display:inline-block}.login-page{background:var(--c-bg-void);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--c-bg-panel);border:1px solid var(--c-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg), var(--edge-glow);width:360px;padding:32px 36px}.login-card h1{font-size:var(--fs-xl);margin:0 0 4px}.login-card .sub{color:var(--c-text-2);font-size:var(--fs-md);margin-bottom:20px}.login-card label{font-size:var(--fs-md);color:var(--c-text-2);margin-bottom:12px;display:block}.login-card input{width:100%;margin-top:4px}.login-card input[type=color]{width:44px;padding:2px}.login-card .btn{justify-content:center;width:100%;margin-top:8px}.login-logo{object-fit:contain;max-width:220px;max-height:64px;margin:0 auto 14px;display:block}.login-card a{color:var(--c-text-link)}.drawer-backdrop{background:var(--c-bg-overlay);z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--c-bg-raised);border:none;border-left:1px solid var(--c-border);width:min(420px,92vw);min-height:100vh;box-shadow:var(--shadow-lg);border-radius:0;margin:0;padding:24px 22px;overflow:auto}.drawer dl{grid-template-columns:84px 1fr;gap:8px 12px;margin:12px 0;display:grid}.drawer dt{color:var(--c-text-2)}.drawer dd{word-break:break-all;margin:0}.main>*{animation:rise-in var(--motion-base) var(--ease-out) backwards}.main>:nth-child(2){animation-delay:var(--motion-instant)}.main>:nth-child(3){animation-delay:calc(var(--motion-instant) * 2)}.main>:nth-child(n+4){animation-delay:calc(var(--motion-instant) * 3)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.main>*,.modal,.skeleton-row:after,.tag.running:before{animation:none}.panel.metric-card{transition:none}.panel.metric-card:hover{transform:none}}@media (width<=1440px){.main{padding:18px 22px 28px}}@media (width<=1180px){.sidebar{width:186px}.main{padding:16px 18px 24px}}@media (width<=1024px){.sidebar{width:168px}.sidebar a{padding:8px 14px}.nav-group-title{padding:12px 14px 4px}.main{padding:14px 16px 22px}}
