*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;color:#172033}
:root{--navy:#0d2a5b;--gold:#d6a43a;--green:#138a52;--red:#c0392b;--muted:#667085}
a{text-decoration:none;color:inherit}.topbar{height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#fff}.layout{display:flex;min-height:calc(100vh - 64px)}.sidebar{width:240px;background:#10244a;color:#fff;padding:18px 12px;flex:none}.sidebar a{display:block;padding:11px 13px;border-radius:8px;margin:3px 0;color:#dce5f6}.sidebar a:hover,.sidebar a.active{background:#17386f;color:#fff}.main{padding:22px;flex:1;overflow:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 18px rgba(13,42,91,.07);margin-bottom:18px}.stat{border-left:4px solid var(--gold)}.stat h3{margin:0;color:var(--muted);font-size:13px}.stat .num{font-size:30px;font-weight:800;margin-top:8px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-title h2{margin:0}.btn{border:0;border-radius:7px;padding:9px 13px;cursor:pointer;display:inline-block;font-weight:600}.btn.primary{background:var(--navy);color:#fff}.btn.gold{background:var(--gold);color:#172033}.btn.green{background:var(--green);color:#fff}.btn.danger{background:var(--red);color:#fff}.btn.full{width:100%}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d7dce5;border-radius:7px;background:#fff;margin:5px 0 12px}label{font-size:13px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e8ecf2;text-align:left;font-size:13px;white-space:nowrap}th{background:#edf2fa;color:#10244a}.badge{padding:4px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#e8eef8}.alert{padding:11px;border-radius:7px;margin-bottom:14px}.success{background:#e7f6ee;color:#12613d}.danger{background:#fdecea;color:#8b1e16}.muted{color:var(--muted)}.small{font-size:12px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d2a5b,#e8eef8)}.login-card{width:min(420px,92vw);background:#fff;padding:30px;border-radius:16px;text-align:center;box-shadow:0 15px 45px rgba(0,0,0,.2)}.login-logo{width:95px;height:95px;object-fit:cover;border-radius:50%;background:#fff}.login-card h1{font-size:20px;margin:12px 0 3px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-head{text-align:center;border-bottom:3px solid var(--gold);padding-bottom:12px;margin-bottom:15px}.report-head img{width:70px;height:70px;object-fit:cover;border-radius:50%}.kpi{font-size:24px;font-weight:800}.right{text-align:right}.mobile-menu{display:none}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:200px}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.sidebar{display:none}.mobile-menu{display:block}.layout{display:block}.main{padding:12px}.grid,.form-grid,.two-col{grid-template-columns:1fr}.topbar{padding:0 10px}.brand span{display:none}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.main{padding:0}.card{box-shadow:none;border:0}body{background:#fff}}
