:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#15233b;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.eyebrow{margin:0 0 8px;color:#58709d;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.muted{color:#71809c}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#10224b 0 48%,#f5f7fb 48%)}.login-intro{padding:10vw 8vw;color:#fff}.login-intro .eyebrow{color:#9db8f5}.login-intro h1{max-width:670px;margin:24px 0;font-size:clamp(36px,5vw,68px);line-height:1.03}.login-intro>p:last-child{max-width:590px;color:#c9d5ed;font-size:18px;line-height:1.7}.brand-mark{display:inline-grid;place-items:center;width:62px;height:62px;border:1px solid #7299f0;border-radius:18px;background:#1e57d8;font-weight:900}.login-card{align-self:center;width:min(460px,80%);margin:auto;padding:42px;border:1px solid #dde4f0;border-radius:24px;background:#fff;box-shadow:0 24px 60px #23385d1c}.login-card h2{margin:0;font-size:30px}.login-card form{display:grid;gap:18px;margin-top:30px}.login-card label{display:grid;gap:8px;color:#34435e;font-size:14px;font-weight:700}.login-card input[type=email],.login-card input[type=password]{width:100%;padding:13px 14px;border:1px solid #ccd6e7;border-radius:10px;outline:none}.login-card input:focus{border-color:#1f60e8;box-shadow:0 0 0 3px #1f60e817}.remember{display:flex!important;align-items:center}.login-card button,.hero-card button{padding:13px 18px;border:0;border-radius:10px;background:#1f60e8;color:#fff;font-weight:800;cursor:pointer}.error{margin:0;padding:10px;border-radius:8px;background:#fff0f0;color:#b42318;font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;display:flex;flex-direction:column;background:#10224b;color:#d8e1f2}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 25px;border-bottom:1px solid #ffffff16}.brand span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#2463e9;color:#fff;font-weight:900}.brand small{font-weight:700}.sidebar nav{display:grid;gap:5px;margin-top:24px}.sidebar nav a{padding:11px 13px;border-radius:9px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff14;color:#fff}.sidebar form{margin-top:auto}.logout{width:100%;padding:11px;border:1px solid #ffffff24;border-radius:9px;background:transparent;color:#fff;cursor:pointer}.content{padding:36px 42px}.topbar,.section-heading{display:flex;justify-content:space-between;align-items:center}.topbar h1,.section-heading h2{margin:0}.role-badge,.section-heading>span{padding:8px 11px;border-radius:999px;background:#e7eefc;color:#1d52bd;font-size:12px;font-weight:800}.hero-card{margin:30px 0;padding:30px;display:flex;justify-content:space-between;align-items:center;border-radius:18px;background:linear-gradient(135deg,#1d59da,#3578ee);color:#fff;box-shadow:0 16px 32px #1d59da28}.hero-card .eyebrow{color:#c9d9ff}.hero-card h2{margin:0 0 5px;font-size:28px}.hero-card p:last-child{margin-bottom:0;color:#dee7fb}.hero-card button{background:#fff;color:#1d59da}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.module-card{padding:22px;border:1px solid #dfe5ef;border-radius:15px;background:#fff;box-shadow:0 5px 18px #2b3f6410}.module-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eaf1ff;color:#1f60e8;font-weight:900}.module-card h3{margin:18px 0 7px}.module-card p{min-height:63px;margin:0;color:#6f7d95;line-height:1.5;font-size:14px}.module-card a{display:flex;justify-content:space-between;margin-top:19px;color:#1f60e8;font-size:13px;font-weight:800}@media(max-width:900px){.login-shell{grid-template-columns:1fr;background:#f5f7fb}.login-intro{display:none}.login-card{width:min(460px,90%)}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{display:none}.content{padding:24px}.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.module-grid{grid-template-columns:1fr}.hero-card{align-items:flex-start;gap:20px;flex-direction:column}}
