:root{color:#101828;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.login-page{background:radial-gradient(circle at 0 0,#10b98129,#0000 32%),linear-gradient(135deg,#0f172a,#111827 52%,#064e3b);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffffff5;border:1px solid #ffffff59;border-radius:28px;width:min(100%,440px);padding:28px;box-shadow:0 24px 80px #00000047}.login-brand{align-items:center;gap:16px;margin-bottom:28px;display:flex}.brand-icon{color:#fff;letter-spacing:-.08em;background:#10b981;border-radius:18px;place-items:center;width:56px;height:56px;font-weight:900;display:grid}.brand-icon.small{border-radius:14px;width:42px;height:42px;font-size:14px}.login-brand h1{margin:0;font-size:26px;line-height:1}.login-brand p{color:#667085;margin:6px 0 0;font-size:14px}.login-form{gap:18px;display:grid}.form-header h2{margin:0;font-size:22px}.form-header p{color:#667085;margin:6px 0 0;font-size:14px}.login-form label{gap:8px;display:grid}.login-form label span{color:#344054;font-size:14px;font-weight:700}.login-form input{color:#101828;background:#fff;border:1px solid #d0d5dd;border-radius:14px;outline:none;width:100%;padding:14px 16px}.login-form input:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b98124}.login-form button,.topbar-user button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:14px;padding:14px 18px;font-weight:800}.login-form button:disabled{cursor:not-allowed;opacity:.7}.alert{border-radius:14px;padding:12px 14px;font-size:14px;font-weight:700}.alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.app-shell{background:#f3f5f7;grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0f172a;flex-direction:column;gap:26px;padding:24px;display:flex}.sidebar-brand{align-items:center;gap:12px;display:flex}.sidebar-brand strong{font-size:18px;display:block}.sidebar-brand span{color:#94a3b8;margin-top:2px;font-size:13px;display:block}.sidebar-nav,.admin-block{gap:8px;display:grid}.sidebar-nav a,.admin-block a{color:#cbd5e1;border-radius:12px;padding:12px 14px;font-weight:700}.sidebar-nav a.active,.sidebar-nav a:hover,.admin-block a:hover{color:#fff;background:#ffffff17}.admin-block{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:18px}.admin-block>span{color:#10b981;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.content{align-content:start;gap:24px;padding:30px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar h1{margin:0;font-size:30px}.topbar p{color:#667085;margin:6px 0 0}.topbar-user{background:#fff;border:1px solid #eaecf0;border-radius:18px;align-items:center;gap:14px;padding:10px 10px 10px 16px;display:flex}.topbar-user strong,.topbar-user span{display:block}.topbar-user span{color:#667085;font-size:13px}.topbar-user button{background:#0f172a;padding:10px 14px}.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.metric-card,.panel-card,.loading-card{background:#fff;border:1px solid #eaecf0;border-radius:22px;padding:22px;box-shadow:0 10px 35px #0f172a0a}.metric-card span{color:#667085;font-size:14px;font-weight:700;display:block}.metric-card strong{margin-top:10px;font-size:22px;display:block}.metric-card small{color:#667085;margin-top:8px;display:block}.panel-card h2{margin:0 0 18px}.roadmap-list{gap:12px;display:grid}.roadmap-list div{background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;gap:4px;padding:16px;display:grid}.roadmap-list span{color:#667085;font-size:14px}.loading-card{color:#667085}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;align-items:flex-start}}@media (width<=640px){.content{padding:18px}.cards-grid{grid-template-columns:1fr}.topbar-user{justify-content:space-between;width:100%}}
