@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#193d3b;--muted:#74817b;--line:#e2e7df;--paper:#f6f7f2;--green:#236a53}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d59b46;outline-offset:3px}button{transition:background .15s,transform .15s}button:hover{filter:brightness(.96)}.rail{position:fixed;inset:0 auto 0 0;width:72px;background:#163b38;display:flex;align-items:center;flex-direction:column;z-index:1100;padding:18px 0;gap:24px}.brand{font:800 42px 'Manrope',sans-serif;text-decoration:none;color:#fff;line-height:1}.brand span{color:#b9d791}.rail-button{border:0;background:none;color:#acbeb3;font-size:25px;width:42px;height:42px;border-radius:10px}.rail-button.active{background:#35564e;color:#e4efdd;margin-top:38px}.rail-bottom{margin-top:auto;color:#bdd0c1;font-size:11px;letter-spacing:2px}.shell{margin-left:72px}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 36px;gap:58px;background:#fafbf7}.wordmark{font-family:Manrope,sans-serif;font-weight:800;font-size:27px;letter-spacing:-1.4px}.wordmark span{display:block;letter-spacing:3.6px;font-size:8px;font-weight:700;margin-top:0}nav{display:flex;align-items:center;gap:30px;height:100%;font-size:12px}nav button{border:0;background:none;color:#77847c;font-size:12px}.nav-active{height:100%;display:flex;align-items:center;border-bottom:2px solid var(--green);font-weight:700}.header-end{margin-left:auto;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.demo-dot{display:inline-block;height:7px;width:7px;background:#bd934b;border-radius:50%}.avatar{margin-left:14px;border:1px solid #dce3d8;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:10px;color:#49644e}main{max-width:1800px;margin:auto;padding:34px 36px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#6e8b73;margin-bottom:12px}h1{font:650 clamp(27px,2.65vw,40px)/1.2 Manrope,sans-serif;letter-spacing:-1.6px;margin:0}h1 span{color:#80917b}.intro p{font-size:12px;color:var(--muted);margin:14px 0 0}.primary{border:0;background:#24634e;color:white;padding:14px 21px;border-radius:7px;font-size:12px;font-weight:600;box-shadow:0 3px 5px #1d483914}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;border:1px solid var(--line);background:#fdfefb;border-radius:10px;margin-bottom:24px;overflow:hidden}.metrics article{padding:18px 23px;border-right:1px solid var(--line)}.metrics article:last-child{border-right:0}.metrics article>span{color:#7b877e;font-size:11px;display:block}.metrics strong{font:600 30px Manrope,sans-serif;display:inline-block;margin-top:6px;letter-spacing:-1px}.metrics small{color:#8c958d;font-size:9px;margin-left:12px}.metric-note{display:flex;align-items:center;gap:15px;background:#eef2e9}.metric-note b{font-size:11px;font-weight:600}.metric-note p{font-size:10px;color:#8a9484;margin:7px 0 0}.small-icon{color:#7c9570;font-size:30px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:530px;border:1px solid #dfe5dc;border-radius:10px;overflow:hidden;background:white}.map-panel{position:relative;display:flex;flex-direction:column;min-width:0}.map-toolbar{height:56px;padding:10px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fcfdf9}.tabs{display:flex;background:#edf0e9;border-radius:5px;padding:3px}.tabs button{background:none;color:#7a867c;border:0;border-radius:4px;padding:6px 14px;font-size:10px}.tabs .selected{background:white;color:var(--ink);box-shadow:0 1px 3px #0001}.outline{border:1px solid #dce2d8;background:white;border-radius:5px;color:#5f7568;font-size:10px;padding:7px 10px}#map{height:454px;flex:1;background:#d9e5df;z-index:1}.map-key{display:flex;gap:16px;align-items:center;padding:13px 16px;background:#fff;font-size:9px;flex-wrap:wrap;border-top:1px solid var(--line)}.map-key b{font-size:8px;letter-spacing:1px;color:#83907e}.map-key span{display:flex;align-items:center;gap:5px}.map-key i{height:6px;width:6px;border-radius:50%;background:var(--dot)}.reports-panel{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 16px}h2{font:700 17px Manrope,sans-serif;letter-spacing:-.5px;margin:0}.panel-heading p{font-size:10px;color:#8a938b;margin:5px 0 0}.count{font-size:10px;border:1px solid #e0e7db;background:#f1f4eb;padding:4px 8px;border-radius:5px}.filters{padding:0 18px 15px;border-bottom:1px solid var(--line)}.search{border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;padding:0 10px;gap:8px}.search span{font-size:21px;color:#7a8c7d}.search input{width:100%;border:0;outline:none;background:none;font-size:10px;padding:10px 0}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.filter-row select{width:100%;min-width:0;font-size:9px;padding:8px 4px;background:#fff;border:1px solid var(--line);border-radius:5px;color:#667c6b}.report-list{max-height:350px;min-height:285px;overflow-y:auto;flex:1}.report-card{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #e9ede6;background:#fff;padding:16px 19px;color:var(--ink)}.report-card:hover,.report-card.selected{background:#f2f6ee}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.category{color:var(--c);font-size:8px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;display:flex;align-items:center;gap:6px}.category i{width:6px;height:6px;border-radius:50%;background:var(--c)}.priority{font-size:8px;padding:3px 6px;border-radius:3px;background:#f2f2eb;color:#8a8d6e}.priority.high{background:#f8eae1;color:#b67446}.card-title{font-size:12px;font-weight:650;display:block;line-height:1.5}.card-place{display:block;color:#889587;font-size:10px;margin-top:5px}.card-bottom{display:flex;justify-content:space-between;margin-top:12px;color:#9aa296;font-size:8px}.export{border:0;border-top:1px solid var(--line);background:#fbfcf8;color:#65806a;font-size:10px;padding:14px}.empty{padding:30px 20px;color:var(--muted);line-height:1.8;font-size:12px}footer{padding:18px 0 22px;display:flex;justify-content:space-between;gap:20px;color:#91998c;font-size:9px;align-items:center}footer>span:first-child{font-size:8px;letter-spacing:.5px}footer .demo-dot{height:5px;width:5px;margin-right:5px}footer b{font-weight:600;margin-left:12px;color:#59745b}.footer-detail{letter-spacing:0}.leaflet-container{font-family:'DM Sans',sans-serif!important}.leaflet-control-attribution{font-size:8px!important}.leaflet-popup-content{font-size:12px;line-height:1.6}.leaflet-popup-content h3{margin:5px 0;font-size:14px;color:var(--ink)}.leaflet-popup-content p{margin:8px 0}.leaflet-popup-content small{color:#7b857d}.incident-marker{background:none;border:0}.pin{width:26px;height:26px;background:var(--c);border:3px solid white;box-shadow:0 2px 9px #173c3a42;border-radius:50%;display:grid;place-items:center;color:white;font-size:9px}.pin::after{content:'';width:5px;height:5px;background:#fff;border-radius:50%}dialog{border:1px solid var(--line);border-radius:15px;padding:27px;width:min(550px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #183b3a30}dialog::backdrop{background:#112e2c8a;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:14px}.dialog-header h2{font-size:22px}.dialog-header .eyebrow{margin-bottom:6px}.close{border:0;background:#eef2e9;border-radius:50%;width:28px;height:28px;font-size:21px;color:var(--ink);flex-shrink:0}form>label,.form-grid>label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;margin:13px 0}form input,form select,form textarea{width:100%;padding:10px;border:1px solid #d8e1d6;border-radius:5px;color:var(--ink);background:#fcfdf9;font-size:12px}form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-note{font-size:10px;line-height:1.6;color:#7d8a7b}.location-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:10px}.location-heading button{border:0;background:none;font-size:11px;color:var(--green)}.submit{width:100%;margin-top:10px}#form-status{font-size:11px;color:#966533}#guide-dialog p,#guide-dialog li{font-size:13px;line-height:1.9;color:#617365}#guide-dialog ol{padding-left:20px}#guide-dialog li{margin:12px 0}.guide-warning{background:#f7f0df;border-radius:7px;padding:14px;color:#8b753e;font-size:11px;line-height:1.6}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#183d36;color:white;border-radius:8px;font-size:12px;z-index:2000;display:none}
@media(min-width:1500px){#map{min-height:540px}.report-list{max-height:435px}}@media(max-width:1100px){header{gap:25px;padding:0 24px}main{padding:28px 24px 0}.metrics small{display:block;margin:0}.metrics{grid-template-columns:1fr 1fr 1fr}.metric-note{display:none!important}.workspace{grid-template-columns:minmax(0,1fr) 310px}.header-end{font-size:0}.header-end .avatar{font-size:10px}.map-key{gap:9px}.footer-detail{display:none}}@media(max-width:760px){.rail{width:49px}.brand{font-size:32px}.rail-button{width:34px;height:34px}.shell{margin-left:49px}header{height:68px;padding:0 16px;gap:12px}.wordmark{font-size:22px}nav{margin-left:auto}nav .nav-active{display:none}nav button{font-size:10px}.header-end{display:none}main{padding:25px 14px 0}.intro{display:block;margin-bottom:20px}h1{font-size:29px;letter-spacing:-1px}.intro p{font-size:11px;line-height:1.7}.intro .primary{margin-top:19px}.metrics article{padding:12px 10px}.metrics article>span{font-size:9px}.metrics strong{font-size:25px}.metrics small{font-size:8px}.workspace{display:flex;flex-direction:column}#map{height:360px;min-height:360px;flex:auto}.reports-panel{border-left:0;border-top:1px solid var(--line)}.report-list{max-height:340px;min-height:100px}.map-key{font-size:8px;padding:11px}.map-key b{width:100%}footer{align-items:start;line-height:1.8}footer>span:last-child{display:none}.form-grid{gap:8px}dialog{padding:20px}.dialog-header h2{font-size:19px}}
