:root{--lime:#b9d734;--lime2:#9fca22;--green:#2e6e10;--deep:#0f1a2b;--text:#172033;--muted:#6d7483;--line:#e7eaf0;--bg:#f7f8fa;--white:#fff;--danger:#d44c4c;--warning:#e8a23a;--info:#1d9fa4;--purple:#8d60d7;--shadow:0 8px 28px rgba(28,38,54,.08);--radius:12px}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.public-body{min-height:100vh;background:#fff}.public-nav{height:64px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef0f2;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50}.brand,.sidebar-brand{display:flex;align-items:center;gap:10px}.brand img{width:36px;height:36px;object-fit:contain}.brand span,.sidebar-brand span{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:15px}.brand small{font-size:10px;color:#8a8f98;margin-top:2px}.public-nav nav{display:flex;gap:22px;align-items:center;font-size:13px}.public-nav nav a:hover{color:#4b7f1c}.btn-mini,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--lime2);color:#fff;border-radius:8px;padding:9px 16px;font-weight:700;box-shadow:none}.btn:hover,.btn-mini:hover{filter:brightness(.96)}.btn.secondary{background:#fff;color:var(--text);border:1px solid #dfe3e8}.btn.danger{background:#fff;color:var(--danger);border:1px solid #f0caca}.btn.small{padding:6px 10px;font-size:12px}.hero{min-height:610px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:55px;align-items:center;padding:70px max(34px,7vw);position:relative;background:linear-gradient(90deg,rgba(33,88,8,.95),rgba(40,111,9,.87)),url('../img/hero-floresta.jpg') center/cover no-repeat;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(181,215,52,.15),transparent 32%)}.hero>*{position:relative}.eyebrow{display:inline-flex;border:1px solid rgba(185,215,52,.52);border-radius:99px;padding:8px 14px;color:#cde65b;font-size:13px;margin-bottom:20px}.hero-logo{width:68px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}.hero h1{font-size:55px;line-height:.98;margin:12px 0 12px;max-width:620px;letter-spacing:-2px}.hero h1 .lime{color:var(--lime)}.hero p{font-size:16px;line-height:1.6;color:#e7efdf;max-width:650px}.service-panel{background:rgba(15,43,10,.36);border:1px solid rgba(255,255,255,.13);border-radius:15px;padding:18px;backdrop-filter:blur(3px)}.service-panel h3{font-size:12px;letter-spacing:.12em;color:#d4dcbe;text-transform:uppercase;margin:0 0 8px}.service-panel h2{margin:0 0 14px;font-size:20px}.service-group{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding:12px 3px;font-size:13px}.service-group b{font-weight:600}.service-group span{color:#a8cb39}.home-section{padding:70px max(34px,7vw);max-width:1400px;margin:auto}.home-section h2{font-size:34px;margin:0 0 10px}.home-section>p{color:var(--muted);max-width:740px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.home-card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff;box-shadow:var(--shadow)}.home-card .home-icon{width:38px;height:38px;border-radius:10px;background:#eff6d5;color:#638608;display:grid;place-items:center;font-weight:800}.home-card h3{font-size:16px;margin:16px 0 7px}.home-card p{color:var(--muted);font-size:13px;line-height:1.5}.public-footer{padding:22px;text-align:center;color:#7f858f;border-top:1px solid #eceef1;background:#fff;font-size:12px}.page-wrap{max-width:1120px;margin:0 auto;padding:50px 28px}.form-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:30px}.center-card{max-width:620px;margin:55px auto}.page-wrap h1{font-size:30px;margin:0 0 5px}.subhead{color:var(--muted);margin:0 0 26px}.input,.select,.textarea{width:100%;border:1px solid #dfe3e9;background:#fff;border-radius:8px;padding:11px 12px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#aacd35;box-shadow:0 0 0 3px rgba(185,215,52,.16)}.textarea{min-height:110px;resize:vertical}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-size:12px;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.steps{display:flex;justify-content:center;gap:28px;margin:10px 0 32px}.step{display:flex;align-items:center;gap:8px;color:#9aa0aa;font-size:13px}.step .n{width:28px;height:28px;border-radius:50%;border:1px solid #d8dde3;display:grid;place-items:center;background:#fff}.step.active{color:#3d5513;font-weight:700}.step.active .n{background:var(--lime2);border-color:var(--lime2);color:#fff}.service-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:600px;overflow:auto;padding-right:4px}.service-option{border:1px solid #e1e5ea;border-radius:12px;padding:15px;background:#fff;transition:.15s}.service-option:hover{border-color:#b8d34f;box-shadow:0 5px 16px rgba(86,112,30,.08)}.service-option.selected{border:2px solid #9fca22;background:#fbfff2}.service-option h3{font-size:14px;margin:0 0 5px}.service-option p{font-size:12px;color:var(--muted);margin:0;line-height:1.45}.protocol-box{text-align:center;padding:45px}.protocol-code{display:inline-block;font:700 24px ui-monospace,SFMono-Regular,Consolas,monospace;background:#f3f7e7;color:#466600;border-radius:10px;padding:13px 20px;margin:15px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f7f9fb,#eef2f4);padding:30px}.login-box{width:min(420px,94vw);background:#fff;border:1px solid #e7e9ee;border-radius:12px;box-shadow:0 20px 50px rgba(31,42,55,.14);padding:33px 36px}.login-brand{text-align:center}.login-brand img{width:88px;height:78px;object-fit:contain}.login-brand h1{font-size:23px;line-height:1.15;margin:8px 0 8px}.login-brand p{color:#8b9098;font-size:12px;margin-bottom:22px}.or{display:flex;align-items:center;gap:10px;color:#a7abb2;font-size:10px;margin:15px 0}.or:before,.or:after{content:"";height:1px;background:#eceef1;flex:1}.auth-links{display:flex;justify-content:space-between;margin-top:11px;font-size:11px;color:#737a84}.flash{padding:12px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.flash.success{background:#edf8eb;color:#2a6c24}.flash.danger{background:#fff0f0;color:#9c2424}.flash.warning{background:#fff7e7;color:#8b5900}.admin-body{background:#f8f9fb;min-height:100vh}.admin-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#111b2c;color:#d3d9e2;display:flex;flex-direction:column;z-index:40}.sidebar-brand{padding:20px 22px 18px;border-bottom:1px solid rgba(255,255,255,.03)}.sidebar-brand img{width:38px;height:34px;object-fit:contain}.sidebar-brand strong{color:#fff;font-size:13px}.sidebar-brand small{font-size:9px;color:#8893a4}.side-nav{padding:12px 10px;overflow:auto;flex:1}.side-nav>a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;font-size:12px;color:#bec6d2;margin:2px 0}.side-nav>a .ico{width:16px;text-align:center;color:#aeb8c5}.side-nav>a:hover{background:#172337;color:#fff}.side-nav>a.active{background:#33461b;color:#d8f151}.side-nav>a.sub{padding-left:38px;font-size:11px}.side-section{font-size:11px;color:#7d8797;padding:12px 12px 5px}.sidebar-footer{border-top:1px solid rgba(255,255,255,.05);padding:14px 15px 16px;display:flex;flex-direction:column;gap:9px;font-size:10px;color:#aeb6c2}.side-user{display:flex;gap:9px;align-items:center;margin-bottom:5px}.side-user .avatar{width:28px;height:28px;border-radius:50%;background:#1e9a62;color:#fff;display:grid;place-items:center}.side-user div{display:flex;flex-direction:column;overflow:hidden}.side-user strong{font-size:10px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user small{font-size:9px;color:#8f99a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-main{margin-left:220px;min-width:0;width:calc(100% - 220px)}.admin-top{height:58px;background:#fff;border-bottom:1px solid #edf0f3;display:flex;justify-content:flex-end;align-items:center;padding:0 30px;position:sticky;top:0;z-index:30}.admin-wordmark{display:flex;align-items:center;gap:5px;margin-right:10px}.admin-wordmark img{width:30px;height:26px;object-fit:contain}.admin-wordmark strong{font-size:12px}.top-icons{display:flex;gap:15px;color:#9aa1ab;font-size:13px}.admin-content{padding:26px 28px 45px;max-width:1500px;margin:auto}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.page-title h1{font-size:24px;margin:0 0 4px;letter-spacing:-.3px}.page-title p{color:#7d8490;font-size:12px;margin:0}.page-actions{display:flex;gap:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px;display:flex;gap:12px;align-items:center;min-height:78px}.metric-icon{width:34px;height:34px;border-radius:10px;background:#eef5fb;color:#3773ab;display:grid;place-items:center;font-weight:800}.metric-icon.orange{background:#fff4e8;color:#d87c2c}.metric-icon.purple{background:#f6efff;color:#8e59cb}.metric-icon.red{background:#fff0f0;color:#d35e5e}.metric-icon.green{background:#eff8db;color:#82a81a}.metric-card strong{font-size:20px;display:block;line-height:1}.metric-card span{font-size:10px;color:#747b86}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px;min-height:220px}.panel h3{font-size:12px;margin:0 0 16px}.bar-chart{height:140px;display:flex;align-items:flex-end;gap:20px;padding:15px 12px;border-left:1px solid #eceff2;border-bottom:1px solid #eceff2}.bar{width:38px;background:linear-gradient(#a8ce29,#8fbb18);border-radius:2px 2px 0 0;position:relative}.bar:after{content:attr(data-label);position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:9px;color:#777}.donut-wrap{display:flex;align-items:center;justify-content:center;height:150px;gap:26px}.donut{width:92px;height:92px;border-radius:50%;background:conic-gradient(#97c527 0 var(--pct),#e8ecef var(--pct) 100%);position:relative}.donut:after{content:"";position:absolute;inset:18px;background:#fff;border-radius:50%}.legend{font-size:10px;color:#707781}.table-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.table-tools{padding:13px;display:flex;gap:10px;border-bottom:1px solid var(--line)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0f3;font-size:11px;vertical-align:middle}.table th{color:#7b828c;font-size:10px;background:#fbfcfd}.table tr:hover td{background:#fbfcfd}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:700;background:#f2f4f6;color:#56606e}.badge.success{background:#eaf7eb;color:#397c31}.badge.warning{background:#fff4dc;color:#936000}.badge.info{background:#e8f6f7;color:#16757a}.badge.purple{background:#f2ecfb;color:#7750aa}.badge.neutral{background:#eef3fb;color:#4670a1}.badge.danger{background:#ffeded;color:#a73333}.triage-list{display:flex;flex-direction:column;gap:9px}.triage-item{background:#fff;border:1px solid #e7eaee;border-radius:10px;padding:13px 14px;display:grid;grid-template-columns:minmax(0,1fr) 170px 28px;gap:14px;align-items:center}.triage-item .protocol{font:700 10px ui-monospace,monospace;color:#19877f}.triage-item h4{font-size:11px;margin:5px 0 2px}.triage-item p{font-size:10px;color:#8b929b;margin:0}.progress-label{font-size:9px;color:#7a818b;text-align:right}.progress{height:4px;border-radius:4px;background:#e8edf0;margin-top:4px;overflow:hidden}.progress>span{display:block;height:100%;background:#1d9a77}.icon-link{width:28px;height:28px;border:1px solid #e2e6ea;border-radius:7px;display:grid;place-items:center}.tabs{display:flex;gap:4px;margin-bottom:14px}.tab{padding:7px 11px;border-radius:7px;background:#f4f6f8;color:#737b86;font-size:10px}.tab.active{background:#fff;border:1px solid #e4e7ea;color:#293141}.agent-list{display:flex;flex-direction:column;gap:9px}.agent-card{display:flex;align-items:center;gap:12px;border:1px solid #e4e7eb;border-radius:10px;padding:12px;background:#fff}.agent-icon{width:34px;height:34px;border-radius:10px;background:#f0f7db;color:#83a20d;display:grid;place-items:center}.agent-card>div:nth-child(2){flex:1}.agent-card h4{margin:0 0 4px;font-size:11px}.agent-card p{margin:0;color:#7d8490;font-size:10px}.agent-actions{display:flex;gap:8px;font-size:10px;color:#6c727c}.settings-list{display:flex;flex-direction:column;gap:10px}.settings-item{border:1px solid #e3e7ea;background:#fff;border-radius:10px;padding:13px 14px;display:flex;gap:14px;align-items:center}.settings-item>div:first-child{flex:1}.settings-item h4{margin:0 0 4px;font-size:11px}.settings-item p{margin:0;color:#828995;font-size:10px;line-height:1.4}.action-icons{display:flex;gap:8px;color:#737a84}.action-icons a,.action-icons button{border:0;background:none;color:inherit;padding:4px}.webgis-layout{display:grid;grid-template-columns:280px 1fr;gap:12px;height:calc(100vh - 130px)}.map-side{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto}.map-side h3{font-size:12px}.layer-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0f1f3;font-size:11px}.map-canvas{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#eef2ef}.map-canvas #map{height:100%;min-height:520px}.geo-arch{display:grid;grid-template-columns:1fr 1fr;gap:15px}.geo-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.geo-box h3{font-size:12px}.geo-box ul{padding-left:17px;color:#68707b;font-size:10px;line-height:1.9}.flow{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.flow span{background:#f5f7f8;border:1px solid #e5e8eb;border-radius:7px;padding:8px 10px;font-size:9px}.integration-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:10px}.integration-card h3{font-size:12px;margin:0 0 6px}.integration-card p{font-size:10px;color:#747c87;margin:4px 0}.integration-card code{font-size:9px;color:#66717d}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.health-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.health-card strong{font-size:19px}.health-card span{display:block;font-size:9px;color:#7d8490;margin-top:4px}.modal{position:fixed;inset:0;background:rgba(9,16,28,.5);display:none;place-items:center;z-index:100;padding:20px}.modal.open{display:grid}.modal-box{width:min(680px,95vw);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{margin:0;font-size:18px}.close-modal{border:0;background:none;font-size:22px;color:#7d8490}.empty{height:160px;display:grid;place-items:center;color:#9da3ac;font-size:11px}.note{padding:12px 14px;border-radius:8px;background:#f6f8ec;color:#5e6d39;font-size:11px;line-height:1.5}.file-list{display:flex;flex-direction:column;gap:8px}.file-pill{display:flex;align-items:center;justify-content:space-between;border:1px solid #e5e8eb;border-radius:8px;padding:8px 10px;font-size:10px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px}.kv{display:grid;grid-template-columns:150px 1fr;padding:9px 0;border-bottom:1px solid #eef0f2;font-size:11px}.kv span{color:#7d8490}.codebox{background:#111b2c;color:#dbe4ef;border-radius:8px;padding:12px;font:10px ui-monospace,monospace;overflow:auto}.mobile-menu{display:none}
@media(max-width:1000px){.hero{grid-template-columns:1fr;min-height:auto}.hero h1{font-size:46px}.home-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.sidebar{width:190px}.admin-main{margin-left:190px;width:calc(100% - 190px)}.webgis-layout{grid-template-columns:220px 1fr}}
@media(max-width:760px){.public-nav{padding:0 16px}.public-nav nav a:not(.btn-mini){display:none}.hero{padding:48px 22px;gap:26px}.hero h1{font-size:38px}.home-section{padding:45px 22px}.home-grid,.service-picker,.grid2,.grid3,.dashboard-grid,.geo-arch,.detail-grid{grid-template-columns:1fr}.steps{gap:8px;justify-content:flex-start;overflow:auto}.step span:last-child{display:none}.login-box{padding:27px 22px}.sidebar{position:relative;width:100%;height:auto;min-height:auto}.sidebar-brand{padding:12px 16px}.side-nav{display:flex;overflow:auto;padding:7px 9px}.side-nav>a{white-space:nowrap}.side-nav>a.sub,.side-section,.sidebar-footer{display:none}.admin-shell{display:block}.admin-main{margin-left:0;width:100%}.admin-top{height:50px;padding:0 16px}.admin-content{padding:18px 14px}.metrics,.health-grid{grid-template-columns:1fr 1fr}.page-title{align-items:center}.page-title h1{font-size:21px}.triage-item{grid-template-columns:1fr 100px 25px}.webgis-layout{grid-template-columns:1fr;height:auto}.map-side{max-height:250px}.map-canvas #map{height:520px}.table-card{overflow:auto}.table{min-width:720px}}
@media(max-width:480px){.metrics,.health-grid,.home-grid{grid-template-columns:1fr}.hero h1{font-size:34px}.page-actions{width:100%;justify-content:flex-end}.page-title{flex-direction:column;align-items:flex-start}.grid2{grid-template-columns:1fr}.public-footer{font-size:10px}}
