@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";:root{color:#111827;font-synthesis:none;--midnight:#0b1020;--violet:#7c3aed;--pink:#ff2d7a;--blue:#09f;--cloud:#f2f4f7;--white:#fff;--muted:#667085;--line:#e4e7ec;--radius:16px;background:#f2f4f7;font-family:Poppins,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer;border:0;border-radius:12px;min-height:44px;font-weight:600}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--midnight);color:#fff;flex-direction:column;padding:28px 20px;display:flex}.odioka-lockup{align-items:center;gap:8px;display:flex}.odioka-mark{width:36px;height:36px}.odioka-wordmark{letter-spacing:-1px;font-size:25px;font-weight:700}.sidebar nav{gap:6px;margin-top:44px;display:grid}.sidebar a{color:#c8cedb;border-radius:12px;padding:12px;text-decoration:none}.sidebar a.active,.sidebar a:hover{color:#fff;background:#24243f}.sidebar-foot{color:#9ca3af;margin-top:auto;font-size:12px;line-height:1.7}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:112px;padding:24px 36px;display:flex}.topbar h1{margin:2px 0 0;font-size:30px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--violet);font-size:12px;font-weight:700}.avatar{color:#5b21b6;background:#eee8ff;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.content{padding:32px 36px}.hero-card{color:#fff;background:radial-gradient(circle at 90% 20%,#35207d 0,transparent 34%),var(--midnight);border-radius:24px;padding:28px;overflow:hidden}.hero-card h2{margin:8px 0;font-size:28px}.hero-card p{color:#d0d5dd;max-width:720px}.primary{background:linear-gradient(90deg,var(--violet),var(--pink));color:#fff;padding:0 20px}.secondary{color:var(--midnight);border:1px solid var(--line);background:#fff;padding:0 20px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px;box-shadow:0 8px 24px #1018280a}.card h3{margin:0 0 10px;font-size:17px}.metric{font-size:30px;font-weight:700}.muted{color:var(--muted);font-size:14px}.status{border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.status-live{color:#c11574;background:#fff0f5}.status-success{color:#067647;background:#ecfdf3}.status-warning{color:#b54708;background:#fffaeb}.status-neutral{color:#344054;background:#f2f4f7}.empty{text-align:center;border-radius:var(--radius);min-height:160px;color:var(--muted);border:1px dashed #d0d5dd;place-items:center;display:grid}.auth-page{background:var(--midnight);grid-template-columns:minmax(320px,1fr) minmax(420px,560px);min-height:100vh;display:grid}.auth-brand{color:#fff;background:radial-gradient(circle at 10% 85%,#7c3aed8c,#0000 35%),radial-gradient(circle at 85% 20%,#0099ff4d,#0000 30%);flex-direction:column;justify-content:space-between;padding:clamp(32px,7vw,96px);display:flex}.auth-brand h1{max-width:760px;margin:48px 0 16px;font-size:clamp(34px,5vw,64px);line-height:1.04}.auth-brand p{color:#d0d5dd;max-width:620px;font-size:17px;line-height:1.7}.auth-panel{background:var(--cloud);align-content:center;padding:clamp(28px,6vw,80px);display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:32px;box-shadow:0 18px 48px #10182826}.auth-card h2{margin:0 0 8px;font-size:28px}.auth-card p{color:var(--muted);line-height:1.6}.auth-actions{gap:12px;margin-top:28px;display:grid}.auth-actions button{width:100%}.auth-error{max-width:620px;margin:auto}.auth-error code{overflow-wrap:anywhere;color:#344054;background:#f2f4f7;border-radius:8px;margin-top:16px;padding:10px;display:block}:focus-visible{outline-offset:3px;outline:3px solid #09f}@media (prefers-reduced-motion:no-preference){.status-live .status-dot{animation:1.8s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px #ff2d7a26}}}@media (width<=800px){.app-shell,.auth-page{grid-template-columns:1fr}.sidebar{display:none}.topbar,.content{padding-left:20px;padding-right:20px}.grid{grid-template-columns:1fr}.auth-brand{min-height:300px}.auth-panel{min-height:420px}}
