*{box-sizing:border-box}
:root{--navy:#12345a;--blue:#173f69;--red:#e53935;--bg:#f4f7fb;--text:#172033;--muted:#667085;--border:#dfe5ec}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0e2946,#173f69)}
.login-card{width:min(430px,92vw);background:#fff;padding:36px;border-radius:18px;box-shadow:0 20px 60px #0004}
.brand-mark{width:54px;height:54px;border-radius:12px;background:#e53935;color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;margin-bottom:16px}
h1{margin:0 0 8px}.muted{color:var(--muted)}
label{display:block;margin:18px 0 7px;font-weight:700}
input{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:8px;font-size:15px}
.btn{border:0;border-radius:8px;padding:12px 16px;font-weight:700;cursor:pointer}
.primary{background:var(--navy);color:#fff}.full{width:100%;margin-top:22px}
.alert{padding:12px;border-radius:8px;margin:15px 0}.error{background:#fee2e2;color:#991b1b}
.login-footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
.topbar{height:70px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 26px}
.topbar strong{font-size:20px}.topbar span{margin-left:14px;opacity:.8}
.top-actions{display:flex;gap:20px;align-items:center}.top-actions a{background:#fff;color:var(--navy);padding:8px 12px;border-radius:7px;font-weight:700}
.layout{display:flex;min-height:calc(100vh - 70px)}
.sidebar{width:230px;background:#fff;border-right:1px solid var(--border);padding:18px 12px}
.sidebar a{display:block;padding:11px 13px;border-radius:7px;margin-bottom:4px;color:#445}
.sidebar a.active,.sidebar a:hover{background:#eaf1f8;color:var(--navy);font-weight:700}
.content{flex:1;padding:30px}
.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.page-heading h1{margin:0}.page-heading p{margin:6px 0;color:var(--muted)}
.badge{background:#e8f1fb;color:var(--navy);padding:8px 12px;border-radius:20px;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px}
.card,.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px}
.card span{display:block;color:var(--muted);font-size:14px}.card strong{display:block;font-size:32px;margin-top:10px;color:var(--navy)}.card small{color:var(--muted)}
.panel{margin-top:22px}.panel h2{margin-top:0}
@media(max-width:800px){.sidebar{width:190px}.cards{grid-template-columns:repeat(2,1fr)}.topbar span{display:none}}
