:root{color:#15251d;background:#eef3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.loading{place-items:center;min-height:100vh;font-size:1.8rem;font-weight:800;display:grid}.login{background:linear-gradient(#11271d40,#11271db8),url(https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1800&q=80) 50%/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#ffffffeb;border-radius:8px;grid-template-columns:1.2fr .8fr;gap:32px;width:min(980px,100%);padding:32px;display:grid;box-shadow:0 24px 80px #0000003d}.login h1,.brief h1,.page-head h1{letter-spacing:0;margin:0}.login h1{font-size:clamp(2.4rem,6vw,5.2rem)}.login form{align-content:center;gap:16px;display:grid}label{gap:7px;font-weight:700;display:grid}input,select{background:#fff;border:1px solid #b9c6bb;border-radius:6px;width:100%;padding:12px 13px}.login button,.row-actions button{color:#fff;background:#1c6b43;border:0;border-radius:6px;padding:12px 14px;font-weight:800}.form-error{color:#9b1c1c;font-weight:700}.eyebrow{color:#2d6950;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:900}.app-shell{grid-template-columns:238px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#15251d;flex-direction:column;gap:8px;padding:20px;display:flex}.brand{align-items:center;gap:10px;margin-bottom:20px;font-size:1.2rem;font-weight:900;display:flex}.sidebar button{color:#dfe9e2;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:11px 12px;display:flex}.sidebar button.active,.sidebar button:hover{background:#264c36}.sidebar .logout{margin-top:auto}.workspace{padding:28px;overflow:auto}.brief,.page-head{grid-template-columns:minmax(280px,1fr) auto;align-items:start;gap:24px;margin-bottom:24px;display:grid}.brief p,.page-head p{color:#4f6257;max-width:760px}.kpis{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;display:grid}.metric{background:#fff;border:1px solid #cfdbd2;border-radius:8px;min-width:0;padding:12px}.metric span,.metric small{color:#607168;display:block}.metric strong{margin:4px 0;font-size:1.45rem;display:block}.block-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;display:grid}.block-card,.alert-row{background:#fff;border:1px solid #d5ded7;border-left:7px solid #6d7b71;border-radius:8px;padding:16px}.severity-critical{border-left-color:#b42318}.severity-warning{border-left-color:#c77700}.severity-info{border-left-color:#3277a8}.severity-normal{border-left-color:#2f8755}.block-head{justify-content:space-between;gap:12px;display:flex}.block-head h2,.alert-row h2{margin:0;font-size:1.1rem}.block-head p,.alert-row p{color:#5e6e65;margin:5px 0 0}.badge{color:#243a2d;text-transform:uppercase;background:#edf3ef;border-radius:999px;align-self:start;padding:5px 9px;font-size:.72rem;font-weight:900}.tile-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;display:grid}.tile-footer{color:#526057;flex-wrap:wrap;gap:12px;font-size:.88rem;display:flex}.tile-footer span,.weather-row span{align-items:center;gap:5px;display:inline-flex}.alert-list{gap:12px;display:grid}.alert-row{grid-template-columns:1fr auto;align-items:center;gap:16px;display:grid}.row-actions{gap:8px;display:flex}.row-actions button{justify-content:center;align-items:center;min-width:42px;min-height:42px;display:inline-flex}.map-layout{grid-template-columns:minmax(420px,1fr) 320px;gap:18px;display:grid}svg{background:#e2eadf;border:1px solid #cad7ce;border-radius:8px;width:100%;min-height:560px}svg text{fill:#13261b;font-weight:900}svg circle{fill:#13261b;stroke:#fff;stroke-width:3px}.map-side{align-content:start;gap:10px;display:grid}.weather-row{background:#fff;border:1px solid #d3ded6;border-radius:8px;grid-template-columns:1fr .7fr;gap:8px;padding:12px;display:grid}@media (width<=920px){.app-shell,.login-panel,.brief,.page-head,.map-layout{grid-template-columns:1fr}.sidebar{z-index:2;flex-flow:wrap;position:sticky;top:0}.brand{width:100%;margin-bottom:8px}.sidebar .logout{margin-top:0;margin-left:auto}.kpis,.tile-metrics,.alert-row{grid-template-columns:1fr}.workspace{padding:18px}}
