:root{
  --deep:#0c2336;--ocean:#12374f;--teal:#205f6e;--aqua:#30909a;
  --gold:#f6bf26;--ink:#17232c;--muted:#6d7982;--line:#dce3e6;
  --soft:#f4f7f8;--white:#fff;--danger:#a52c39;--success:#167052;
  --side:224px;--top:74px;--shadow:0 8px 30px rgba(12,35,54,.12)
}
*{box-sizing:border-box}html,body{height:100%;margin:0}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft)}body{overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.loading{padding:80px;text-align:center;color:var(--muted)}
.workspace{height:100vh;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:var(--top) minmax(0,1fr)}
.side{grid-row:1/-1;background:#1e252c;color:#f4f6f7;display:flex;flex-direction:column;min-height:0;z-index:1200}.brand{height:var(--top);display:flex;align-items:center;gap:8px;padding:8px 13px;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;background:#192027;overflow:hidden}.brand-logo{width:150px;height:56px;display:block;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);flex:0 0 auto}.brand-product{font-size:9px;letter-spacing:.12em;font-weight:900;color:#a9d8db;writing-mode:vertical-rl;transform:rotate(180deg)}
.side-context{padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.11);font-size:12px;color:#b8c0c6}.side-context strong{display:block;color:#fff;font-size:14px;margin-bottom:5px}.new-post{margin:14px 16px 10px;border:0;border-radius:4px;background:var(--gold);color:#1b2329;padding:12px 14px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.new-post span{font-size:24px;font-weight:300;line-height:.8}.side-nav{display:grid;margin-top:6px}.side-nav a,.side-nav button{height:56px;padding:0 18px;border:0;border-left:4px solid transparent;background:transparent;color:#f5f7f8;text-decoration:none;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;font-weight:600}.side-nav a:hover,.side-nav button:hover,.side-nav .active{background:#151b20;border-left-color:var(--aqua);color:#fff}.nav-icon{width:25px;text-align:center;font-size:20px;color:#a9d8db}.side-nav .active .nav-icon{color:var(--gold)}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding:12px 0}.side-note{padding:8px 18px;font-size:11px;color:#9faab1;line-height:1.45}
.topbar{grid-column:2;display:flex;align-items:center;gap:16px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);min-width:0;z-index:1100}.topbar h1{font-size:24px;margin:0;white-space:nowrap}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.search{width:min(340px,30vw);position:relative}.search input{padding-left:38px}.search::before{content:'⌕';position:absolute;left:13px;top:7px;font-size:24px;color:var(--muted)}.user-chip{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:16px;font-size:13px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,var(--teal),var(--aqua));color:#fff;display:grid;place-items:center;font-weight:900}
.content{grid-column:2;min-height:0;overflow:auto;background:var(--soft)}.map-workspace{height:100%;display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0}.results-panel{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;z-index:900}.results-head{padding:18px 16px 12px;border-bottom:1px solid var(--line)}.results-head strong{font-size:15px}.tabs{display:flex;gap:24px;margin-top:18px}.tab{border:0;background:none;padding:0 0 9px;color:var(--muted);font-weight:700;border-bottom:3px solid transparent}.tab.active{color:var(--ink);border-color:var(--gold)}.survey-list{padding:12px 0;border-bottom:1px solid var(--line)}.survey-row{display:flex;gap:10px;align-items:center;padding:10px 16px}.survey-row input{accent-color:var(--gold)}.survey-row span:last-child{margin-left:auto}.public-disclaimer{padding:10px 16px;background:#eef6f6;color:var(--teal);font-size:11px;line-height:1.45}.report-list{overflow:auto;padding:8px;display:grid;gap:8px}.report-card{border:1px solid var(--line);border-left:4px solid var(--aqua);border-radius:6px;padding:12px;background:#fff}.report-card h3{font-size:14px;margin:7px 0}.report-card p{font-size:12px;line-height:1.45;margin:0 0 8px}.map-stage{position:relative;min-width:0;min-height:0}.map{width:100%;height:100%;background:#dce8ea}.map-stage>.map{position:absolute;inset:0}.map-toolbar{position:absolute;top:14px;left:14px;right:14px;z-index:800;display:flex;justify-content:flex-end;gap:8px;pointer-events:none}.map-toolbar>*{pointer-events:auto}.map-legend{position:absolute;right:14px;bottom:28px;z-index:800;background:#fff;padding:10px 12px;border-radius:5px;box-shadow:var(--shadow);font-size:11px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 5px 0 10px}.legend-dot:first-child{margin-left:0}.leaflet-control-attribution{font-size:10px!important}
.button,button.action{appearance:none;border:0;border-radius:4px;background:var(--aqua);color:#fff;padding:10px 15px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover,button.action:hover{filter:brightness(.94)}.button.secondary,button.secondary{background:#fff;color:var(--deep);border:1px solid #becbd0}.button.dark{background:#17222b}.button.danger,button.danger{background:var(--danger);color:#fff}.button.small{padding:7px 10px;font-size:12px}.toolbar-button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:4px;box-shadow:0 2px 8px rgba(12,35,54,.08);cursor:pointer;font-weight:700}
.page{padding:28px 32px 50px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h2{font-size:28px;margin:0 0 6px}.page-head p{margin:0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);padding:16px;border-radius:7px}.stat strong{font-size:27px;display:block;color:var(--deep)}.stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.card{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 3px 12px rgba(12,35,54,.05);padding:20px}.card h2,.card h3{margin-top:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px;white-space:nowrap}.table th{background:#f7f9fa;color:#4e5b64;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.table tr[data-id]{cursor:pointer}.table tr[data-id]:hover{background:#f0f7f7}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:#e8f1f2;color:var(--teal);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.badge.verified{background:#d9f1e8;color:#126344}.badge.rejected{background:#f8dfe2;color:#89202c}.badge.pending{background:#fff1ce;color:#755300}.badge.corroborated{background:#e3e9f8;color:#334e8c}.filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:18px}.field{margin-bottom:18px}label{display:block;font-size:12px;font-weight:800;color:var(--ocean);margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #becbd0;border-radius:4px;padding:10px 11px;color:var(--ink);background:#fff}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(48,144,154,.18);border-color:var(--aqua)}.checkbox{display:flex;align-items:flex-start;gap:9px}.checkbox input{width:auto;margin-top:3px}.checkbox span{font-size:13px}.hint,.meta{color:var(--muted);font-size:12px;line-height:1.5}.empty{text-align:center;padding:42px 18px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.answers{background:#f3f6f7;padding:14px;border-radius:5px;white-space:pre-wrap;overflow:auto}.activity-list{display:grid}.activity-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:15px 2px;border-bottom:1px solid var(--line)}.activity-symbol{width:36px;height:36px;border-radius:50%;background:#e4f0f1;color:var(--teal);display:grid;place-items:center;font-weight:900}.activity-item p{margin:2px 0;font-size:13px}.activity-item time{font-size:11px;color:var(--muted)}
.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.settings-menu{padding:0}.settings-menu button{display:block;width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;font-weight:700;cursor:pointer}.settings-menu button.active{border-left:4px solid var(--aqua);background:#eef6f6;color:var(--teal)}.campaigns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.campaign{display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.field-row{display:grid;grid-template-columns:1.2fr 1fr .7fr auto auto;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.form-map{height:340px;border:1px solid var(--line);border-radius:5px}.form-shell{max-width:900px;margin:26px auto;padding:0 18px 50px}.form-head{background:linear-gradient(135deg,var(--deep),var(--teal));color:#fff;border-radius:8px 8px 0 0;padding:28px}.form-head h1{margin:7px 0}.form-head p{margin-bottom:0;color:#dcebed}.form-body{border-radius:0 0 8px 8px}.privacy{background:#eef6f6;border-left:4px solid var(--aqua);padding:14px;margin:22px 0}.honeypot{position:absolute!important;left:-9999px!important}.status-box{padding:16px;border-radius:5px;background:#eef6f6;margin:16px 0}.login-page{height:100vh;display:grid;grid-template-columns:1fr 480px;background:linear-gradient(135deg,var(--deep),var(--teal))}.login-brand{padding:64px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.login-brand h1{font-size:48px;margin:0 0 12px}.login-card{margin:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:55px}.login-logo{width:260px;height:110px;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);margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:var(--aqua)}#toast{position:fixed;right:22px;bottom:22px;max-width:420px;background:var(--deep);color:#fff;padding:14px 18px;border-radius:6px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:2500}#toast.show{opacity:1;transform:none}
@media(max-width:900px){:root{--side:70px}.brand{padding:8px}.brand-logo{width:54px}.brand-product,.side-context,.new-post{display:none}.side-nav a,.side-nav button{padding:0;justify-content:center}.side-nav a span:last-child,.side-nav button span:last-child,.side-note{display:none}.map-workspace{grid-template-columns:1fr}.results-panel{position:absolute;left:70px;top:var(--top);bottom:0;width:min(320px,calc(100vw - 70px));z-index:950;transform:translateX(-105%);transition:.2s}.results-panel.open{transform:none}.topbar{padding:0 12px}.topbar h1{font-size:19px}.search,.user-chip span{display:none}.page{padding:20px 14px}.stats{grid-template-columns:repeat(2,1fr)}.settings-layout,.split{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:30px}.map-toolbar{justify-content:space-between}}
