:root{--navy:#123047;--blue:#1976a3;--light:#f2f6f8;--white:#fff;--text:#18313f;--muted:#6c7e88;--border:#dce6eb;--danger:#b42318;--ok:#157347;--warn:#9a6700}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--light);color:var(--text)}a{color:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:750;line-height:1.05}.brand small{font-weight:500;opacity:.75}.brand-mark{display:grid;place-items:center;width:46px;height:46px;background:#fff;color:var(--navy);border-radius:13px}.sidebar nav{display:grid;gap:7px;margin-top:34px}.sidebar nav a,.nav-muted{padding:12px 14px;border-radius:10px;text-decoration:none}.sidebar nav a:hover{background:#ffffff16}.nav-muted{opacity:.6;display:flex;justify-content:space-between}.nav-muted em{font-size:.72rem;font-style:normal}.logout{margin-top:auto}.logout button{width:100%;background:#ffffff12;color:#fff;border:1px solid #ffffff26;padding:11px;border-radius:10px;cursor:pointer}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.content{padding:32px;max-width:1500px}.hero{background:linear-gradient(120deg,var(--navy),#205f7e);color:#fff;padding:32px;border-radius:20px;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.hero h1{font-size:clamp(1.7rem,3vw,2.6rem);margin:.25rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;opacity:.7}.status-pill,.tag{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.8rem;background:#eaf4f8;color:#176182}.hero .status-pill{background:#ffffff19;color:#fff;white-space:nowrap}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:22px;box-shadow:0 6px 22px #173b4d0a}.card h2{margin-top:0}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dl{display:grid;grid-template-columns:170px 1fr;gap:11px;margin:0}dt{color:var(--muted)}dd{margin:0;font-weight:600}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.login-page,.error-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#d8eaf1,var(--light) 50%)}.login-card,.error-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:22px;padding:32px;box-shadow:0 25px 80px #173b4d1c}.login-brand{color:var(--navy);margin-bottom:34px}.login-brand .brand-mark{background:var(--navy);color:#fff}.login-card label{display:grid;gap:7px;margin:16px 0;font-weight:650}.login-card input{font:inherit;padding:12px 13px;border:1px solid #bdcdd5;border-radius:10px}.btn-primary{display:inline-flex;justify-content:center;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:12px 18px;text-decoration:none;font-weight:700;cursor:pointer}.login-card .btn-primary{width:100%;margin-top:10px}.alert{padding:12px;border-radius:10px}.alert-error{background:#fff0ef;color:var(--danger);border:1px solid #ffd1cc}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{padding:14px;position:static}.sidebar nav{grid-template-columns:1fr 1fr;margin-top:16px}.logout{margin-top:14px}.topbar{padding:0 18px}.content{padding:18px}.cards,.profile-grid,.check-grid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:12px}}

.alert-success{background:#ecfdf3;color:var(--ok);border:1px solid #a6f4c5}.login-links{margin-top:20px;text-align:center}.login-links a{color:var(--blue);font-weight:650;text-decoration:none}.login-links a:hover{text-decoration:underline}
