:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#153330;background:#f4f8f7}*{box-sizing:border-box}body{margin:0}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}aside{background:#103c38;color:#e6f5ef;display:flex;flex-direction:column;padding:26px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:4px 12px 28px}.brand strong{font-size:22px}.brand small{display:block;font-size:11px;opacity:.7}.logo{background:#cef1e0;color:#13483b;padding:12px;border-radius:12px;font-weight:900}nav{display:flex;flex-direction:column;gap:5px}nav button{text-align:left;color:#d7e8e4;border:0;background:transparent;padding:12px 14px;border-radius:10px;cursor:pointer;font-size:14px}nav button.active,nav button:hover{background:#2a6157;color:#fff}.sidefoot{margin-top:auto;padding:20px 12px;font-size:11px;line-height:1.8;color:#acc9c1}main{padding:30px max(24px,4vw);min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #d5e1dc;padding-bottom:20px;margin-bottom:24px}h1{font-size:30px;margin:4px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#4d8c7a;margin:0}h2{font-size:19px;margin:0 0 10px}h3{font-size:15px}.actions{display:flex;gap:7px;flex-wrap:wrap}button,.filelabel{cursor:pointer;border:1px solid #b6d1c8;padding:10px 14px;border-radius:8px;background:#fff;color:#205247;font-weight:700;font-size:12px}button.primary,.filelabel.primary{background:#176b59;border-color:#176b59;color:#fff}button.danger{color:#a43e3e;border-color:#eabcbc}button:hover,.filelabel:hover{filter:brightness(.96)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:16px 0 22px}.card,.panel{background:#fff;border:1px solid #dce8e3;border-radius:12px;padding:20px;box-shadow:0 2px 9px #12382d08}.metric{font-size:28px;font-weight:800;color:#165d50;margin:9px 0}.muted{color:#628077;font-size:12px;line-height:1.6}.lead{max-width:850px;line-height:1.7;color:#45625c}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:15px 0}label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#356457}input,select,textarea{width:100%;padding:10px;border:1px solid #bfd3cb;background:#fff;border-radius:7px;color:#173f38;font:inherit;font-weight:400}textarea{min-height:94px}.checkbox{flex-direction:row;align-items:center}.checkbox input{width:auto}.tag{display:inline-block;background:#e7f4ee;color:#245c4d;padding:5px 9px;border-radius:5px;font-size:11px;margin:3px}.warning{background:#fff5df;border:1px solid #e4ce8f;color:#70551b;border-radius:8px;padding:12px;margin:15px 0;font-size:13px}.ok{background:#e6f4eb;border:1px solid #b0d2bd;padding:12px;border-radius:8px;color:#27614d;margin:15px 0}.bad{background:#fff0ed;border:1px solid #fac9bf;padding:12px;border-radius:8px;color:#8e3929;margin:15px 0}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:10px;border-bottom:1px solid #e1eae7;text-align:left;vertical-align:top}th{color:#356759;background:#f0f7f4}tr:nth-child(2n){background:#fbfdfc}.scroll{overflow-x:auto;max-height:450px;overflow-y:auto}section#content{display:flex;flex-direction:column;gap:18px}footer{margin-top:35px;color:#7f9b92;font-size:11px}.spaced{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.mini{font-size:11px;color:#66857b}.bar{height:8px;border-radius:10px;background:#dce9e3;overflow:hidden}.bar>span{display:block;height:100%;background:#218a6c}.map{height:390px;background:linear-gradient(130deg,#e0eae6,#c4d9cd);border:1px solid #b7d0c5;border-radius:10px;overflow:hidden}.map svg{width:100%;height:100%}a{color:#176b59}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{height:auto;position:static;padding:12px}nav{flex-direction:row;overflow-x:auto}nav button{white-space:nowrap}.sidefoot{display:none}main{padding:20px 12px}header{align-items:flex-start;flex-direction:column}}.leaflet-map{height:430px;min-height:320px;border-radius:12px;margin:1rem 0;background:#e6eee9}
