:root{--bg: #0b0d10;--panel: #13161b;--panel2: #191d23;--line: #262b33;--text: #e8eaed;--muted: #8b939e;--accent: #ff6a2b;--accent2: #ffb347;--green: #2fbf71;--amber: #f2b33d;--red: #ef4f4f;--blue: #5aa0ff;--radius: 10px;font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-size:14px;line-height:1.5}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0 0 4px;font-weight:600;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 12px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:var(--panel);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 18px;font-weight:700;letter-spacing:.14em}.brand img{width:26px;height:26px}.brand small{display:block;font-weight:400;letter-spacing:0;color:var(--muted);font-size:11px}.nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--muted)}.nav a:hover{background:var(--panel2);color:var(--text);text-decoration:none}.nav a.on{background:var(--panel2);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav .sect{margin:14px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#5d646e}.side .foot{margin-top:auto;padding:10px;font-size:12px;color:var(--muted)}.main{padding:28px 32px 48px;max-width:1280px;width:100%}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:22px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}.acct{cursor:pointer;transition:border-color .15s}.acct:hover{border-color:#3a414c}.acct .row{display:flex;justify-content:space-between;align-items:center}.figs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.figs .v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.pos{color:var(--green)}.neg{color:var(--red)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--panel2);border:1px solid var(--line)}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.running{color:var(--green)}.pill.paused{color:var(--amber)}.pill.suspended{color:var(--red)}.pill.offline{color:var(--muted)}.pill.critical{color:var(--red)}.pill.warning{color:var(--amber)}.pill.info{color:var(--blue)}.pill.paid,.pill.done,.pill.active{color:var(--green)}.pill.unpaid,.pill.acked,.pill.queued,.pill.overdue{color:var(--amber)}.pill.failed{color:var(--red)}.pill.void,.pill.superseded,.pill.cancelled,.pill.stopped,.pill.disabled{color:var(--muted)}.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.tbl th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line)}.tbl td{padding:10px;border-bottom:1px solid #1d2128;vertical-align:middle}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--panel2)}.tbl .r{text-align:right}.scroll{overflow-x:auto}label{display:block;font-size:12px;color:var(--muted);margin:0 0 4px}input,select,textarea{width:100%;background:#0f1216;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 11px;font:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{font-family:ui-monospace,Consolas,monospace;font-size:13px;min-height:180px}.field{margin-bottom:14px}.frow{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){border-color:#3a414c}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,var(--accent2),var(--accent));color:#1a0d05;border:none}.btn.danger{color:#fff;background:#b53434;border-color:#b53434}.btn.warn{color:var(--amber)}.btn.sm{padding:5px 10px;font-size:12px}.btns{display:flex;gap:10px;flex-wrap:wrap}.err{background:#2a1416;border:1px solid #5a2328;color:#ffb3b3;padding:9px 12px;border-radius:8px;margin-bottom:14px}.ok{background:#11261b;border:1px solid #1f5236;color:#a8ecc6;padding:9px 12px;border-radius:8px;margin-bottom:14px}.note{background:var(--panel2);border:1px solid var(--line);padding:10px 12px;border-radius:8px;color:var(--muted)}.mono{font-family:ui-monospace,Consolas,monospace}.center{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(800px 400px at 50% -10%,rgba(255,106,43,.12),transparent 70%),var(--bg)}.login{width:100%;max-width:380px}.login .brand{justify-content:center;padding-bottom:24px;font-size:18px}.login .brand img{width:34px;height:34px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:100%;max-width:460px}.chart{width:100%;height:240px;display:block}.chart .grid-l{stroke:#1f242b}.chart .axis{fill:var(--muted);font-size:11px}.tabs{display:inline-flex;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:2px}.tabs button{background:none;border:none;color:var(--muted);padding:5px 12px;border-radius:6px;cursor:pointer;font:inherit;font-size:12px}.tabs button.on{background:var(--panel);color:var(--text)}.disclaimer{margin-top:36px;font-size:11px;color:#5d646e;border-top:1px solid var(--line);padding-top:14px}@media (max-width: 860px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}.side .brand{padding:0 8px 0 0}.nav{display:flex;flex-wrap:wrap;gap:2px}.nav .sect,.side .foot{display:none}.main{padding:20px 16px 40px}}
