:root{--bg: #f7f7f8;--panel: #ffffff;--panel-2: #fbfbfc;--line: #e3e3e7;--line-strong: #cfcfd6;--text: #17171b;--muted: #6b6b76;--accent: #3b5bdb;--accent-text: #ffffff;--danger: #c92a2a;--danger-bg: #fff5f5;--ok: #2b8a3e;--ok-bg: #f2fbf4;--warn: #a5651a;--warn-bg: #fff9db;--radius: 8px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--chart-1: #3b5bdb;--chart-2: #c92a2a;--chart-grid: #e8e8ec;--chart-axis: #8a8a94}@media(prefers-color-scheme:dark){:root{--bg: #131316;--panel: #1b1b1f;--panel-2: #202025;--line: #2c2c33;--line-strong: #3d3d46;--text: #ececf0;--muted: #9a9aa6;--accent: #748ffc;--accent-text: #10101a;--danger: #ff8787;--danger-bg: #2a1618;--ok: #69db7c;--ok-bg: #14241a;--warn: #ffd43b;--warn-bg: #2a2413;--chart-1: #4c6ef5;--chart-2: #f03e3e;--chart-grid: #2c2c33;--chart-axis: #7a7a86}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex:0 0 232px;border-right:1px solid var(--line);background:var(--panel);padding:18px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:baseline;gap:8px;padding:0 6px}.brand b{font-size:15px;letter-spacing:-.01em}.brand span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:block;padding:7px 10px;border-radius:6px;color:var(--text);text-decoration:none;font-weight:500}.nav a:hover{background:var(--panel-2)}.nav a.active{background:var(--accent);color:var(--accent-text)}.nav-group{padding:10px 10px 2px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.whoami{padding:0 6px;font-size:12px;color:var(--muted);word-break:break-all}.main{flex:1;min-width:0;padding:26px 30px 60px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h1{margin:0 0 4px;font-size:20px;letter-spacing:-.015em}.page-head p{margin:0;color:var(--muted);max-width:62ch}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;overflow:hidden}.card>h2{margin:0;padding:12px 16px;font-size:13px;font-weight:600;border-bottom:1px solid var(--line);background:var(--panel-2)}.card-body{padding:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 16px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--panel-2)}tbody tr:last-child td{border-bottom:none}td.right,th.right{text-align:right;white-space:nowrap}.mono{font-family:var(--mono);font-size:12px}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label{font-size:12px;font-weight:500;color:var(--muted)}.field.grow{flex:1 1 180px}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:6px;padding:7px 9px;min-width:0;width:100%}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}input[type=checkbox]{width:auto}.checks{display:flex;flex-wrap:wrap;gap:10px}.checks label{display:inline-flex;align-items:center;gap:5px;font-size:13px}button{font:inherit;font-weight:500;padding:7px 13px;border-radius:6px;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--danger);border-color:var(--line-strong)}button.danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}button.small{padding:4px 9px;font-size:12px}.note{padding:10px 13px;border-radius:6px;border:1px solid var(--line);margin-bottom:14px;font-size:13px}.note.error{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}.note.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok)}.note.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn)}.empty{padding:26px 16px;text-align:center;color:var(--muted)}.muted{color:var(--muted)}.badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap}.badge.ok{color:var(--ok);border-color:var(--ok);background:var(--ok-bg)}.badge.off{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.badge.accent{color:var(--accent);border-color:var(--accent)}.badge-row{display:inline-flex;flex-wrap:wrap;gap:4px}.token{display:flex;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;word-break:break-all;margin-top:8px}.signin{min-height:100vh;display:grid;place-items:center;padding:24px}.signin form{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.signin h1{margin:0 0 6px;font-size:18px}.signin p{margin:0 0 18px;color:var(--muted);font-size:13px}.signin button{width:100%;margin-top:14px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.clerk-box{margin-bottom:4px}.clerk-box>button{width:100%}.divider{display:flex;align-items:center;gap:10px;margin:16px 0 4px;color:var(--muted);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}@media(max-width:720px){.shell{flex-direction:column}.sidebar{width:auto;flex:none;border-right:none;border-bottom:1px solid var(--line)}.nav{flex-direction:row;flex-wrap:wrap;align-items:center}.nav-group{width:100%;padding:6px 2px 0}.main{padding:20px 16px 50px}}.meter{margin-bottom:12px}.meter:last-child{margin-bottom:0}.meter-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:4px}.meter-head span:first-child{font-weight:500}.meter-head span:last-child{color:var(--muted)}.meter-track{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.meter-fill{height:100%;border-radius:999px}.meter-fill.ok{background:var(--ok)}.meter-fill.warn{background:var(--warn)}.meter-fill.over{background:var(--danger)}.meter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 24px}.chart{width:100%;height:auto;display:block}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-top:10px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel-2)}.toolbar .field{min-width:150px}.toolbar .spacer{flex:1}.steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.step{display:flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted);background:var(--panel)}.step.active{border-color:var(--accent);color:var(--accent)}.step.done{border-color:var(--ok);color:var(--ok)}.step b{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:11px;background:var(--line);color:var(--text)}.step.active b{background:var(--accent);color:var(--accent-text)}.step.done b{background:var(--ok);color:var(--panel)}.chart-wrap{position:relative}.chart-tip{position:absolute;z-index:2;pointer-events:none;background:var(--panel);border:1px solid var(--line-strong);border-radius:6px;padding:7px 10px;font-size:12px;line-height:1.45;box-shadow:0 4px 14px #00000029;white-space:nowrap}.chart-tip b{display:block;margin-bottom:3px}.chart-tip .row{display:flex;align-items:center;gap:6px}.chart-tip .row span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}.tenant-shell{display:flex;align-items:flex-start;gap:0;min-height:0}.rail{width:232px;flex:0 0 232px;align-self:stretch;border-right:1px solid var(--line);background:var(--panel);border-radius:var(--radius) 0 0 var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 76px);position:sticky;top:26px}.rail-head{padding:12px;border-bottom:1px solid var(--line)}.rail-head label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:7px}.rail-list{overflow-y:auto;padding:6px;flex:1;min-height:0}.rail-item{display:block;padding:7px 9px;border-radius:6px;text-decoration:none;color:var(--text);margin-bottom:1px}.rail-item:hover{background:var(--panel-2)}.rail-item.current{background:var(--accent);color:var(--accent-text)}.rail-name{display:block;font-weight:500;font-size:13px}.rail-detail{display:block;font-size:11px;color:var(--muted);margin-top:1px}.rail-item.current .rail-detail{color:var(--accent-text);opacity:.8}.rail-empty{padding:18px 10px;text-align:center;color:var(--muted);font-size:12px;margin:0}.rail-foot{display:block;padding:10px 12px;border-top:1px solid var(--line);font-size:13px;font-weight:500;text-decoration:none;color:var(--accent)}.rail-foot:hover{background:var(--panel-2)}.tenant-main{flex:1;min-width:0;padding-left:24px}.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:8px 12px;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}@media(max-width:900px){.tenant-shell{flex-direction:column;align-items:stretch}.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs a{white-space:nowrap}.rail{width:auto;flex:none;align-self:stretch;position:static;max-height:220px;border-right:none;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;margin-bottom:18px}.tenant-main{padding-left:0}}a.small{display:inline-block;padding:4px 9px;font-size:12px;font-weight:500;border:1px solid var(--line-strong);border-radius:6px;color:var(--text);text-decoration:none}a.small:hover{border-color:var(--muted)}
