.login-screen{background:linear-gradient(145deg,#e9f3f1,#f6f8fa 58%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dce8e7;border-radius:20px;width:min(100%,440px);padding:38px;box-shadow:0 20px 55px #173d4b1a}.login-brand{color:#15374a;align-items:center;gap:12px;margin-bottom:48px;font-size:22px;font-weight:800;display:flex}.login-card h1{letter-spacing:-.04em;margin:0;font-size:34px}.login-description{color:#647b84;margin:11px 0 28px}.login-card form{gap:10px;display:grid}.login-card label{margin-top:8px;font-size:13px;font-weight:700}.login-card input{border:1px solid #bacdd0;border-radius:9px;outline:0;width:100%;padding:12px 13px}.login-card input:focus{border-color:#258c82;box-shadow:0 0 0 3px #8bd4c658}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;font-weight:700}.primary-button{color:#fff;background:#186d69;margin-top:18px}.primary-button:hover{background:#125c58}.secondary-button{color:#315563;background:#fff;border:1px solid #c9dadd}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:wait}.form-error{color:#a52b35;font-size:13px}.topbar-actions{align-items:center;gap:15px;display:flex}.topbar-error{margin:12px 38px 0}.auth-loading{color:#42616d;place-items:center;min-height:100vh;display:grid}.auth-notice{color:#833537;background:#fff1f1;padding:9px 20px}@media (width<=560px){.login-card{padding:26px}.topbar{padding:0 16px}.topbar-actions{gap:7px}}:root{color:#142c3d;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f8;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}a{color:inherit}.app-shell{grid-template-columns:242px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#d7e9ed;background:#102b40;flex-direction:column;gap:10px;padding:26px 18px;display:flex}.brand{color:#fff;letter-spacing:-.04em;align-items:center;gap:12px;font-size:21px;font-weight:800;display:flex}.brand-mark{color:#0d3442;background:#77d3cb;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.sidebar-caption{color:#91b8c5;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px 25px;font-size:12px}.sidebar nav{gap:4px;display:grid}.nav-link{color:#c4d8df;border-radius:9px;padding:11px 13px;font-weight:600;text-decoration:none}.nav-link:hover,.nav-link:focus-visible{color:#fff;background:#234558}.nav-link.active{color:#fff;background:#2b5363;box-shadow:inset 3px 0 #77d3cb}.sidebar-note{color:#91b8c5;border-top:1px solid #315064;margin-top:auto;padding:16px 10px 0;font-size:12px}.workspace{min-width:0}.topbar{background:#fff;border-bottom:1px solid #e1e8eb;justify-content:space-between;align-items:center;height:70px;padding:0 38px;font-weight:700;display:flex}.environment-tag{color:#28726c;background:#e1f4ef;border-radius:999px;padding:6px 11px;font-size:12px}.content{max-width:1160px;margin:0 auto;padding:47px 38px}.page-header{margin-bottom:30px}.eyebrow{color:#39857d;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:800}.page-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(28px,3vw,38px);font-weight:800}.page-header p:last-child{color:#607581;margin:12px 0 0}.panel{background:#fff;border:1px solid #e3eaed;border-radius:17px;min-height:340px;padding:24px;box-shadow:0 8px 30px #2445580a}.panel h2{margin-top:0}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:290px;display:flex}.empty-symbol{color:#408d85;background:#e8f6f2;border-radius:16px;place-items:center;width:56px;height:56px;font-size:31px;display:grid}.empty-state h2{margin:19px 0 4px;font-size:19px;font-weight:700}.empty-state p{color:#6e818b;max-width:440px;margin:0;line-height:1.6}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{padding:15px}.sidebar-caption,.sidebar-note{display:none}.sidebar nav{gap:4px;display:flex;overflow-x:auto}.nav-link{white-space:nowrap}.topbar{height:60px;padding:0 20px}.content{padding:28px 20px}}
