:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#13263d;background:#eef2f6;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.shell{width:min(1180px,calc(100% - 32px));margin:32px auto 64px}
.login-card{width:min(460px,100%);margin:8vh auto 0;padding:32px;background:#fff;border:1px solid #dce4ec;border-radius:18px;box-shadow:0 18px 50px #162b4214}
.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#0b1d32;color:#fff;font-weight:800}
.eyebrow{margin:18px 0 4px;color:#54708e;font-size:.72rem;font-weight:800;letter-spacing:.14em}
h1,h2,p{margin-top:0}
h1{margin-bottom:8px;font-size:clamp(1.65rem,4vw,2.25rem)}
h2{margin-bottom:6px;font-size:1.2rem}
.muted,.footnote{color:#62758a}
.footnote{margin:24px 0 0;font-size:.83rem;line-height:1.5}
form{display:grid;gap:16px;margin-top:26px}
label{display:grid;gap:7px;font-size:.9rem;font-weight:650}
input,select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd6e1;border-radius:9px;background:white;color:#13263d}
button{border:0;border-radius:9px;padding:11px 15px;font-weight:700}
.primary{background:#1769aa;color:white}
.primary:hover{background:#0f578f}
.secondary{background:#e8eef4;color:#1c3a57}
.secondary:hover{background:#dce6ef}
.status{min-height:1.2em;color:#9b3b28}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}
.topbar .eyebrow{margin-top:0}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 20px}
.metrics article,.panel{background:#fff;border:1px solid #dce4ec;border-radius:14px}
.metrics article{padding:17px}
.metrics span{display:block;color:#63768a;font-size:.84rem}
.metrics strong{display:block;margin-top:8px;font-size:1.8rem}
.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}
.tab{white-space:nowrap;background:#dfe7ef;color:#2b4863}
.tab.active{background:#0b1d32;color:white}
.panel{padding:22px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-heading p{margin-bottom:0;color:#6b7e90;font-size:.9rem}
.legacy-heading{margin-top:36px;padding-top:24px;border-top:1px solid #e6ebf0}
.card-list{display:grid;gap:10px}
.request,.alert-card{padding:15px;border:1px solid #e0e7ee;border-radius:11px;background:#fbfcfd}
.request p,.alert-card p{margin:6px 0;color:#5f7185}
.request-actions{display:flex;gap:8px;margin-top:12px}
.request-actions button{padding:8px 11px}
.approve{background:#d9f1e3;color:#145c31}
.reject{background:#fae2e0;color:#8d261c}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}
th,td{padding:12px;border-bottom:1px solid #e8edf2;vertical-align:top}
th{color:#62758a;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
#map{height:430px;border-radius:12px;border:1px solid #dce4ec;z-index:0}
.alert-list{margin-top:18px}
.empty{padding:18px;color:#6b7e90;text-align:center;border:1px dashed #cad5df;border-radius:10px}
@media(max-width:760px){.shell{width:min(100% - 20px,1180px);margin:10px auto 36px}.login-card{margin-top:5vh;padding:24px}.topbar{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.panel{padding:15px}.section-heading{align-items:flex-start;flex-direction:column}}
