:root{--bg: #08080c;--card: #0e0e15;--card-sys: #0d0d13;--card-lat: #0b0b11;--card-grad: linear-gradient(155deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .008) 46%);--border: rgba(255, 255, 255, .08);--radius: 16px;--shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 28px 52px -30px rgba(0, 0, 0, .95);--accent: #8b5cf6;--accent-hi: #a78bfa;--accent-deep: #5b3fd6;--lime: #a3e635;--amber: #fbbf24;--red: #f87171;--ink: #f2f2f6;--ink-2: #ececf1;--text-2: #8a8a96;--muted: #6b6b78;--muted-2: #55555f;--faint: #4a4a55;--mono: "Geist Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--sans: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--bg);color:var(--ink-2);font-family:var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(58% 42% at 50% -8%,rgba(139,92,246,.22),transparent 62%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 78% at 50% 0%,#000 24%,transparent 72%);mask-image:radial-gradient(120% 78% at 50% 0%,#000 24%,transparent 72%)}.console{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:34px 24px 72px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:22px}.brand{display:flex;align-items:center;gap:14px}.logo-tile{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:20px;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-deep));box-shadow:0 8px 20px -6px #8b5cf699,0 1px #ffffff40 inset}.wordmark{font-family:var(--mono);font-size:19px;letter-spacing:.28em;font-weight:600;margin:0;text-transform:uppercase;color:var(--ink)}.wordmark .dot{color:var(--accent)}.tagline{color:var(--text-2);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-family:var(--mono);margin-top:6px}.keybar{display:flex;align-items:center;gap:8px}.keybar input{background:#ffffff08;border:1px solid var(--border);color:var(--ink-2);font-family:var(--mono);font-size:13px;padding:9px 12px;border-radius:9px;width:210px}.keybar input::placeholder{color:var(--faint)}.keybar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf62e}button{font-family:var(--sans);cursor:pointer}.keybar button,.refresh button,.form-row button,.keyreveal button,.actions button{background:linear-gradient(180deg,var(--accent),var(--accent-deep));border:1px solid rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:9px 16px;border-radius:9px;box-shadow:0 8px 18px -8px #8b5cf6b3}.keybar button:hover,.refresh button:hover,.form-row button:hover,.keyreveal button:hover,.actions button:hover{background:linear-gradient(180deg,var(--accent-hi),var(--accent))}button.ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-2);box-shadow:none}button.ghost:hover{background:#ffffff0a;border-color:#ffffff47;color:var(--ink-2)}button.warn-action{background:#f8717114;border-color:#f8717180;color:var(--red)}button.warn-action:hover{background:#f8717129}button.go-action{background:#a3e63514;border-color:#a3e63580;color:var(--lime)}button.go-action:hover{background:#a3e63529}button:disabled{opacity:.5;cursor:not-allowed}.rail{display:flex;align-items:center;gap:14px;margin:36px 0 16px;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase}.rail:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.demobar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;padding:13px 16px;border:1px solid rgba(251,191,36,.35);border-radius:12px;background:linear-gradient(155deg,#fbbf241f,#fbbf2408)}.demobar-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:600}.demobar-text{color:var(--ink-2);font-size:13px}.gauges{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:var(--card-grad),var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{position:relative;padding:20px 20px 18px;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--tone),transparent 75%)}.tone-accent{--tone: var(--accent)}.tone-amber{--tone: var(--amber)}.tone-lime{--tone: var(--lime)}.tone-red{--tone: var(--red)}.kpi-label{display:flex;align-items:center;gap:8px;color:var(--text-2);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.kpi-dot{width:7px;height:7px;border-radius:50%;background:var(--tone);box-shadow:0 0 8px var(--tone)}.kpi-value{font-family:var(--mono);font-size:33px;font-weight:600;color:var(--ink);margin-top:12px;line-height:1;font-variant-numeric:tabular-nums}.kpi-value.warn{color:var(--red)}.kpi-sub{color:var(--muted);font-size:12px;margin-top:9px;font-family:var(--mono)}.panel{background:var(--card-grad),var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}thead th{text-align:left;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:13px 16px;background:#ffffff05;border-bottom:1px solid var(--border)}thead th.num,tbody td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}tbody td{padding:14px 16px;border-top:1px solid rgba(255,255,255,.05);font-size:14px;color:var(--ink-2)}tbody tr:hover td{background:#8b5cf60d}tbody td.name{font-family:var(--mono);color:var(--ink)}.badge{font-family:var(--mono);font-size:11px;padding:3px 10px;border-radius:999px;letter-spacing:.06em;border:1px solid transparent}.badge.on{color:var(--lime);background:#a3e6351a;border-color:#a3e63540}.badge.off{color:var(--muted);background:#ffffff0d;border-color:var(--border)}td.spendcap{text-align:right}.bar-wrap{display:flex;align-items:center;justify-content:flex-end;gap:10px}.bar-track{position:relative;width:84px;height:5px;border-radius:999px;background:#ffffff14;overflow:hidden}.bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px}.bar-fill.accent{background:var(--accent)}.bar-fill.amber{background:var(--amber)}.bar-fill.red{background:var(--red)}.bar-pct{font-family:var(--mono);font-size:12px;color:var(--text-2);min-width:40px;text-align:right}.bar-pct.over{color:var(--red)}.panel.form{padding:16px}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.form-row input{background:#ffffff08;border:1px solid var(--border);color:var(--ink-2);font-family:var(--mono);font-size:13px;padding:9px 12px;border-radius:9px}.form-row input::placeholder{color:var(--faint)}.form-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf62e}.form-row input:first-child{flex:1 1 180px}.form-error{color:var(--red);font-family:var(--mono);font-size:12px;margin-top:10px}th.actions,td.actions{text-align:right;white-space:nowrap}td.actions button{margin-left:6px;padding:6px 12px;border-radius:8px}.cell-input{width:92px;background:#ffffff08;border:1px solid var(--border);color:var(--ink-2);font-family:var(--mono);font-size:13px;padding:5px 8px;border-radius:7px;text-align:right}.cell-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf62e}td.row-error{color:var(--red);font-family:var(--mono);font-size:12px;padding:8px 16px}.keyreveal{border:1px solid rgba(139,92,246,.4);background:linear-gradient(155deg,#8b5cf61f,#8b5cf608);border-radius:var(--radius);padding:16px;margin-top:12px;box-shadow:var(--shadow)}.keyreveal-head{color:var(--ink-2);font-size:13px;margin-bottom:12px}.keyreveal-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.keyreveal-key{flex:1 1 320px;font-family:var(--mono);font-size:13px;color:var(--accent-hi);background:#00000059;border:1px solid var(--border);border-radius:9px;padding:9px 11px;word-break:break-all}.status{display:inline-flex;align-items:center;gap:9px;color:var(--text-2);font-size:12px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase}.pulse{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 #a3e63599;animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%{box-shadow:0 0 #a3e6358c}70%{box-shadow:0 0 0 8px #a3e63500}to{box-shadow:0 0 #a3e63500}}@media(prefers-reduced-motion:reduce){.pulse{animation:none}}.notice{background:var(--card-grad),var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;color:var(--text-2);font-size:14px}.notice.alert{border-color:#f8717166;color:var(--red)}.refresh{display:flex;justify-content:flex-end;margin-top:16px}.empty{padding:24px 16px;color:var(--faint);font-family:var(--mono);font-size:13px;text-align:center}@media(max-width:760px){.gauges{grid-template-columns:repeat(2,1fr)}.keybar{width:100%}.keybar input{flex:1;width:auto;min-width:0}}@media(max-width:600px){.console{padding:24px 16px 56px}.gauges{grid-template-columns:1fr}.kpi-value{font-size:30px}.form-row{flex-direction:column;align-items:stretch}.form-row input,.form-row input:first-child,.form-row button{flex:none;width:100%}.table-scroll{overflow-x:visible}table thead{display:none}table,tbody{display:block;width:100%}tbody tr{display:block;margin:14px;border:1px solid var(--border);border-radius:12px;background:#ffffff04;overflow:hidden}tbody tr:hover td{background:none}tbody td{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:right;padding:11px 14px;border-top:1px solid rgba(255,255,255,.05)}tbody tr td:first-child{border-top:none}tbody td:before{content:attr(data-label);flex:0 0 auto;text-align:left;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}tbody td.name{font-size:16px}td.spendcap{text-align:right}.cell-input{width:120px}td.actions{flex-wrap:wrap;justify-content:flex-end}td.actions:before{flex:1 0 100%}td.actions button:first-of-type{margin-left:0}td.row-error,td.empty{display:block;text-align:center}td.row-error:before,td.empty:before{content:none}}
