.report-focus{height:100vh;background:#fff;display:grid;grid-template-rows:68px minmax(0,1fr)}.report-focus-head{display:flex;align-items:center;gap:16px;padding:0 22px;border-bottom:1px solid var(--line);background:#fff;z-index:1000}.report-focus-head>a:last-child{margin-left:auto;text-decoration:none;color:var(--muted);font-weight:700}.report-focus-head div{display:flex;flex-direction:column}.report-focus-head div span{font-size:11px;color:var(--muted)}.focus-brand{width:154px;height:55px;background-image:var(--tenant-logo,url('/static/nexo-identidad.jpg'));background-repeat:no-repeat;background-size:var(--tenant-logo-size,300px 343px);background-position:var(--tenant-logo-position,-20px -142px)}.report-layout{--form-width:40%;min-height:0;display:grid;grid-template-columns:minmax(360px,var(--form-width)) 10px minmax(0,1fr)}.report-layout.without-map{grid-template-columns:minmax(0,720px);justify-content:center;background:var(--soft)}.report-form-pane{overflow:auto;padding:34px clamp(24px,5vw,72px) 120px}.report-intro{margin-bottom:28px}.report-intro h1{font-size:34px;margin:10px 0}.report-intro p{color:var(--muted);line-height:1.55}.step-pill{font-size:11px;letter-spacing:.09em;font-weight:900;color:var(--teal);background:#e7f1f2;padding:6px 9px;border-radius:999px}.report-map-pane{position:relative;min-height:0}.report-map-pane>.map{position:absolute;inset:0}.map-instruction{position:absolute;z-index:700;top:18px;left:50%;transform:translateX(-50%);background:#fff;border-radius:6px;padding:12px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:250px;text-align:center}.map-instruction span{font-size:12px;color:var(--muted);margin-top:3px}.map-close{display:none}.location-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:15px;background:#f4f8f8;border:1px solid var(--line);border-radius:6px}.location-actions>label,.location-actions>p{width:100%}.upload-field{border:1px dashed #9fb5ba;padding:16px;border-radius:6px;background:#fafcfc}.consent{padding:15px;border:1px solid var(--line);border-radius:6px}.submit-bar{position:sticky;bottom:-120px;background:#fff;border-top:1px solid var(--line);padding:18px 0;margin-top:18px}.submit-bar button{width:100%;font-size:16px;padding:14px}.choice-field{border:1px solid var(--line);border-radius:6px;padding:14px;margin:0 0 18px}.choice-field legend{font-size:12px;font-weight:800;color:var(--ocean);padding:0 6px}.choice-field label{display:flex;gap:8px;align-items:center;color:var(--ink);font-weight:500;margin:10px 0}.choice-field input{width:auto}.status-box.success{border-left:4px solid var(--success)}
.builder-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.builder-heading h3,.builder-heading p{margin:0}.builder-field{display:grid;grid-template-columns:34px minmax(0,1fr) 42px;gap:12px;align-items:start;padding:16px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:6px;background:#fafbfb}.drag-handle{color:#9aa8ae;padding-top:29px;cursor:grab}.field-type-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);font-weight:900;margin-bottom:9px}.builder-save{display:flex;justify-content:flex-end;padding-top:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(10,22,31,.58);z-index:3000;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.field-modal{width:min(760px,96vw);max-height:90vh;background:#fff;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.3);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.field-modal>header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.field-modal h2{margin:4px 0 0}.modal-close{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:25px;cursor:pointer}.field-type-grid{overflow:auto;padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-type{border:1px solid var(--line);border-radius:5px;background:#f7f9fa;padding:14px;text-align:left;display:flex;align-items:center;gap:13px;cursor:pointer}.field-type:hover{border-color:var(--aqua);background:#edf6f6}.field-type>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dcebed;color:var(--teal);font-weight:900}.field-type div{display:flex;flex-direction:column}.field-type small{color:var(--muted);margin-top:4px}.field-modal>footer{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
@media(max-width:760px){.report-focus{grid-template-rows:60px minmax(0,1fr)}.report-focus-head{padding:0 12px}.focus-brand{width:62px}.report-focus-head div span{display:none}.report-layout{display:block;height:100%;overflow:auto}.report-form-pane{padding:24px 18px 100px}.report-intro h1{font-size:27px}.report-map-pane{position:fixed;inset:60px 0 0;background:#fff;z-index:1600;transform:translateX(105%);transition:.22s}.report-map-pane.open{transform:none}.map-close{display:block;position:absolute;z-index:1800;left:12px;top:12px;border:0;border-radius:5px;background:var(--deep);color:#fff;padding:11px 14px;font-weight:800}.map-instruction{top:auto;bottom:25px}.field-type-grid{grid-template-columns:1fr}.builder-heading{align-items:flex-end}.builder-field{grid-template-columns:22px minmax(0,1fr) 38px}.builder-field .split{grid-template-columns:1fr}}
.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;font-size:25px!important}.map-legend{min-width:180px;max-width:260px}.map-legend>strong{display:block;margin-bottom:7px}.legend-item{display:flex;align-items:center;gap:8px;margin-top:6px;line-height:1.25}.legend-symbol{width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(12,35,54,.25);flex:0 0 auto}.cluster-sample{width:25px;height:25px;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;font-weight:900;font-size:10px;flex:0 0 auto}.report-cluster{border-radius:50%;background:rgba(12,35,54,.9);border:4px solid rgba(48,144,154,.48);box-shadow:0 3px 12px rgba(12,35,54,.35);color:#fff;display:grid!important;place-items:center;font-weight:900}.report-cluster span{display:block;text-align:center}.report-popup h3{margin:8px 0 5px;font-size:16px}.report-popup p{margin:0 0 8px;line-height:1.4}.report-popup small{color:var(--muted);line-height:1.4}
.page-head.compact{margin-bottom:14px}.settings-section-title{margin:0 0 14px}.settings-section-title h2{margin:0}.branding-preview{display:flex;align-items:center;gap:18px;padding:14px;margin-bottom:20px;background:#f5f8f8;border:1px solid var(--line);border-radius:6px}.branding-preview-logo{width:150px;height:72px;background-color:#fff;background-image:var(--tenant-logo,url('/static/nexo-identidad.jpg'));background-repeat:no-repeat;background-size:var(--tenant-logo-size,300px 343px);background-position:var(--tenant-logo-position,-20px -142px);border:1px solid var(--line);flex:0 0 auto}.branding-preview div:last-child{display:flex;flex-direction:column}.branding-preview span{color:var(--muted);font-size:13px;margin-top:4px}.feature-lock{margin-top:16px;border-left:4px solid var(--gold)}.feature-lock h3{margin:10px 0 6px}.permission-chip{display:inline-flex;padding:4px 8px;margin:2px;border-radius:999px;background:#e9f2f3;color:var(--teal);font-size:11px;font-weight:700}.settings-map{height:330px;border:1px solid var(--line);border-radius:5px}.settings-menu button:first-child{border-radius:6px 6px 0 0}.settings-menu button:last-child{border-radius:0 0 6px 6px}
.report-divider{position:relative;z-index:900;cursor:col-resize;background:#e7eef0;touch-action:none;outline:none}.report-divider:before{content:"";position:absolute;left:3px;top:50%;width:4px;height:58px;border-radius:999px;background:#71909a;transform:translateY(-50%)}.report-divider:hover,.report-divider:focus{background:#d1e4e7}.report-divider:hover:before,.report-divider:focus:before{background:var(--aqua)}body.resizing{cursor:col-resize;user-select:none}.collab-notice{margin:18px 0 0;padding:14px 16px;border-left:5px solid var(--gold);border-radius:4px;background:#fff6d9;color:var(--ink);line-height:1.5}.collab-notice strong{display:block;margin-bottom:3px}.other-detail{margin-top:-8px;padding:12px 14px;background:#f4f8f8;border-left:3px solid var(--aqua)}
@media(max-width:760px){.report-divider{display:none}.report-layout{--form-width:100%}}.nexo-marker-wrap{background:transparent!important;border:0!important;overflow:visible!important}.nexo-map-pin{position:absolute;left:6px;top:3px;width:30px;height:30px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--marker-color,#30909a);box-shadow:0 4px 11px rgba(12,35,54,.42);transform:rotate(-45deg);transition:transform .16s ease,filter .16s ease}.nexo-map-pin:hover{transform:rotate(-45deg) scale(1.12);filter:brightness(1.05)}.nexo-map-pin .pin-core{position:absolute;left:7px;top:7px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}.nexo-map-pin.selected:after{content:"";position:absolute;left:-8px;top:27px;width:40px;height:14px;border-radius:50%;background:color-mix(in srgb,var(--marker-color,#30909a) 35%,transparent);transform:rotate(45deg);animation:nexo-pin-pulse 1.8s ease-out infinite;z-index:-1}@keyframes nexo-pin-pulse{0%{opacity:.8;transform:rotate(45deg) scale(.45)}75%,100%{opacity:0;transform:rotate(45deg) scale(1.25)}}.legend-symbol{border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.triage-explainer{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:15px 18px;border-left:5px solid var(--aqua);border-radius:5px;background:#e9f5f6;color:var(--ink)}.triage-explainer strong{white-space:nowrap}.triage-explainer span{color:var(--muted)}.stat.priority{border-top:4px solid var(--gold)}.triage-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;line-height:1.2}.triage-chip.auto_published{color:#176241;background:#ddf3e8}.triage-chip.review{color:#7a4f00;background:#fff0c7}.triage-chip.manual{color:#31556c;background:#e5eff5}.table tr.needs-review{background:#fffaf0}.triage-detail{display:flex;flex-direction:column;gap:4px;margin:14px 0;padding:13px 15px;border-radius:5px}.triage-detail.auto_published{background:#e8f6ee;border-left:4px solid #2b9562}.triage-detail.review{background:#fff5d9;border-left:4px solid var(--gold)}.triage-detail.manual{background:#eaf2f6;border-left:4px solid #527b94}.triage-detail span{font-size:13px;color:var(--muted)}
@media(max-width:760px){.triage-explainer{display:block}.triage-explainer strong{display:block;margin-bottom:5px;white-space:normal}}/* v0.9 map controls, members and permanent NEXO attribution */
.nexo-copyright{display:block;padding:8px 18px;color:#9faab1;text-decoration:none;font-size:10px;line-height:1.45}.nexo-copyright:hover{color:#fff}.login-brand .nexo-copyright{padding:18px 0 0;color:#d7e5e7}.login-card .nexo-copyright{margin-top:24px;padding:0;color:var(--muted)}.report-copyright{margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}.report-copyright .nexo-copyright{padding:0;color:var(--muted)}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-4px 0 18px}.section-toolbar p,.section-toolbar h3{margin:0}.settings-section-title{margin-bottom:8px}
.survey-row,.state-row{display:grid;grid-template-columns:22px minmax(0,1fr) 30px;gap:10px;align-items:center;padding:11px 16px}.survey-row input,.state-row input{width:auto;margin:0;justify-self:center;accent-color:var(--gold)}.survey-title{font-weight:700;line-height:1.25;overflow-wrap:anywhere}.survey-count,.state-row span:last-child{justify-self:end;font-weight:800;color:var(--ocean)}.state-list{padding:12px 0;border-bottom:1px solid var(--line)}.tab{cursor:pointer}
.map-workspace{transition:grid-template-columns .2s ease}.map-workspace.results-hidden{grid-template-columns:0 minmax(0,1fr)}.map-workspace.results-hidden .results-panel{opacity:0;overflow:hidden;pointer-events:none}.results-panel{transition:opacity .16s ease}.map-filter-panel{position:absolute;right:14px;top:66px;z-index:1100;width:min(420px,calc(100% - 28px));padding:18px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 14px 38px rgba(12,35,54,.22)}.map-filter-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.map-filter-panel .modal-close{width:34px;height:34px;font-size:20px}.filter-actions{display:flex;justify-content:flex-end;gap:9px}
.layer-switcher{position:relative}.layer-menu{position:absolute;right:0;top:calc(100% + 7px);width:230px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 32px rgba(12,35,54,.2)}.layer-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:4px;background:#fff;text-align:left;cursor:pointer;color:var(--ink)}.layer-menu button:hover,.layer-menu button.active{background:#edf5f6;color:var(--teal);font-weight:800}.layer-swatch{width:32px;height:24px;flex:0 0 auto;border:2px solid #fff;border-radius:4px;box-shadow:0 0 0 1px #aebdc2;background:#d8e5df}.layer-swatch.openstreetmap{background:linear-gradient(135deg,#b8dfb2 0 45%,#eee1b8 45% 65%,#91cce0 65%)}.layer-swatch.esri_satellite{background:linear-gradient(135deg,#1c4537,#477b69 48%,#a9b6a5 49%,#273d54)}.layer-swatch.carto_light{background:linear-gradient(135deg,#f3f1ec,#d7e2e7)}.layer-swatch.carto_dark{background:linear-gradient(135deg,#17222a,#495762)}.layer-swatch.opentopomap{background:linear-gradient(135deg,#c8d9a6,#d8bd83 48%,#a8c5d3 49%)}.report-layer-control{position:absolute;z-index:1200;right:16px;top:16px}.report-layer-control .layer-menu{z-index:1250}
.members-card{margin-top:16px}.member-counter{padding:7px 11px;border-radius:999px;background:#e8f1f2;color:var(--teal);font-weight:900}.member-list{display:grid;margin-bottom:18px}.member-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.member-row>div:nth-child(2){display:flex;flex-direction:column}.member-row span{font-size:12px;color:var(--muted)}.member-form{padding-top:8px}.three-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.campaign-map-options{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:6px;background:#f7fafb}.campaign-map-options h3{margin:0 0 5px}.map-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.map-option{display:flex;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer}.map-option input{width:auto;margin:0}.map-option .layer-swatch{width:27px;height:20px}.map-option span:last-child{font-weight:700;color:var(--ink)}
@media(max-width:900px){.map-workspace.results-hidden{grid-template-columns:1fr}.map-workspace.results-hidden .results-panel{opacity:1}.three-cols{grid-template-columns:1fr}.section-toolbar{align-items:flex-start}.report-layer-control{right:10px;top:10px}.report-layer-control .toolbar-button{max-width:150px}.nexo-copyright{display:none}}
.space-wizard>label:not(.checkbox){display:flex;flex-direction:column;gap:8px;margin:18px 0;font-weight:600}.space-wizard input:not([type=checkbox]){width:100%;box-sizing:border-box}.space-wizard h2{margin-top:28px}.space-wizard #status{line-height:1.5}

.layer-swatch.esri_light{background:#dce1e4}.layer-swatch.esri_dark{background:#303941}.layer-swatch.esri_streets{background:#e7ddc2}.map-option input[type=checkbox]{width:20px;min-width:20px;height:20px;flex:none}
