:root{--bg:#0A0A0B;--surface-1:#111114;--surface-2:#17171B;--elev:#1D1D22;--elev-2:#242429;--text:#FAFAFA;--text2:#9B9BA4;--muted:#71717A;--faint:#52525B;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--accent:#34D8A0;--accent-dim:#2BB587;--accent-soft:rgba(52,216,160,.12);--good:#34D8A0;--good-soft:rgba(52,216,160,.13);--warn:#E0A73B;--warn-soft:rgba(224,167,59,.13);--bad:#F0736A;--bad-soft:rgba(240,115,106,.13);--shadow:0 24px 60px rgba(0,0,0,.5);--rail:250px}[data-theme=light]{--bg:#F7F7F8;--surface-1:#FFFFFF;--surface-2:#F1F1F3;--elev:#FFFFFF;--elev-2:#FFFFFF;--text:#0A0A0B;--text2:#52525B;--muted:#71717A;--faint:#A1A1AA;--line:rgba(0,0,0,.09);--line2:rgba(0,0,0,.15);--accent:#1FB588;--accent-dim:#189C74;--accent-soft:rgba(31,181,136,.13);--good:#1FB588;--good-soft:rgba(31,181,136,.14);--warn:#B8791A;--warn-soft:rgba(184,121,26,.14);--bad:#D5493F;--bad-soft:rgba(213,73,63,.12);--shadow:0 24px 60px rgba(0,0,0,.14)}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:450;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;color:inherit}svg{display:block}::selection{background:var(--accent-soft)}.scroll{overflow-y:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line2);background:transparent;color:var(--text);font-size:13.5px;font-weight:500;padding:10px 15px;border-radius:9px;transition:.14s}.btn:hover{border-color:var(--line2);background:color-mix(in srgb,var(--text) 5%,transparent)}.btn svg{width:16px;height:16px;stroke:currentColor}.btn.primary{background:var(--text);border-color:var(--text);color:var(--bg);font-weight:600}.btn.primary:hover{opacity:.9}.btn.accent{background:var(--accent);border-color:var(--accent);color:#06110c;font-weight:600}.btn.accent:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.btn.wide{width:100%}.btn.sm{padding:7px 12px;font-size:12.5px}.btn.ghost{border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:13px;padding:18px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}.pill.good{color:var(--good);background:var(--good-soft)}.pill.warn{color:var(--warn);background:var(--warn-soft)}.pill.mut{color:var(--muted);background:var(--surface-2)}.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}.lbl{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;font-weight:500;color:var(--text2);margin:0 0 7px}.fld{width:100%;background:var(--surface-2);border:1px solid var(--line2);border-radius:9px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:14px}.fld:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.msg{font-size:13px;padding:10px 12px;border-radius:9px;margin-bottom:14px}.msg.err{background:var(--bad-soft);color:var(--bad)}.msg.ok{background:var(--good-soft);color:var(--good)}.muted{color:var(--muted)}.sub{color:var(--text2)}.auth{position:relative;min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg);color:var(--text)}.authnav{position:absolute;top:0;right:0;display:flex;align-items:center;gap:4px;padding:20px 26px;z-index:5}.authnav a{color:var(--text2);font-size:13.5px;font-weight:500;padding:8px 12px;border-radius:8px}.authnav a:hover{color:var(--text);background:var(--surface-2)}.authnav a.home{color:var(--text);border:1px solid var(--line2);margin-left:6px}.authnav .themebtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line2);border-radius:8px;background:transparent;color:var(--text2);margin-left:8px;cursor:pointer}.authnav .themebtn:hover{color:var(--text);border-color:var(--line2);background:var(--surface-2)}.authnav .themebtn svg{width:16px;height:16px;stroke:currentColor}@media (max-width:860px){.authnav a:not(.home){display:none}}@media (max-width:860px){.auth{grid-template-columns:1fr}}.auth .side{position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(closest-side at 50% 35%,var(--accent-soft),transparent 70%),var(--surface-1);border-right:1px solid var(--line)}@media (max-width:860px){.auth .side{display:none}}.auth .mark{width:min(40vh,300px);aspect-ratio:1;border-radius:56px;background:var(--accent);display:grid;place-items:center;box-shadow:0 40px 120px #34d8a047}.auth .mark svg{width:44%;height:44%}.auth .panel{display:flex;flex-direction:column;justify-content:center;padding:48px min(8vw,72px)}.auth .brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:22px;letter-spacing:-.03em;margin-bottom:34px}.auth .brand .m{width:26px;height:26px;border-radius:7px;background:var(--accent);display:grid;place-items:center}.auth h1{font-size:clamp(26px,3.6vw,34px);letter-spacing:-.03em;margin:0 0 6px}.auth .lead{color:var(--text2);margin:0 0 26px}.auth form{max-width:400px}.tabs{display:flex;margin-bottom:20px;border-bottom:1px solid var(--line);max-width:400px}.tabs button{flex:1;border:0;background:transparent;padding:11px;font-weight:500;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--text);border-color:var(--accent)}.oauth{display:flex;flex-direction:column;gap:10px;max-width:400px;margin-bottom:18px}.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line2);background:var(--surface-2);border-radius:9px;padding:11px;font-size:14px;font-weight:500}.gbtn:hover{border-color:var(--line2);background:var(--surface-1)}.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;max-width:400px;margin:0 0 18px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.fine{color:var(--muted);font-size:12.5px;margin-top:22px;max-width:400px;line-height:1.5}.app{display:grid;grid-template-columns:var(--rail) 1fr;height:100vh}@media (max-width:760px){.app{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{background:var(--surface-1);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:18px 20px;font-weight:700;font-size:17px;letter-spacing:-.03em}.sidebar .brand .m{width:26px;height:26px;border-radius:7px;background:var(--accent);display:grid;place-items:center;flex:none}.nav{padding:6px 12px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav .sec{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:14px 10px 6px}.nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--text2);font-size:13.5px;font-weight:500}.nav a svg{width:17px;height:17px;flex:none;stroke:currentColor}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.on{background:var(--accent-soft);color:var(--text)}.nav a .pill{margin-left:auto}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:58px;flex:none;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 22px}.topbar .crumb{font-size:13px;color:var(--muted)}.topbar .crumb b{color:var(--text)}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.iconbtn{width:34px;height:34px;border:1px solid var(--line);background:var(--surface-1);border-radius:9px;display:grid;place-items:center;color:var(--text2)}.iconbtn:hover{border-color:var(--line2);color:var(--text)}.iconbtn svg{width:17px;height:17px;stroke:currentColor}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#2563eb);display:grid;place-items:center;font-weight:700;font-size:13px;color:#06110c}.canvas{flex:1;min-height:0;overflow-y:auto;padding:28px 32px 60px}.pagehead{margin-bottom:22px}.pagehead .greet{font-size:26px;font-weight:600;letter-spacing:-.02em}.pagehead .date{color:var(--muted);font-size:13.5px;margin-top:4px}.grid{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.grid>*{grid-column:span 4}.span6{grid-column:span 6}.span8{grid-column:span 8}.span12{grid-column:span 12}@media (max-width:900px){.grid>*{grid-column:span 12}}.widgethead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.widgethead h3{font-size:14px}.metric{display:flex;align-items:baseline;gap:9px}.metric b{font-size:32px;font-weight:600;letter-spacing:-.03em}.rowitem{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.rowitem:first-of-type{border-top:0}.rowitem .t{font-size:13.5px;font-weight:500}.rowitem .s{font-size:12px;color:var(--muted)}.tmini a{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:13.5px;font-weight:500;margin-bottom:8px}.tmini a:hover{border-color:var(--line2)}
