:root{--forest:#10291e;--forest2:#09241a;--green:#16895b;--mint:#73e7aa;--line:#e4eae6;--bg:#f5f8f6;--ink:#1b3428;--muted:#708177;--display:'Manrope',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font:14px/1.6 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #63d69c;outline-offset:2px}#app{display:flex;height:100vh;min-height:560px;overflow:hidden}.demo-sidebar{width:256px;flex-shrink:0;background:linear-gradient(180deg,#103121,#092218);color:#dcece2;display:flex;flex-direction:column;position:relative;z-index:50}.demo-logo{height:90px;display:flex;align-items:center;gap:13px;padding:0 26px;border-bottom:1px solid #284535;color:white;font:800 23px/1 var(--display);letter-spacing:-1px}.demo-logo-mark{height:39px;width:39px;background:#c4f8d7;border-radius:12px;display:grid;place-items:center;color:#123c27;font:800 24px var(--display)}.demo-logo-mark span{color:#16774a}.demo-logo>span:last-child{display:flex;flex-direction:column}.demo-logo small{display:block;font:700 7px/2 var(--display);letter-spacing:1.6px;color:#92b49d}.sidebar-label{font:800 9px var(--display);letter-spacing:1.6px;color:#719783;padding:37px 25px 14px}.sidebar-nav{padding:0 13px;display:grid;gap:4px}.sidebar-nav button{height:48px;width:100%;padding:0 14px;border:0;display:flex;align-items:center;gap:13px;color:#a8c0b0;background:transparent;border-radius:9px;text-align:left;font-weight:700;font-size:12px;position:relative;transition:.2s}.sidebar-nav button svg{opacity:.85}.sidebar-nav button:hover,.sidebar-nav button.on{color:#ecfff4;background:#22573c}.sidebar-nav button.on svg{color:#a7f4c6}.sidebar-nav button i{position:absolute;right:12px;width:5px;height:5px;background:var(--mint);border-radius:50%}.sidebar-bottom{margin-top:auto;padding:20px 15px 24px}.demo-side-card{padding:18px 15px;background:rgba(51,121,77,.25);border:1px solid rgba(146,218,166,.17);border-radius:12px}.side-card-icon{width:33px;height:33px;border-radius:8px;background:#367b52;display:grid;place-items:center;color:#a5eabd;margin-bottom:13px}.demo-side-card strong{display:block;font:800 12px var(--display);color:#f0fff3}.demo-side-card p{color:#a1bfaa;font-size:10px;line-height:1.65;margin:7px 0 14px}.side-guide{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;color:#aaf5ca;border:0;padding:0;font:800 10px var(--display)}.reset-link,.side-back{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;color:#98b5a4;font-size:11px;border:0;background:transparent;text-align:left;margin-top:11px}.side-back{margin-top:0}.reset-link:hover,.side-back:hover{color:#fff}.demo-workspace{min-width:0;flex:1;display:flex;flex-direction:column}.demo-top{height:76px;flex-shrink:0;border-bottom:1px solid var(--line);display:flex;gap:17px;align-items:center;padding:0 35px;background:#fff}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:12px;color:#83928b}.breadcrumbs strong{color:#20402e;font-weight:800}.top-spacer{flex:1}.top-mode{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;color:#267854;white-space:nowrap;padding:8px 12px;border-radius:50px;background:#edf8ef}.top-mode span{width:7px;height:7px;background:#31b978;border-radius:50%}.icon-btn{display:grid;place-items:center;color:#5f7d6b;background:none;border:1px solid #e0eae1;width:35px;height:35px;border-radius:8px;flex-shrink:0}.return-site{font-weight:800;font-size:12px;display:inline-flex;gap:8px;align-items:center;color:#236840;white-space:nowrap}.hamburger{display:none}.workspace-scroll{overflow:auto;flex:1}.demo-banner{padding:12px 35px;background:#edf7f0;color:#446d54;border-bottom:1px solid #d8e9de;display:flex;align-items:center;gap:11px;font-size:11px}.demo-banner svg{color:var(--green);flex-shrink:0}.demo-banner strong{color:#235a39}.demo-main{padding:38px 35px 40px;width:100%;max-width:1510px;margin:0 auto;min-height:calc(100vh - 175px)}.demo-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;color:#9ba9a0;border-top:1px solid #e7ede8;padding:20px 35px;background:#fff}.demo-footer span{letter-spacing:1.2px;font:800 9px var(--display)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.page-heading .overline,.overline{display:block;font:800 10px var(--display);letter-spacing:2px;color:var(--green);margin-bottom:9px}.page-heading h1{font:800 clamp(25px,2.7vw,36px)/1.25 var(--display);letter-spacing:-1.4px;margin:0 0 4px}.page-heading p{color:var(--muted);font-size:12px;margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;white-space:nowrap;border-radius:8px;padding:10px 16px;font:800 11px var(--display);border:1px solid transparent;min-height:40px;transition:.2s}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.green-btn{color:#fff;background:#168b5c}.muted-btn{background:#fff;border-color:#dce6dd;color:#42664f}.danger-btn{color:white;background:#ba4c45}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:21px}.metric-card{padding:21px 23px;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#72857a;font:700 11px var(--display)}.metric-top i{height:37px;width:37px;background:#e7f5eb;color:#258357;border-radius:9px;display:grid;place-items:center;font-style:normal}.metric-card strong{display:block;font:800 36px/1.2 var(--display);letter-spacing:-2px;margin:13px 0 2px}.metric-card small{font-size:10px;color:#829289}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-bottom:20px}.dashboard-grid.bottom-row{grid-template-columns:1fr 1fr}.panel{border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.graph-panel,.distribution-panel,.recent-panel,.quick-panel{padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.panel-heading h2{font:800 16px var(--display);margin:4px 0 0;letter-spacing:-.4px}.panel-caption{font:800 9px var(--display);color:#9aaa9e;letter-spacing:1.2px}.demo-tag{font:800 9px var(--display);letter-spacing:1px;color:#2e9363;background:#e8f6ec;padding:7px 11px;border-radius:5px;white-space:nowrap}.chart-wrap{margin-top:31px}.chart-wrap svg{max-height:210px}.chart-labels{display:flex;justify-content:space-between;padding:0 18px;color:#9dab9e;font-size:10px}.small-note{color:#8b9c8f;font-size:10px;margin:20px 0 0}.donut-wrap{display:flex;align-items:center;gap:30px;padding-top:35px;min-height:180px}.donut{width:152px;height:152px;flex-shrink:0;border-radius:100%;display:grid;place-items:center}.donut>div{height:102px;width:102px;display:flex;align-items:center;flex-direction:column;justify-content:center;border-radius:50%;background:#fff}.donut strong{font:800 31px var(--display)}.donut small{font-size:10px;color:#83968b}.donut-legend{flex:1;min-width:0}.donut-legend>div{display:flex;gap:7px;align-items:center;color:#7c8d80;font-size:10px;margin:12px 0}.donut-legend i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-legend b{margin-left:auto;font-size:12px;color:#2d4837}.activity-item{padding:17px 0;display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf1ee}.activity-item:last-child{border-bottom:0}.activity-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#e6f6ea;color:var(--green)}.activity-item strong{font:800 11px var(--display)}.activity-item small{display:block;font-size:10px;color:#88998c;margin-top:3px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:21px}.quick-actions button{background:#f6faf7;border:1px solid #e6eee8;border-radius:9px;padding:14px 10px;display:flex;gap:12px;align-items:center;text-align:left;color:#258253}.quick-actions button>span{color:#284d35;min-width:0;flex:1;font:800 10px var(--display)}.quick-actions button>span small{display:block;color:#92a499;font:500 9px var(--sans);margin-top:3px}.quick-actions button:hover{border-color:#aed3bb;background:#f0f8f1}
.list-panel{padding:18px 0 0;overflow:hidden}.table-controls{display:flex;gap:11px;align-items:center;padding:0 20px 20px;flex-wrap:wrap}.searchbox{display:flex;align-items:center;gap:9px;background:#fafcfb;border:1px solid #e1e8e3;border-radius:8px;padding:0 12px;min-width:250px;flex:1;max-width:410px;color:#94a59a}.searchbox input{height:39px;width:100%;border:0;outline:none;color:#284533;background:transparent;font-size:12px}.table-controls select{border:1px solid #e0e8e1;border-radius:8px;height:41px;padding:0 30px 0 12px;font-size:12px;color:#405745;background:#fff}.table-count{margin-left:auto;color:#90a195;font-size:11px}.table-scroll{overflow:auto}.data-table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}.data-table th{padding:14px 19px;background:#f8faf8;color:#94a498;font:800 10px var(--display);letter-spacing:.2px;border-block:1px solid #e9efeb}.data-table td{padding:17px 19px;border-bottom:1px solid #f0f3f0;color:#597065;font-size:11px}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#254532;font-size:11px}.ref{font:800 11px var(--display)!important;color:#278157!important}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:6px 8px;font:800 9px var(--display);white-space:nowrap}.status-pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.green{color:#258e61;background:#e3f6e9}.status-pill.blue{color:#397faa;background:#e9f3fa}.status-pill.amber{color:#ab7929;background:#fff3df}.table-link{background:transparent;border:0;padding:4px;color:#1c8c5b;font:800 11px var(--display)}.row-sub{display:block;margin-top:4px;color:#91a297;max-width:180px;overflow:hidden;text-overflow:ellipsis}.science-note{background:#eef7f0;border:1px solid #d4e8d8;border-radius:9px;padding:17px;display:flex;gap:11px;color:#45654f;font-size:11px;line-height:1.6;margin-top:18px}.science-note svg{flex-shrink:0;color:#2d8b5e}
.map-shell{overflow:hidden}.map-toolbar{height:54px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 21px;border-bottom:1px solid #e7eee9;color:#5f866d;font:800 10px var(--display);letter-spacing:1px}.map-toolbar>span{display:inline-flex;gap:10px;align-items:center}.map-toolbar button{height:32px;width:33px;background:#f4f9f5;border:1px solid #d9e8dd;border-radius:5px;color:#296a44;font-weight:800;font-size:18px;margin-left:3px}.geo-map{display:block;width:100%;height:520px;touch-action:none;background:#e1ede2;cursor:grab}.geo-map:active{cursor:grabbing}.map-marker{cursor:pointer}.map-marker:hover circle:first-child{fill:#0b6746;opacity:.35}.map-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 22px;font-size:10px;color:#819488}.map-bottom span:first-child{color:#38714e}.map-bottom i{display:inline-block;background:#1b8a5b;height:8px;width:8px;border-radius:50%;margin-right:8px}
.reports-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.report-config,.report-preview{padding:26px}.report-controls{margin-top:40px}.report-controls label,.modal-form label{display:block;color:#4c6a55;font:800 11px var(--display)}.report-controls select,.modal-form input,.modal-form select,.modal-form textarea{display:block;width:100%;border:1px solid #dce6de;background:#fbfcfb;color:#244230;border-radius:8px;padding:12px 13px;font-size:12px;margin-top:7px;outline:0}.report-controls select:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#4fbe7f;box-shadow:0 0 0 3px rgba(60,174,105,.13)}.report-controls p{color:#839488;line-height:1.9;font-size:12px;margin:19px 0 24px}.report-preview{background:#edf1ed}.preview-paper{max-width:410px;min-height:455px;margin:auto;background:white;box-shadow:0 15px 29px #23533c20;padding:37px;position:relative;overflow:hidden}.paper-brand{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9e9dd;padding-bottom:18px}.paper-brand>span{font:800 28px var(--display);color:#1a6240;letter-spacing:-2px}.paper-brand>span>span{color:#61bc87}.paper-brand small{font:800 7px var(--display);color:#91a699;letter-spacing:1px}.preview-paper h3{font:800 23px/1.35 var(--display);margin:27px 0 18px}.paper-line{height:3px;background:#1a8e59;width:45px;margin-bottom:28px}.paper-caption{font:800 9px var(--display);letter-spacing:1px;color:#819e8d}.preview-paper h4{font:800 16px var(--display)}.preview-stats{display:flex;border-top:1px solid #edf2ed;padding-top:18px;gap:33px}.preview-stats span{font:800 9px var(--display);color:#a5b3a8}.preview-stats b{display:block;color:#224d34;font:800 23px var(--display)}.paper-watermark{position:absolute;bottom:29px;left:20px;right:20px;border:1px solid #d4dfd5;color:#879c89;font:800 8px var(--display);text-align:center;letter-spacing:1px;padding:9px}
.tour-banner{background:#103f2b;color:#fff;border-radius:10px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px;box-shadow:0 10px 27px #103b2b22}.tour-banner>div:first-child>span{display:block;color:#82dfae;font:800 9px var(--display);letter-spacing:1.5px}.tour-banner strong{display:block;font:800 15px var(--display);margin:4px 0}.tour-banner p{margin:0;color:#bad7c4;font-size:11px}.tour-btns{display:flex;gap:6px;flex-wrap:wrap}.tour-btns .muted-btn{background:transparent;color:white;border-color:#739f82}.dialog-backdrop{position:fixed;inset:0;background:rgba(4,20,12,.65);z-index:150;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.dialog{position:relative;background:#fff;padding:30px 35px;border-radius:14px;box-shadow:0 30px 100px #0006;width:min(100%,560px);max-height:min(95vh,940px);overflow:auto}.form-dialog{width:min(100%,720px)}.detail-dialog{width:min(100%,650px)}.dialog h2{font:800 25px/1.3 var(--display);letter-spacing:-1px;margin:5px 0 13px}.dialog>p{color:#819387;font-size:12px;margin-bottom:24px}.dialog-close{position:absolute;right:19px;top:19px;width:30px;height:30px;display:grid;place-items:center;color:#779081;background:#f4f8f5;border:0;border-radius:7px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.modal-form label{margin:15px 0 0}.dialog-actions{display:flex;align-items:center;justify-content:end;flex-wrap:wrap;gap:10px;padding-top:22px;margin-top:17px;border-top:1px solid #ebf0ec}.coord-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:20px;color:#3b6347;font-size:11px}.coord-head span{font-size:10px;color:#94a49b}.picker-map{height:190px;border-radius:8px;border:1px solid #cfe0d2;margin-top:12px;cursor:crosshair}.field-hint{display:block;font-size:10px;color:#9aab9e;margin-top:6px}.detail-lead{font-size:12px;color:#798f80}.detail-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:22px 0}.detail-kpis>div{background:#f4f8f4;border:1px solid #e7eee8;border-radius:8px;padding:13px;display:flex;flex-direction:column;gap:5px}.detail-kpis small{font:800 9px var(--display);color:#98a99c;letter-spacing:.7px}.detail-kpis strong{font:800 12px var(--display)}.detail-coords{background:#ebf5ed;border-radius:7px;padding:13px;font-size:11px;color:#43805a;display:flex;align-items:center;gap:10px}.detail-dialog h3{display:flex;align-items:center;justify-content:space-between;font:800 14px var(--display);margin:26px 0 7px}.detail-dialog h3 span{color:#5b956a;font-size:11px}.detail-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;font-size:11px;border-bottom:1px solid #ebf1eb}.detail-row strong{color:#2c6b43}.detail-row span{color:#7e9183;text-align:right}.empty-row{font-size:11px;color:#8d9e90}.toast{position:fixed;z-index:180;bottom:25px;right:26px;background:#12583a;color:#fff;border-radius:9px;display:flex;align-items:center;gap:12px;padding:13px 19px;box-shadow:0 12px 45px #173e2b48;max-width:420px;font-size:12px}.toast.error{background:#af4c44}.loading-splash,.fatal-error{margin:auto;text-align:center}.load-mark{width:65px;height:65px;border-radius:15px;background:#103f2b;color:#a1ecc1;display:grid;place-items:center;font:800 38px var(--display);margin:auto}.loading-splash h1{font:800 20px var(--display);margin:15px 0 5px}.loading-splash p{color:#829184}.fatal-error{padding:30px}.mobile-scrim{display:none}
@media(max-width:1250px){.demo-sidebar{width:225px}.demo-logo{padding:0 19px}.sidebar-label{padding-left:18px}.dashboard-grid{grid-template-columns:1.3fr 1fr}.donut-wrap{gap:10px}.donut{width:120px;height:120px}.donut>div{width:80px;height:80px}.donut-legend>div{font-size:9px}.demo-main{padding-inline:24px}.metrics{gap:11px}.metric-card{padding:17px}.demo-top{padding-inline:24px}}
@media(max-width:1010px){.demo-sidebar{width:77px}.demo-logo{justify-content:center;padding:0}.demo-logo>span:last-child,.sidebar-label,.sidebar-nav button span,.sidebar-nav button i,.demo-side-card,.reset-link,.side-back{display:none}.sidebar-nav{padding:27px 10px}.sidebar-nav button{justify-content:center;padding:0}.sidebar-bottom{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.donut-wrap{flex-direction:column;gap:2px;align-items:start;padding-top:20px}.donut{margin:auto}.donut-legend{width:100%}}
@media(max-width:680px){#app{min-height:0}.demo-sidebar{position:fixed;inset:0 auto 0 0;width:245px;transform:translateX(-100%);transition:transform .23s;z-index:120}.demo-sidebar.mobile-open{transform:translateX(0)}.demo-logo{justify-content:start;padding:0 20px}.demo-logo>span:last-child,.sidebar-label,.sidebar-nav button span,.sidebar-nav button i,.demo-side-card,.reset-link,.side-back{display:flex}.demo-logo>span:last-child{display:flex}.sidebar-label{display:block}.sidebar-nav{padding:0 13px}.sidebar-nav button{justify-content:start;padding:0 15px}.sidebar-bottom{display:block}.demo-side-card{display:block}.reset-link,.side-back{display:flex}.hamburger{display:grid}.mobile-scrim{display:block;position:fixed;inset:0;z-index:110;background:#0619118c}.demo-top{height:62px;padding:0 16px;gap:8px}.top-mode,.return-site{display:none}.breadcrumbs{font-size:11px}.demo-banner{padding:11px 16px;font-size:10px}.demo-main{padding:23px 13px 30px}.page-heading{align-items:start;flex-direction:column;gap:17px}.page-heading h1{font-size:26px}.page-heading .btn{width:100%}.metrics{gap:10px}.metric-card{padding:13px}.metric-card strong{font-size:28px}.metric-top{font-size:10px}.metric-top i{height:30px;width:30px}.dashboard-grid,.dashboard-grid.bottom-row,.reports-grid{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.graph-panel,.distribution-panel,.recent-panel,.quick-panel{padding:18px}.donut-wrap{flex-direction:row;gap:20px}.donut-legend>div{font-size:10px}.quick-actions{gap:9px}.table-controls{padding:0 13px 12px}.table-controls .searchbox{min-width:0;flex-basis:100%;max-width:none}.table-count{display:none}.data-table th,.data-table td{padding:13px}.geo-map{height:400px}.map-bottom{flex-direction:column;align-items:start}.demo-footer{padding:14px 16px}.demo-footer span{display:none}.dialog-backdrop{padding:9px}.dialog{padding:26px 18px;max-height:95vh}.dialog h2{font-size:21px}.field-grid{grid-template-columns:1fr;gap:0}.coord-head{align-items:start;flex-direction:column}.detail-kpis{grid-template-columns:1fr 1fr}.tour-banner{flex-direction:column;align-items:start}.tour-btns{width:100%}.tour-btns button{flex:1}.toast{left:10px;right:10px;bottom:12px}.preview-paper{padding:25px;min-height:430px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
[hidden]{display:none!important}.map-marker:focus-visible circle{stroke:#163b2b;stroke-width:5px}
