

:root{
  --ink:#121826;--muted:#687084;--line:#e7eaf0;--surface:#fff;--bg:#f5f7fb;
  --violet:#6d28d9;--violet2:#8b5cf6;--cyan:#06b6d4;--pink:#ec4899;
  --red:#ef4444;--amber:#f59e0b;--green:#10b981;--blue:#2563eb;
  --shadow:0 18px 55px rgba(31,23,56,.10);--radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1200px;margin:auto;height:72px;padding:0 20px;display:flex;align-items:center;gap:25px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:-.4px;white-space:nowrap}
.brand strong{font-weight:950}
.brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#111827,#6d28d9);display:grid;place-items:center;color:#fff;box-shadow:0 9px 22px #6d28d933}
.nav-links{display:flex;gap:18px;flex:1;color:#606879;font-size:14px;font-weight:800}
.nav-links a{text-decoration:none}
.nav-links a:hover{color:var(--violet)}
.nav-btn,.filter-btn,.map-tool,.btn-light,.btn-dark{border:0;border-radius:12px;font-weight:900;padding:10px 13px}
.nav-btn{background:#efeaff;color:var(--violet)}
.nav-btn:hover,.filter-btn:hover,.map-tool:hover,.btn-light:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(109,40,217,.12)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#111827 0%,#24144d 46%,#6d28d9 100%);color:#fff}
.hero-in{max-width:1200px;margin:auto;padding:70px 20px 78px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative;z-index:2}
.hero h1{font-size:clamp(42px,6vw,80px);line-height:.92;letter-spacing:-4px;margin:18px 0}
.hero h1 span{color:#d8b4fe}
.hero p{max-width:700px;color:#e8e7f0;line-height:1.55;font-size:18px}
.kicker,.section-badge,.eyebrow{font-size:11px;font-weight:950;letter-spacing:.12em}
.kicker{display:inline-flex;padding:8px 11px;border:1px solid #ffffff29;border-radius:999px;background:#ffffff0d}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn-primary,.btn-ghost{border:0;border-radius:14px;padding:14px 17px;font-weight:950}
.btn-primary{background:#fff;color:#4c1d95}
.btn-ghost{background:#ffffff14;border:1px solid #ffffff30;color:#fff}
.btn-primary:hover,.btn-ghost:hover{transform:translateY(-2px)}
.hero-micro{margin-top:18px;color:#cfd0da;font-size:11px;display:flex;flex-wrap:wrap;gap:8px}
.hero-glass{display:flex;justify-content:center}
.radar-card{width:min(460px,100%);padding:19px;border-radius:28px;border:1px solid #ffffff25;background:rgba(255,255,255,.10);box-shadow:0 25px 70px #0005;backdrop-filter:blur(16px)}
.radar-head{display:flex;justify-content:space-between;font-size:10px;font-weight:950;letter-spacing:.1em;color:#ddd}
.live-pill{background:#fef2f2;color:#b91c1c;border-radius:999px;padding:6px 8px}
.radar-ring{height:250px;margin:12px 0;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#ffffff16 0 26%,transparent 27%),repeating-radial-gradient(circle,#ffffff16 0 1px,transparent 1px 36px),linear-gradient(135deg,#0b1020,#2d2058)}
.radar-ring:before,.radar-ring:after{content:"";position:absolute;inset:22%;border:1px solid #ffffff18;border-radius:50%}
.radar-ring:after{inset:7%;border-style:dashed;animation:spin 18s linear infinite}
.radar-core{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);font-weight:950;box-shadow:0 0 0 11px #ffffff0c,0 0 40px #ec489988}
.radar-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#67e8f9;box-shadow:0 0 0 7px #67e8f92e,0 0 25px #67e8f9}
.d1{left:34%;top:27%}.d2{left:69%;top:58%;background:#f9a8d4;box-shadow:0 0 0 7px #f9a8d42e,0 0 25px #f9a8d4}.d3{left:25%;top:66%;background:#fde68a;box-shadow:0 0 0 7px #fde68a2e,0 0 25px #fde68a}
.radar-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.radar-stats div{background:#ffffff0d;border:1px solid #ffffff17;border-radius:15px;padding:11px}
.radar-stats b{display:block;font-size:25px}.radar-stats small{font-size:9px;color:#c8c8d2;font-weight:900}
.radar-note{font-size:10px!important;color:#cfcfd7!important;line-height:1.4!important;margin:13px 0 0!important}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-orbit{position:absolute;border-radius:50%;filter:blur(2px);opacity:.25;border:1px solid #fff}
.hero-orbit-a{width:500px;height:500px;right:-180px;top:-190px}
.hero-orbit-b{width:220px;height:220px;left:-100px;bottom:-110px}

.wrap{max-width:1200px;margin:auto;padding:0 20px}
.stats{margin-top:-26px;position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow)}
.stat .icon{font-size:18px}.stat b{display:block;font-size:28px;margin-top:2px}.stat small{color:var(--muted);font-weight:850;font-size:11px}
.section{padding-top:46px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:15px}
.section-head h2{margin:0;font-size:30px;letter-spacing:-1.2px}
.section-head p{margin:5px 0 0;color:var(--muted)}
.section-badge{background:#efeaff;color:#5b21b6;border-radius:999px;padding:8px 10px;border:1px solid #ddd6fe;white-space:nowrap}
.section-badge.dark{background:#111827;color:#fff;border-color:#111827}
.section-badge.warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.search-row{display:flex;gap:9px}.search-box{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 12px;flex:1}.search-box span{font-size:22px;color:#8a8fa0}.search-box input{border:0;outline:0;padding:13px 6px;width:100%;background:transparent}
.filter-btn,.btn-light{background:#fff;border:1px solid var(--line);color:#4b5563}
.chips{display:flex;gap:8px;overflow:auto;padding:11px 0}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;font-weight:850;color:#4b5563}
.chip.on{background:var(--violet);color:#fff;border-color:var(--violet)}
.results-line{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:850;margin:1px 0 11px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:.22s;box-shadow:0 6px 25px rgba(31,23,56,.05)}
.card:hover{transform:translateY(-3px);border-color:#c4b5fd;box-shadow:var(--shadow)}
.card-media{height:175px;background:linear-gradient(135deg,#eceef4,#ddd6fe);position:relative;display:grid;place-items:center;font-size:50px;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:10px;top:10px;color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:950}
.badge.pending{background:var(--red)}.badge.process{background:var(--amber);color:#4b2d00}.badge.solved{background:var(--green)}
.card-body{padding:14px}.card-body h3{margin:0 0 5px;font-size:17px}.meta{color:var(--muted);font-size:12px}.card-num{margin-top:12px;display:flex;justify-content:space-between;align-items:center;color:var(--violet);font-weight:950;font-size:11px}
.precision{display:inline-flex;gap:5px;margin-top:8px;font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;background:#f1f5f9;color:#475569}.precision.exact{background:#ecfdf5;color:#047857}
.map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.map-tool{background:#fff;border:1px solid var(--line);color:#525866;font-size:12px}.map-tool.active{background:#111827;border-color:#111827;color:#fff}.map-sep{width:1px;background:var(--line);margin:0 2px}
.map-shell{position:relative;background:#dceef3;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.leaflet-map{height:620px;z-index:1}
.map-panel{position:absolute;top:14px;right:14px;width:min(370px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;background:#fffffff3;backdrop-filter:blur(16px);border:1px solid #fff;border-radius:18px;padding:16px;z-index:500;box-shadow:0 20px 50px #11182722;display:none}
.map-panel.show{display:block}
.map-panel h3{margin:0 0 5px}.map-panel p{font-size:13px;line-height:1.45;color:#4b5563}.map-panel img{width:100%;max-height:190px;object-fit:cover;border-radius:13px;margin:8px 0}
.map-actions{display:flex;gap:7px;flex-wrap:wrap}.map-actions button{border:0;border-radius:10px;padding:9px 10px;background:#efeaff;color:var(--violet);font-weight:900}
.map-floating{position:absolute;left:14px;bottom:14px;z-index:500;background:#fffffff0;border:1px solid #fff;border-radius:15px;padding:10px 12px;max-width:min(440px,calc(100% - 28px));box-shadow:0 12px 35px #1118271d}
.legend-row{display:flex;gap:11px;flex-wrap:wrap;font-size:10px;font-weight:900}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;margin-right:5px}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.dot.green{background:var(--green)}
.map-status{font-size:10px;color:var(--muted);margin-top:7px;line-height:1.3}
.map-caption{font-size:11px;color:var(--muted);padding:11px 3px 0}
.map-caption strong{color:#404754}
.leaflet-popup-content-wrapper{border-radius:13px}.leaflet-popup-content{font:inherit}.leaflet-control-layers{border-radius:12px!important}
.risk-zone{stroke:#6d28d9;stroke-width:2;fill:#ec4899;fill-opacity:.14}
.risk-zone.high{fill:#ef4444;fill-opacity:.18}.risk-zone.medium{fill:#f59e0b;fill-opacity:.17}.risk-zone.low{fill:#06b6d4;fill-opacity:.14}
.hydric-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.hydric-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px;box-shadow:0 7px 25px rgba(31,23,56,.05)}
.hydric-card.featured{background:linear-gradient(145deg,#111827,#1f1636 54%,#4c1d95);color:#fff;border-color:#111827}
.hydric-card.featured p{color:#ddd8e9}.hydric-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.btn-dark{background:#111827;color:#fff}.hydric-card.featured .btn-dark{background:#fff;color:#111827}.hydric-card.featured .btn-light{background:#ffffff0d;color:#fff;border-color:#ffffff25}
.official-source{display:flex;align-items:center;gap:7px;color:#aaa5b7;font-size:10px;margin-top:13px}.source-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b}
.eyebrow{color:#7c3aed}.featured .eyebrow{color:#c4b5fd}
.river-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 18px}.river-card{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fafbfc}.river-card span{font-size:10px;font-weight:900;color:var(--muted)}.river-card b{display:block;font-size:27px;margin-top:5px}.river-card em{font-size:10px;font-style:normal;font-weight:900;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#4338ca}.river-card em.warn{background:#fff7ed;color:#9a3412}.river-card em.danger{background:#fef2f2;color:#b91c1c}
.meter-head{display:flex;justify-content:space-between;font-size:11px;font-weight:900}.meter{height:12px;border-radius:999px;background:linear-gradient(90deg,#10b981 0 35%,#f59e0b 35% 65%,#ef4444 65% 100%);margin:8px 0;position:relative}.meter i{position:absolute;top:-4px;width:4px;height:20px;border-radius:9px;background:#111827;left:0;transition:.35s}
.small{font-size:11px;color:var(--muted);line-height:1.4}
.section-subhead{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:26px 0 10px}.section-subhead h3{margin:0}.section-subhead p{margin:5px 0 0;color:var(--muted);font-size:12px}
.risk-neighborhood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.risk-neighborhood{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;position:relative;cursor:pointer}.risk-neighborhood:hover{border-color:#c4b5fd;transform:translateY(-2px)}.risk-neighborhood b{font-size:13px}.risk-neighborhood span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.risk-pill{position:absolute;top:10px;right:10px;width:9px;height:9px;border-radius:50%;background:#cbd5e1}.risk-pill.active{background:#ef4444;box-shadow:0 0 0 5px #ef444425}.risk-disclaimer{font-size:10px;color:var(--muted);margin-top:9px}
.neighborhoods{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.neighborhood{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;cursor:pointer;transition:.2s}.neighborhood:hover{border-color:#c4b5fd;transform:translateY(-2px)}.neighborhood b{font-size:14px}.neighborhood span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.bar{height:7px;border-radius:9px;background:#edf0f5;overflow:hidden;margin-top:9px}.bar i{height:100%;display:block;background:linear-gradient(90deg,#6d28d9,#ec4899)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.news{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:0 7px 25px rgba(31,23,56,.05)}.news-cover{height:145px;background:linear-gradient(135deg,#111827,#6d28d9);display:grid;place-items:center;color:#fff;font-size:48px}.news-body{padding:15px}.news-body h3{margin:0 0 6px;font-size:17px}.news-body p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.news-meta{font-size:9px;color:#818898;font-weight:900;margin-top:10px}
.community-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.comment{padding:12px 0;border-bottom:1px solid var(--line)}.comment:last-child{border:0}.comment b{font-size:12px}.comment p{margin:5px 0 0;color:#51596a;font-size:13px;line-height:1.45}.intrigue{background:linear-gradient(145deg,#fff,#f3edff)}.intrigue h3{font-size:27px;line-height:1.05;letter-spacing:-1px}.intrigue p{color:#606879;line-height:1.5}
footer{max-width:1200px;margin:50px auto 0;padding:35px 20px 55px;color:#737b8a;font-size:11px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}footer a{color:#5b21b6;text-decoration:none}
.modal{position:fixed;inset:0;background:#0f172acc;backdrop-filter:blur(7px);z-index:2000;display:none;align-items:center;justify-content:center;padding:15px}.modal.show{display:flex}.sheet{background:#fff;width:min(780px,100%);max-height:92vh;overflow:auto;border-radius:24px;padding:22px;box-shadow:0 30px 90px #0006}.modal-close{float:right;border:0;background:#f1f5f9;border-radius:50%;width:36px;height:36px;font-size:22px}.modal-close:hover{background:#ede9fe;color:var(--violet)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:950}.field input,.field textarea,.field select{border:1px solid #dfe3ea;border-radius:12px;padding:11px;outline:0;background:#fff}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#a78bfa;box-shadow:0 0 0 4px #8b5cf622}
.submit{grid-column:1/-1;border:0;border-radius:13px;padding:13px;background:linear-gradient(135deg,#6d28d9,#ec4899);color:#fff;font-weight:950}
.upload{border:2px dashed #d8d1e7;background:#faf8ff;padding:15px;border-radius:14px}.image-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.image-grid img{width:100%;height:65px;object-fit:cover;border-radius:9px}
.privacy{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:12px;padding:10px;font-size:10px;line-height:1.4}
.admin{display:grid;grid-template-columns:190px 1fr;gap:15px}.admin-side{background:#111827;color:#fff;border-radius:16px;padding:12px}.admin-side b{display:block;padding:8px}.admin-side button{width:100%;text-align:left;background:transparent;color:#d7dae1;border:0;border-radius:9px;padding:9px;font-weight:800}.admin-side button:hover,.admin-side button.active{background:#ffffff16}.admin-logout{float:right;border:0;background:#ef4444;color:#fff;border-radius:10px;padding:9px 11px;font-weight:900}
.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.admin-card{border:1px solid var(--line);border-radius:13px;padding:12px}.admin-card b{font-size:22px;display:block}.admin-table{border:1px solid var(--line);border-radius:13px;overflow:hidden}.admin-row{display:grid;grid-template-columns:1.3fr .9fr 120px 90px;gap:8px;padding:10px;border-bottom:1px solid var(--line);font-size:11px;align-items:center}.admin-row:last-child{border-bottom:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:3000;background:#111827;color:#fff;padding:12px 16px;border-radius:13px;font-weight:900;box-shadow:0 17px 45px #0004;transition:.25s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.empty{padding:32px;text-align:center;background:#fff;border:1px dashed #d8dce4;border-radius:17px;color:var(--muted)}.success{text-align:center;padding:30px 10px}.success .check{width:75px;height:75px;border-radius:50%;background:#ecfdf5;border:5px solid #10b981;color:#047857;margin:auto;display:grid;place-items:center;font-size:36px;font-weight:950}
.notice{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:11px;border-radius:12px;font-size:11px;line-height:1.4;margin:10px 0}
.mini-tag{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;color:#475569}
@media (max-width:950px){.hero-in{grid-template-columns:1fr}.hero-glass{display:none}.stats{grid-template-columns:repeat(3,1fr)}.grid,.news-grid{grid-template-columns:repeat(2,1fr)}.neighborhoods,.risk-neighborhood-grid{grid-template-columns:repeat(2,1fr)}.hydric-layout,.community-grid{grid-template-columns:1fr}}
@media (max-width:650px){.nav-links{display:none}.nav-in{height:64px}.brand{font-size:12px}.stats{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.search-row{flex-direction:column}.grid,.news-grid{grid-template-columns:1fr}.neighborhoods,.risk-neighborhood-grid{grid-template-columns:1fr 1fr}.leaflet-map{height:560px}.map-floating{left:9px;right:9px;max-width:none}.form{grid-template-columns:1fr}.field.full,.submit{grid-column:auto}.admin{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr 1fr}.admin-row span:nth-child(3),.admin-row span:nth-child(4){display:none}.river-grid{grid-template-columns:1fr}.hero h1{letter-spacing:-2.5px}.hero-in{padding-top:50px}.hero-micro{display:none}}

/* Mejoras V10 */
.environment-banner{display:block;background:#21183f;color:#f6f2ff;text-align:center;padding:9px 16px;font-size:12px;font-weight:750;letter-spacing:.01em}
.environment-banner.live{background:#065f46}.environment-banner strong{color:#e9d5ff}
body.modal-open{overflow:hidden}.map-loading,.map-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:25px;text-align:center;background:repeating-linear-gradient(45deg,#eef0f5,#eef0f5 10px,#e8eaf1 10px,#e8eaf1 20px);color:#374151}.map-fallback p{max-width:410px}.popup-action{padding:8px 12px;border:0;border-radius:8px;background:#6d28d9;color:#fff;cursor:pointer;margin-top:9px}
.card-status{display:inline-block;border-radius:999px;font-size:10px;font-weight:850;padding:5px 9px;background:#fef2f2;color:#b91c1c}.card-status.green{background:#d1fae5;color:#047857}.card-status.amber{background:#fffbeb;color:#92400e}.card-media .card-status{position:absolute;top:12px;right:12px}.card-excerpt{font-size:12px;color:#576174;line-height:1.5;min-height:40px}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.privacy-choice{padding:14px;border:1px solid #ddd6fe;border-radius:13px;background:#f5f3ff}.privacy-choice label{cursor:pointer;display:flex;gap:10px;align-items:flex-start}.privacy-choice small{color:#4b5563;font-size:11px;display:block;margin-top:5px}.privacy-choice input{accent-color:#6d28d9}
.picker-map{height:230px;border-radius:12px;overflow:hidden;border:1px solid #dfe3ea}.privacy-alert{padding:12px;border-radius:11px;color:#334155;background:#eff6ff;font-size:12px}.error-list{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px;border-radius:11px;font-size:12px;line-height:1.6}.field .hint{font-size:11px;color:#64748b}
.admin-report{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin:10px 0}.admin-report h4{margin:0 0 5px}.admin-report select{max-width:100%;padding:7px;border-radius:8px;border:1px solid #cbd5e1}.admin-report .btn-light{margin:4px 5px 4px 0}.admin-private{background:#fff7ed;border:1px solid #fed7aa;padding:12px;border-radius:11px;margin:9px 0;word-break:break-word}.loading-button:disabled{opacity:.5;cursor:wait}
.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:650px){.environment-banner{font-size:10px}.radar-card{display:none}.nav-in{gap:9px}.brand{font-size:12px}.stats{margin-top:0;padding-top:14px}.hero-in{padding:44px 16px}.hero h1{font-size:42px}.sheet{padding:15px;max-height:94vh;border-radius:16px}.privacy-choice{padding:11px}.picker-map{height:205px}}
.watch-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;font-size:12px}.watch-choices label{display:flex;align-items:center;gap:5px}.watch-choices input{accent-color:#7c3aed}.receipt-code{display:block;font-size:11px;overflow-wrap:anywhere;padding:9px;background:#f1f5f9;border-radius:8px;margin-top:6px}.popup-action:hover{background:#5b21b6}.field input:disabled{opacity:.6}

.public-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:16px 0}.public-gallery img{width:100%;max-height:290px;object-fit:cover;border-radius:11px}
.leaflet-map.has-fallback{background:#fff;padding:15px;overflow:auto;display:flex;flex-direction:column;height:620px}.fallback-intro{font-size:12px;color:#334155}.fallback-intro p{font-size:11px;color:#64748b;margin:7px 0}.fallback-svg{width:100%;flex:1;min-height:210px;max-height:440px}.fallback-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:8px;color:#64748b;font-size:11px}.fallback-bottom button{flex-shrink:0}.timeline-event{border-left:3px solid #8b5cf6;margin-left:8px;padding:5px 12px;font-size:12px}.meter[hidden],[hidden]{display:none!important}
@media(max-width:650px){.leaflet-map.has-fallback{height:510px}.fallback-bottom{flex-direction:column;align-items:stretch;text-align:center}}

.mobile-menu-btn{display:none;border:0;border-radius:10px;padding:8px 11px;background:#f1edff;color:#5321a6;font-weight:900;font-size:18px}
@media(max-width:650px){.mobile-menu-btn{display:block;margin-left:auto}.nav-in{position:relative}.nav-links.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;padding:14px 20px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 15px 28px #11182720;gap:15px;z-index:1200}.nav-btn{white-space:nowrap;font-size:11px;padding:9px}}
/* V11: acciones de equipo y mapa sin mosaicos de error */
.team-list,.team-requests{display:grid;gap:8px;margin:12px 0}
.team-list .map-actions,.team-requests .map-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.btn-light.danger{color:#991b1b;border-color:#fecaca;background:#fff1f2}
.btn-light.danger:hover{background:#ffe4e6}
.fallback-bottom .map-actions{display:flex;gap:6px;flex-wrap:wrap}
.fallback-bottom a.btn-light{display:inline-flex;align-items:center;text-decoration:none}
.admin-side button{cursor:pointer}
#inviteAdminForm button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.fallback-bottom .map-actions{justify-content:center}}

/* V12 · portada más editorial, descubrimiento y carruseles */
.discovery-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0 26px}
.discovery-card{position:relative;overflow:hidden;padding:22px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8f7fe);border:1px solid #ebe7fb;box-shadow:0 18px 40px #0f172a0a}
.discovery-card.emphasis{background:linear-gradient(140deg,#1f1641,#4f2a96);color:#fff;border-color:#4f2a96}
.discovery-card h3{margin:8px 0 9px;font-size:20px;letter-spacing:-.03em}.discovery-card p{margin:0 0 16px;color:#5b6577;line-height:1.6}.discovery-card.emphasis p{color:#e7defb}
.discovery-kicker{font-size:11px;font-weight:850;letter-spacing:.12em;color:#6d28d9}.discovery-card.emphasis .discovery-kicker{color:#ddd6fe}
.featured-section{padding-top:4px}.featured-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.featured-block{padding:18px;border:1px solid #e8ebf1;border-radius:24px;background:linear-gradient(180deg,#fff,#fbfcff);box-shadow:0 14px 34px #0f172a0a}
.featured-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.featured-block-head h3{margin:0 0 6px;font-size:20px}.featured-block-head p{margin:0;color:#64748b;font-size:13px;line-height:1.5}
.carousel-tools{display:flex;gap:8px}.carousel-btn{height:38px;width:38px;border-radius:12px;border:1px solid #ddd6fe;background:#f7f5ff;color:#5b21b6;font-size:18px;font-weight:900}.carousel-btn:hover{background:#ede9fe}
.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.feature-slide{scroll-snap-align:start;min-height:220px;padding:18px;border-radius:20px;background:#fff;border:1px solid #e9edf5;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.feature-slide:hover,.feature-slide:focus-visible{transform:translateY(-2px);box-shadow:0 14px 28px #0f172a14;border-color:#d8ccff;outline:none}
.report-slide{background:linear-gradient(180deg,#ffffff,#fbfbff)}.news-slide{background:linear-gradient(180deg,#fefcff,#fbf7ff)}
.feature-slide h3{margin:10px 0 10px;font-size:19px;letter-spacing:-.03em}.feature-slide p{margin:0;color:#5a6372;line-height:1.58;font-size:13px}
.feature-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#efe9ff;color:#5b21b6;font-size:10px;font-weight:850;letter-spacing:.05em;width:max-content}.feature-pill.alt{background:#eff6ff;color:#1d4ed8}
.feature-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font-size:11px;color:#667085}.feature-link{margin-top:15px;font-weight:800;color:#4f2ea0;font-size:12px}
.bulletin-section{padding-top:6px}.bulletin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bulletin-card{padding:18px;border-radius:18px;border:1px solid #e7eaf0;background:#fff;box-shadow:0 12px 30px #0f172a0a;display:flex;flex-direction:column;min-height:170px}.bulletin-card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.03em}.bulletin-card p{margin:0 0 16px;color:#637083;line-height:1.6;font-size:13px;flex:1}.tracking-card{background:linear-gradient(160deg,#f6f0ff,#ffffff)}
.text-link{display:inline-flex;align-items:center;gap:6px;color:#5b21b6;font-weight:800;text-decoration:none;border:0;background:none;padding:0}.text-link:hover{text-decoration:underline}
.news[role="button"]{cursor:pointer}.danger{border-color:#fecaca!important;color:#991b1b!important;background:#fff1f2!important}
@media(max-width:960px){.discovery-strip,.featured-layout,.bulletin-grid{grid-template-columns:1fr}.carousel-track{grid-auto-columns:minmax(250px,90%)}}
@media(max-width:650px){.discovery-card,.featured-block,.bulletin-card{border-radius:18px}.featured-block{padding:14px}.feature-slide{min-height:205px}.carousel-btn{height:34px;width:34px;border-radius:10px}}

/* ========================================================
   V13 · Portal editorial + experiencia de navegación local
   ======================================================== */
:root{--ink:#131a2b;--muted:#647086;--bg:#f5f6fa;--violet:#6336bf;--violet2:#8c62df;--line:#e5e8ef;--radius:19px}
body{background:linear-gradient(180deg,#f7f7fb 0%,#f5f6fa 48%,#f8f9fc 100%)}
.nav{background:rgba(255,255,255,.95);box-shadow:0 4px 24px #10182808}
.nav-in{max-width:1280px}.nav-links{gap:15px;font-size:12px;font-weight:750}.nav-links a{padding:6px 0;transition:color .2s}
.brand{font-size:15px}.brand-mark{background:linear-gradient(145deg,#17243f,#7040be);border-radius:11px}
.hero{background:radial-gradient(ellipse at 75% -5%,#7044af70,transparent 44%),linear-gradient(118deg,#131e35 0%,#20234a 57%,#4b2b85 100%)}
.hero-in{max-width:1280px;grid-template-columns:minmax(0,1.05fr) minmax(370px,.85fr);padding:70px 24px 85px;gap:55px}
.hero h1{font-size:clamp(43px,5.2vw,68px);line-height:1.03;letter-spacing:-3.2px;max-width:780px}
.hero h1 span{color:#d9c6ff}
.hero p{font-size:16px;line-height:1.8;max-width:660px;color:#e4e5f4}
.kicker{font-size:10px;letter-spacing:.15em;border-color:#ffffff40;background:#ffffff08}
.btn-primary{background:#fff;color:#40267b;box-shadow:0 15px 35px #03071638}.btn-primary:hover{background:#faf7ff}
.btn-ghost{border-color:#ffffff40;background:#ffffff0d}
.radar-card{width:100%;border-radius:20px;padding:22px;background:linear-gradient(160deg,#ffffff16,#ffffff08);border:1px solid #ffffff3d;box-shadow:0 27px 90px #0c102245}
.radar-head{color:#f6eeff;align-items:center;gap:8px}
.live-pill{background:#f9f4ff;color:#5b21b6;letter-spacing:.03em}
.hero-insight-board{padding:20px;border:1px solid #ffffff25;border-radius:18px;background:linear-gradient(160deg,#121b39ad,#26234a94);margin:17px 0;min-height:260px}
.hero-insight-heading{display:flex;align-items:center;justify-content:space-between;color:#b7c2e5;font-size:10px;letter-spacing:.12em;font-weight:850}
.hero-insight-story button,.hero-insight-news button{border:0;padding:0;background:none;color:#fff;text-align:left;display:flex;flex-direction:column;gap:6px;width:100%;margin-top:12px;cursor:pointer}
.hero-insight-story button strong{font-size:22px;line-height:1.24;letter-spacing:-.03em;font-weight:850}
.hero-insight-story button small{font-size:11px;color:#c7ccdc}.hero-insight-news button strong{font-size:14px;line-height:1.45;font-weight:800}
.hero-mini-location{font-size:10px;color:#e1caff;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.hero-mini-link{color:#e8d9ff;font-size:11px;font-weight:800;margin-top:3px}
.hero-insight-divider{height:1px;background:#ffffff2d;margin:18px 0}
.radar-stats div{border-radius:11px;background:#ffffff10}.radar-stats b{font-size:23px}
.radar-note{font-size:11px!important;color:#e5dcf5!important}
.wrap{max-width:1280px;padding:0 24px}.stats{gap:12px}.stat{border-radius:15px;padding:16px;box-shadow:0 12px 38px #171f3710}
.section{padding-top:54px}.section-head{margin-bottom:22px}.section-head h2{font-size:clamp(25px,2.4vw,33px);letter-spacing:-1.1px;line-height:1.18}.section-head p{line-height:1.6;font-size:13px}
.editorial-eyebrow{display:block;font-size:10px;letter-spacing:.2em;font-weight:900;color:#7542c9;margin-bottom:10px}
/* City lead: no artificial or stock pictures; editorial category illustration */
.city-now-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(275px,.85fr);gap:16px;align-items:stretch}
.city-lead{min-height:390px}.city-lead-button{border:1px solid #e0d9f5;border-radius:23px;background:#fff;color:var(--ink);width:100%;height:100%;overflow:hidden;display:grid;grid-template-columns:43% 57%;text-align:left;padding:0;box-shadow:0 18px 60px #1e255014;position:relative}
.city-lead-overline{position:absolute;top:17px;left:19px;right:19px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#47318a;font-weight:900;letter-spacing:.12em}
.demo-indicator{background:#f1eaff;color:#6032b2;padding:5px 9px;border-radius:999px;letter-spacing:.04em;font-size:9px}
.city-lead-graphic{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 70% 30%,#ad99df70,transparent 48%),linear-gradient(155deg,#34295e,#242a53 66%,#213254);color:#fff;min-height:360px}
.city-graphic-symbol{font-size:112px;position:relative;z-index:2;filter:drop-shadow(0 12px 25px #14133248)}
.city-graphic-orbit{position:absolute;width:330px;height:330px;border-radius:50%;border:1px solid #ffffff2e;box-shadow:0 0 0 35px #ffffff07,0 0 0 75px #ffffff05;top:20%;left:-26%}
.city-graphic-label{position:absolute;bottom:20px;left:20px;right:20px;z-index:2;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e6ddff;font-weight:800}
.city-lead-body{padding:66px 28px 27px;display:flex;flex-direction:column;justify-content:center}
.city-headline-category{font-size:11px;font-weight:850;color:#7250bb;letter-spacing:.08em;text-transform:uppercase}
.city-lead-body h3{font-size:clamp(23px,2.1vw,34px);line-height:1.18;letter-spacing:-1.1px;margin:13px 0}
.city-lead-body p{font-size:13px;color:#606c7e;line-height:1.72;margin:0 0 16px}
.city-open{margin-top:auto;font-weight:850;color:#6036ad;font-size:12px;display:flex;justify-content:space-between}
.city-lead-button:hover,.newsroom-item:hover{border-color:#c8b4ef;box-shadow:0 25px 70px #171d391f}
.city-side{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}
.newsroom-item{width:100%;border:1px solid #e4e7ef;border-radius:16px;background:#fff;color:var(--ink);padding:17px 20px;text-align:left;display:flex;flex-direction:column;gap:8px;justify-content:center;box-shadow:0 9px 30px #1b243908;min-height:110px}
.newsroom-category{font-size:10px;color:#7856b5;letter-spacing:.09em;font-weight:850}.newsroom-item strong{font-size:16px;letter-spacing:-.03em;line-height:1.35}
.newsroom-item>span:nth-child(3){font-size:12px;color:#69748a;line-height:1.4}.newsroom-footer{font-size:11px;color:#613aaf;font-weight:800}
.newsroom-empty{border:1px dashed #d4d8e3;border-radius:16px;background:#fff;padding:25px;color:#6b7280;line-height:1.6}
.city-news-bar{margin-top:14px;display:flex;align-items:center;gap:12px;border:1px solid #e5e8ee;border-radius:13px;background:#fff;padding:11px 16px;overflow:hidden;min-width:0}
.city-news-bar strong{font-size:10px;letter-spacing:.11em;white-space:nowrap;color:#30364b}.pulse-indicator{width:9px;height:9px;background:#754bc7;border-radius:50%;box-shadow:0 0 0 4px #754bc71c;flex:none}
.city-news-items{display:flex;align-items:center;gap:14px;overflow:auto;scrollbar-width:none;white-space:nowrap}.city-news-items button{border:0;background:none;padding:3px 0;color:#535c71;font-size:12px;font-weight:650;white-space:nowrap}.city-news-items button:hover{color:#7040be;text-decoration:underline}.ticker-divider{font-size:12px;color:#a9a3b7}
/* My neighborhood */
.my-neighborhood-shell{background:#fff;border:1px solid #e4e6ef;border-radius:23px;overflow:hidden;box-shadow:0 15px 55px #1d26400d}
.my-neighborhood-top{background:linear-gradient(120deg,#1c2543,#463173);color:#fff;display:grid;grid-template-columns:1fr minmax(220px,310px) auto;gap:22px;align-items:center;padding:25px}
.my-neighborhood-copy h3{font-size:24px;letter-spacing:-.03em;margin:0 0 8px}.my-neighborhood-copy p{font-size:12px;color:#dcd5ef;line-height:1.65;margin:0;max-width:480px}
.my-neighborhood-top .field span{font-size:11px;color:#ebddff;font-weight:850}.my-neighborhood-top .field select{background:#fff;border:0;border-radius:10px;color:#1b2540;min-width:0}
.my-neighborhood-top .btn-light{color:#fff;background:#ffffff14;border:1px solid #ffffff52;font-size:11px;min-width:140px}
.my-neighborhood-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:25px}.my-neighborhood-columns h3{margin:0 0 15px;font-size:18px;letter-spacing:-.02em}
.favorites-count{background:#ede7ff;color:#6234b4;font-size:11px;min-width:22px;padding:4px 7px;border-radius:999px;vertical-align:middle}
.mini-card-list{display:grid;gap:8px}.mini-report{padding:12px 13px;border:1px solid #e9e8ee;border-radius:12px;text-align:left;background:#fff;display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:12px;width:100%;color:#19253e}
.mini-report:hover{background:#f9f6ff;border-color:#d6c6fc}.mini-report-dot{width:9px;height:9px;background:#8156cf;border-radius:50%;flex:none}.mini-report b{display:block;font-size:12px;line-height:1.4}.mini-report small{display:block;color:#7e8593;font-size:10px;margin-top:4px}.mini-chevron{color:#754cba;font-weight:900}
.mini-card-empty{border:1px dashed #dadce7;padding:18px;border-radius:12px;font-size:12px;color:#737f90;line-height:1.6;background:#fafbff}
/* Activity */
.activity-box{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}.activity-feed{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden}
.activity-row{width:100%;display:grid;grid-template-columns:40px 1fr 24px;align-items:center;gap:14px;text-align:left;padding:15px 18px;background:#fff;color:var(--ink);border:0;border-bottom:1px solid #edf0f4}.activity-row:last-child{border-bottom:0}.activity-row:hover{background:#f8f7fe}
.activity-mark{height:39px;width:39px;border-radius:12px;background:#f0eaff;color:#653db8;display:grid;place-items:center;font-size:20px}.activity-mark.news{background:#eaf2fe;color:#2563eb}
.activity-info{display:grid;gap:4px}.activity-kind{color:#7050a3;font-weight:850;letter-spacing:.09em;font-size:9px}.activity-info strong{font-size:13px;line-height:1.4}.activity-info small{color:#758196;font-size:10px}.activity-arrow{color:#7f5cbe;font-size:18px}
.activity-aside{background:linear-gradient(150deg,#f5f0ff,#fff);border:1px solid #e5dbfa;border-radius:20px;padding:27px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.activity-aside h3{font-size:25px;line-height:1.15;letter-spacing:-.8px;margin:0 0 12px}.activity-aside p{color:#646c81;font-size:13px;line-height:1.65;margin:0 0 22px}.activity-aside .btn-dark{background:#55309f;color:#fff}.activity-privacy{font-size:11px;line-height:1.5;color:#78748b;margin-top:20px}
/* Saved-case actions and detail navigation */
.card-media{isolation:isolate}.bookmark-button{position:absolute;top:12px;left:12px;height:39px;width:39px;border-radius:11px;border:1px solid #ffffffbc;background:#fffffff0;color:#54319b;font-size:24px;display:grid;place-items:center;z-index:3;box-shadow:0 5px 12px #10182813}
.bookmark-button.is-saved{background:#5d36ad;color:#fff;border-color:#5d36ad}.bookmark-button:hover{transform:scale(1.06)}
.feature-slide{position:relative;padding-top:20px}.feature-slide .bookmark-button{top:12px;right:12px;left:auto;height:32px;width:32px;font-size:20px}
.feature-slide .feature-pill{max-width:calc(100% - 42px)}
.detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.detail-related{display:grid;gap:9px;margin-top:12px}.detail-related button{display:grid;gap:5px;text-align:left;border:1px solid #e9e5f1;background:#fff;border-radius:12px;padding:13px;color:#171c31}.detail-related button:hover{background:#faf7ff;border-color:#cbb8f2}.detail-related button span{font-size:10px;color:#7a52b6;font-weight:850}.detail-related button b{font-size:13px}.detail-related button small{font-size:10px;color:#6e48ad;font-weight:800}
.news-full-body{font-size:14px;line-height:1.9;color:#394358}.news-full-body p{white-space:pre-wrap;margin:14px 0}.news-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.share-readonly{display:block;width:100%;border:1px solid #d7d6e2;border-radius:10px;padding:11px;background:#f9fafc;color:#34415a}
/* Accessible interaction */
:where(button,a,input,select,textarea,[role="button"]):focus-visible{outline:3px solid #af89fb;outline-offset:3px}
@media(max-width:1100px){.city-now-layout{grid-template-columns:1.15fr .85fr}.city-lead-button{grid-template-columns:40% 60%}.my-neighborhood-top{grid-template-columns:1fr 1fr}.my-neighborhood-top .btn-light{grid-column:2}}
@media(max-width:800px){.hero-in{grid-template-columns:1fr;padding:46px 20px 64px;gap:20px}.hero-glass{justify-content:stretch}.city-now-layout{grid-template-columns:1fr}.city-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.city-side .newsroom-item:last-child{grid-column:1/-1}.activity-box{grid-template-columns:1fr}.activity-aside{padding:22px}.my-neighborhood-top{grid-template-columns:1fr 1fr}.my-neighborhood-columns{gap:15px}}
@media(max-width:650px){.wrap{padding:0 15px}.hero h1{font-size:clamp(38px,9vw,53px);letter-spacing:-2px}.hero-in{padding:43px 16px 49px}.hero p{font-size:14px}.radar-card{display:block;padding:14px;border-radius:16px}.hero-insight-board{min-height:0;padding:14px}.hero-insight-story button strong{font-size:18px}.radar-stats{gap:5px}.radar-stats div{padding:9px}.radar-stats b{font-size:19px}.radar-stats small{font-size:8px}.stats{margin-top:-16px;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border-radius:12px;padding:12px}.stat b{font-size:22px}.stat small{font-size:9px}.section{padding-top:38px}.section-head{align-items:start}.section-badge{font-size:9px;white-space:normal}.city-lead-button{grid-template-columns:1fr}.city-lead-graphic{min-height:155px}.city-graphic-symbol{font-size:62px}.city-graphic-label{font-size:10px}.city-graphic-orbit{width:210px;height:210px}.city-lead-overline{top:12px}.city-lead-body{padding:20px}.city-lead-body h3{font-size:25px}.city-side{grid-template-columns:1fr}.city-side .newsroom-item:last-child{grid-column:auto}.newsroom-item{min-height:90px}.city-news-bar{align-items:flex-start}.city-news-bar strong{font-size:9px}.my-neighborhood-top{grid-template-columns:1fr;padding:19px;gap:13px}.my-neighborhood-top .btn-light{grid-column:auto}.my-neighborhood-columns{grid-template-columns:1fr;padding:18px;gap:25px}.activity-row{grid-template-columns:35px 1fr 18px;gap:10px;padding:12px}.activity-mark{width:34px;height:34px}.activity-aside h3{font-size:22px}.bookmark-button{height:34px;width:34px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.hero-orbit,.radar-ring:after{animation:none!important}html{scroll-behavior:auto}.card,.feature-slide{transition:none}}
/* Evitar que listas horizontales ensanchen el documento en móvil. */
.featured-layout,.featured-block,.carousel-track,.city-news-bar,.city-news-items,.wrap,.section{min-width:0;max-width:100%}
.featured-block{overflow:hidden}
.city-news-items{flex:1;min-width:0}
@media(max-width:960px){.featured-layout{grid-template-columns:minmax(0,1fr)}.carousel-track{grid-auto-columns:minmax(250px,85%)}}
/* Pictogramas vectoriales, sin fotografías artificiales */
.city-graphic-symbol{width:125px;height:125px;display:grid;place-items:center;filter:drop-shadow(0 15px 35px #16112b40)}
.city-graphic-symbol svg{width:100%;height:100%;stroke-width:1.1}
.category-symbol{width:72px;height:72px;display:grid;place-items:center;color:#5d3a96;filter:drop-shadow(0 10px 20px #5e2f9418)}
.category-symbol svg{width:68px;height:68px;stroke-width:1.35}
.card-demo-label{position:absolute;bottom:9px;left:10px;font-size:9px;letter-spacing:.04em;background:#fff9;color:#49317c;padding:4px 7px;border-radius:7px;font-weight:900}
@media(max-width:650px){.city-graphic-symbol{width:72px;height:72px}}
.stat .icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f3eefe;color:#5c359f;font-size:22px;font-weight:850;line-height:1}
.stat:nth-child(2) .icon{background:#fff6e8;color:#a86418}
.stat:nth-child(3) .icon{background:#e8f8f1;color:#087d53}
.stat:nth-child(4) .icon{background:#eaf4fd;color:#23609e}
.stat:nth-child(5) .icon{background:#f1edfc;color:#6d42b2}

/* V14: carga multimedia segura sin alterar la identidad visual del portal */
.media-upload{border:1px solid #ddd6fe;background:linear-gradient(150deg,#faf9ff,#fff);padding:16px;border-radius:17px}
.media-upload-head b{font-size:15px;color:#2e2454}.media-upload-head p{margin:5px 0 14px;color:#64748b;font-size:12px;line-height:1.55}
.media-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.media-pick{cursor:pointer;border:1px dashed #a78bfa;background:#fff;border-radius:12px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:108px;padding:13px!important;text-align:center;color:#4c1d95;transition:background .2s ease}
.media-pick:hover,.media-pick:focus-within{background:#f3edff}.media-pick>span{font-size:24px;font-weight:850}.media-pick small{color:#64748b;font-size:11px}
.media-pick input{position:absolute;width:1px!important;height:1px!important;opacity:0;overflow:hidden;pointer-events:none}
.media-summary{font-size:12px;font-weight:750;color:#5b21b6;margin:13px 0 8px}
.media-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:12px 0}
.media-preview{position:relative;display:flex;flex-direction:column;gap:5px;border:1px solid #e2e8f0;border-radius:12px;padding:7px;min-width:0;background:#fff}
.media-preview img,.media-preview video{width:100%;height:112px;object-fit:cover;background:#0f172a;border-radius:8px}
.media-preview span{font-size:10px;color:#64748b;overflow-wrap:anywhere;line-height:1.4}
.media-remove{align-self:flex-start;border:1px solid #fecaca!important;border-radius:7px!important;color:#b91c1c!important;background:#fff5f5!important;padding:5px 9px!important;font-size:11px!important;cursor:pointer}
.media-progress{margin-top:8px;padding:10px;border-radius:9px;background:#e8f4ff;color:#1d4ed8;font-size:12px}
.admin-media-list{display:grid;gap:12px}.admin-media-item{display:grid;gap:8px;padding:12px;border:1px solid #fed7aa;border-radius:10px;background:#fff}
.admin-media-item img,.admin-media-item video{max-width:100%;width:100%;max-height:280px;object-fit:contain;background:#0f172a;border-radius:10px}
.admin-media-item a{font-size:12px;overflow-wrap:anywhere}.public-gallery video{width:100%;max-height:360px;object-fit:contain;background:#101827;border-radius:11px}
@media(max-width:540px){.media-upload{padding:12px}.media-pickers{grid-template-columns:1fr}.media-pick{min-height:88px}}

/* V15 — Movimiento editorial continuo: discreto, legible y accesible. */
.carousel-track{scroll-snap-type:none;overscroll-behavior-x:contain}
.carousel-track .feature-slide{scroll-snap-align:none}
.featured-block{position:relative}
.featured-block:before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,#a78bfa90,#d4c6ff,transparent);pointer-events:none}
.status-signal,.news-light,.signal-light,.ticker-flash-light{display:inline-block;flex:0 0 auto;vertical-align:middle;width:10px;height:10px;border-radius:50%;background:#8253cb;box-shadow:0 0 0 3px #8253cb19,0 0 8px #8253cb40;animation:sfte-soft-pulse 2.8s ease-in-out infinite}
.status-signal.red{background:#e05262;box-shadow:0 0 0 3px #e052621a,0 0 9px #e0526266}
.status-signal.amber{background:#e9ab3d;box-shadow:0 0 0 3px #e9ab3d23,0 0 9px #e9ab3d77}
.status-signal.green{background:#20ab7d;box-shadow:0 0 0 3px #20ab7d24,0 0 9px #20ab7d66}
.news-light,.ticker-flash-light{background:#4e8cf0;box-shadow:0 0 0 3px #4e8cf022,0 0 11px #4e8cf077}
.signal-light{background:#9a63e6}
@keyframes sfte-soft-pulse{0%,100%{opacity:.65;filter:brightness(.93);transform:scale(.9)}50%{opacity:1;filter:brightness(1.18);transform:scale(1.14)}}
.feature-pill{display:inline-flex;gap:7px;align-items:center;overflow:hidden;white-space:nowrap;max-width:calc(100% - 43px)}
.feature-pill .status-signal{width:8px;height:8px}
.feature-slide.recently-updated{border-color:#d0bafc;box-shadow:0 0 0 1px #b29af52a,inset 0 0 25px #8b5cf610}
.feature-slide.recently-updated.news-slide{border-color:#b9d9fc;box-shadow:0 0 0 1px #60a5fa27,inset 0 0 22px #3b82f60b}
.fresh-flag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:10px 0 0;font-size:9px;letter-spacing:.07em;font-weight:900;color:#6934a4;background:#f5ecff;border:1px solid #e0cefb;border-radius:99px;padding:6px 9px}
.fresh-flag.news{color:#1e56a8;background:#edf5ff;border-color:#c8e2ff}
.fresh-flag i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:sfte-soft-pulse 2.7s ease-in-out infinite}
.neighborhood b{display:flex;gap:7px;align-items:center}
.neighborhood-recent{border-color:#bf9ced!important;background:linear-gradient(160deg,#fff,#f8f4ff)!important;box-shadow:0 0 22px #9c64e420}
.neighborhood .status-signal{width:8px;height:8px}
.state-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0;color:#657087;font-size:11px;line-height:1.5}
.state-legend>span{display:inline-flex;gap:7px;align-items:center}
.state-legend .status-signal{width:8px;height:8px}
.city-news-bar{position:relative;overflow:hidden;border:1px solid #e8dcfa;border-radius:15px;background:linear-gradient(100deg,#fff,#fbfaff)}
.city-news-items{scrollbar-width:none;white-space:nowrap;overflow-x:auto;scroll-snap-type:none;overscroll-behavior-x:contain;position:relative;min-width:0}
.city-news-items .ticker-item{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:7px 11px;border-radius:8px;white-space:nowrap;max-width:550px;overflow:hidden;text-overflow:ellipsis}
.ticker-item.flash{background:#f1eaff;color:#56308a;font-weight:850;box-shadow:inset 0 0 0 1px #d9c2ff}
.activity-feed{height:340px;overflow:hidden;position:relative;isolation:isolate}
.activity-rail{position:relative;will-change:transform;width:100%}
.activity-row{min-height:78px;transition:background .15s ease}
.activity-row.activity-hot{background:linear-gradient(90deg,#fcf8ff,#fff);box-shadow:inset 3px 0 #9676db}
.activity-row .activity-kind{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.feed-new-flag{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;color:#6035a4;background:#f3eafd;padding:3px 7px;border-radius:10px;letter-spacing:.02em}
.feed-new-flag .signal-light{width:6px;height:6px}
.activity-mark.comment{background:#f4eafc;color:#8651bb}.activity-mark.status{background:#fff5df;color:#b7842e}.activity-mark.media{background:#e7f9f4;color:#138d70}
.activity-feed:after{content:'';position:absolute;left:0;right:0;bottom:0;height:14px;pointer-events:none;background:linear-gradient(transparent,#ffffff88)}
@media(max-width:650px){.activity-feed{height:325px}.city-news-items .ticker-item{max-width:260px;font-size:11px}.feature-slide{min-height:225px}.fresh-flag{font-size:9px}}
@media(prefers-reduced-motion:reduce){.status-signal,.news-light,.signal-light,.ticker-flash-light,.fresh-flag i{animation:none!important;filter:none!important;transform:none!important}.activity-rail{transition:none!important}.activity-feed{overflow-y:auto}}

/* V16: cambios puntuales, manteniendo la identidad visual de la V15. */
.neighborhood-alerts{margin:14px 0 16px;padding:15px 18px;background:linear-gradient(115deg,#f7f3ff,#f8fbff);border:1px solid #e4dafa;border-radius:15px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.neighborhood-alerts strong{color:#3b2969}.neighborhood-alerts p{font-size:12px;color:#5c6173;margin:5px 0 0;line-height:1.5}
.news-thumbnail{width:100%;height:135px;object-fit:cover;border-radius:11px;display:block}.news-cover .news-thumbnail{height:100%;border-radius:0;object-fit:cover}
.news-detail-photo{width:100%;max-height:350px;object-fit:cover;border-radius:13px;margin:12px 0}
.news-source{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#5b6575;padding:10px 0;border-top:1px solid #e9e5f5;border-bottom:1px solid #e9e5f5}
.news-source a{color:#5b21b6;font-weight:750}
.news-related-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:180px;overflow-y:auto;border:1px solid #e3d9f6;border-radius:10px;padding:10px}
.news-related-option{display:flex;align-items:flex-start;gap:7px;font-size:11px;font-weight:500;line-height:1.35}.news-related-option input{margin-top:2px;accent-color:#7043ce}
.admin-edit-panel{margin-top:16px;background:#f9f7ff;border:1px solid #d9ccf4;border-radius:12px;padding:15px}
.captcha-zone{min-height:22px;max-width:100%;overflow:hidden}
.denied-dialog{text-align:center;padding:15px 4px}.denied-symbol{margin:0 auto 12px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fef2f2;color:#b91c1c;font-size:30px;font-weight:900}.denied-dialog h2{color:#9f1239}.denied-dialog p{line-height:1.6}
@media(max-width:650px){.neighborhood-alerts{flex-direction:column;align-items:flex-start}.news-related-choices{grid-template-columns:1fr}}

/* ============================================================
   SANTA FE TE EXPONE · Ajuste editorial de imágenes V16
   Mantener las dimensiones del carrusel y su estilo original.
   Solo se muestran fotos con URL pública previamente aprobada.
   ============================================================ */

/* El contenedor nunca crece por el ancho intrínseco de una foto. */
#featuredReportsTrack .report-slide {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

/* Mantener una tarjeta compacta y ordenada: insignia, foto, título,
   extracto, metadatos y vínculo, todos en columna. */
#featuredReportsTrack .report-slide:has(.feature-report-photo) {
  height: 322px;
  min-height: 322px;
  justify-content: flex-start;
  gap: 0;
}

#featuredReportsTrack .report-slide .feature-report-photo {
  display: block;
  box-sizing: border-box;
  position: relative;
  flex: 0 0 102px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 102px;
  margin: 12px 0 0;
  overflow: hidden;
  border: 1px solid #e7e4ef;
  border-radius: 12px;
  background: #f2f3f7;
}

/* Contenedor posicionado: impide que el tamaño original de la imagen
   fuerce el ancho del grid y desplace la foto al costado. */
#featuredReportsTrack .report-slide .feature-report-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

#featuredReportsTrack .report-slide:has(.feature-report-photo) h3 {
  flex: 0 0 auto;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -.025em;
  margin: 11px 0 5px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

#featuredReportsTrack .report-slide:has(.feature-report-photo) > p {
  flex: 0 0 auto;
  font-size: 11.5px;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

#featuredReportsTrack .report-slide:has(.feature-report-photo) .feature-meta {
  margin-top: auto;
  padding-top: 8px;
  min-width: 0;
}

#featuredReportsTrack .report-slide:has(.feature-report-photo) .feature-link {
  margin-top: 8px;
}

/* Tarjetas comunes: conservar los 175px originales del área gráfica,
   con la fotografía dentro de sus bordes. */
.card-media.has-approved-photo {
  background: #f2f3f7;
}
.card-media .card-cover {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Detalle público: visualizar el archivo completo sin recortes. */
.public-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 12px;
  margin: 16px 0;
}
.public-gallery-image {
  display: grid;
  place-items: center;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f2f3f7;
}
.public-gallery-image img {
  display: block;
  width: 100%;
  height: min(55vh, 380px);
  max-height: 380px;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
}
.public-gallery-image:focus-visible {
  outline: 3px solid #7c3aed;
  outline-offset: 3px;
}
.public-gallery video {
  width: 100%;
  max-height: 380px;
  object-fit: contain;
  background: #101827;
}

/* Revisión administrativa: ni fotos ni videos salen del panel. */
.admin-media-item { min-width: 0; overflow: hidden; }
.admin-media-item img,
.admin-media-item video {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: contain;
  margin-inline: auto;
}

@media (max-width: 650px) {
  #featuredReportsTrack .report-slide:has(.feature-report-photo) {
    height: 306px;
    min-height: 306px;
  }
  #featuredReportsTrack .report-slide .feature-report-photo {
    flex-basis: 94px;
    height: 94px;
    margin-top: 10px;
  }
  .public-gallery-image img { height: min(48vh, 320px); }
}


/* ============================================================
   SANTA FE TE EXPONE — PORTADA EDITORIAL V16.2
   Foto aprobada en el lugar EXACTO del icono; diseño original intacto.
   Los destacados cambian al elegir / seguir un barrio.
   ============================================================ */

/* Mantener el ancho 43%/57% original. Nada dentro puede ensancharlo. */
#cityLeadStory,
#cityLeadStory .city-lead-button,
#cityLeadStory .city-lead-graphic,
#cityLeadStory .city-lead-body {
  min-width: 0;
}

/* Foto contenida dentro de la MISMA área gráfica del ícono original. */
#cityLeadStory .city-lead-graphic--photo {
  isolation: isolate;
  background: linear-gradient(150deg, #292547 0%, #181c31 68%, #192b46 100%);
}
#cityLeadStory .city-photo-backdrop {
  position: absolute;
  width: 110%;
  height: 110%;
  inset: -5%;
  z-index: 0;
  object-fit: cover;
  filter: blur(20px) brightness(.38) saturate(.75);
  transform: scale(1.08);
  pointer-events: none;
}
#cityLeadStory .city-lead-photo {
  position: absolute;
  display: block;
  inset: 17px 12px 22px;
  width: calc(100% - 24px);
  height: calc(100% - 39px);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* Foto COMPLETA, sin recortar la evidencia */
  object-position: center;
  z-index: 1;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .3));
  pointer-events: none;
}
#cityLeadStory .city-lead-graphic--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(8, 10, 24, .25) 0%, transparent 20%, transparent 62%, rgba(8, 10, 24, .74) 100%);
  pointer-events: none;
}
#cityLeadStory .city-graphic-label {
  z-index: 3;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
}

/* Etiqueta EN PRIMER PLANO con pulso visible de 3.8 segundos. */
#cityLeadStory .city-lead-overline {
  right: auto;
  max-width: calc(43% - 26px);
  z-index: 5;
}
#cityLeadStory .city-first-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border-radius: 999px;
  color: #f4edff;
  background: rgba(20, 16, 42, .82);
  border: 1px solid rgba(208, 185, 255, .48);
  box-shadow: 0 3px 20px rgba(28, 9, 68, .34);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .105em;
  white-space: nowrap;
  animation: sfte-first-light 3.8s ease-in-out infinite;
  backdrop-filter: blur(8px);
}
#cityLeadStory .city-first-label::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c8a5ff;
  box-shadow: 0 0 10px rgba(195, 142, 255, .85);
  flex: 0 0 auto;
}
@keyframes sfte-first-light {
  0%, 100% { opacity: 1; border-color: rgba(208,185,255,.75); box-shadow: 0 0 6px rgba(173,121,255,.12); }
  48% { opacity: .58; border-color: rgba(208,185,255,.22); box-shadow: 0 0 24px rgba(173,121,255,.36); }
}
#cityLeadStory .city-lead-overline .demo-indicator { margin-left: 8px; }

/* Acabado de prensa: columna derecha SIN fotografías. */
#citySidebar .newsroom-item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(139, 111, 204, .25);
  border-radius: 17px;
  background: linear-gradient(135deg, #222338 0%, #171b2c 58%, #111b2b 100%);
  color: #eeeaf4;
  padding: 21px 23px;
  box-shadow: 0 12px 34px rgba(20, 16, 45, .16), inset 0 1px 0 rgba(255,255,255,.06);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
#citySidebar .newsroom-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #c8a0ff, #8463dd 55%, #5069a2);
  opacity: .75;
}
#citySidebar .newsroom-item::after {
  content: '';
  position: absolute;
  width: 180px;
  height: 180px;
  right: -85px;
  top: -115px;
  background: radial-gradient(circle, rgba(160, 124, 242, .14), transparent 70%);
  pointer-events: none;
}
#citySidebar .newsroom-item:hover,
#citySidebar .newsroom-item:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(181, 147, 245, .62);
  box-shadow: 0 19px 44px rgba(20,16,45,.24), 0 0 0 1px rgba(170,130,255,.10);
}
#citySidebar .newsroom-item:focus-visible { outline: 2px solid #b79aff; outline-offset: 3px; }
#citySidebar .newsroom-category {
  color: #c7a4ff;
  font-size: 10px;
  letter-spacing: .12em;
  font-weight: 900;
}
#citySidebar .newsroom-item strong {
  color: #faf5ff;
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 850;
  line-height: 1.34;
  letter-spacing: -.025em;
}
#citySidebar .newsroom-item > span:nth-child(3) {
  color: #cbc8d8;
  font-size: 12px;
  line-height: 1.6;
}
#citySidebar .newsroom-footer {
  color: #c3a6ff;
  font-size: 11px;
  font-weight: 850;
}

/* Cambios de barrio: las tarjetas siguen discretas y el destacado se actualiza. */
#barriosGrid .neighborhood:hover,
#barriosGrid .neighborhood:focus-visible {
  border-color: #a987e8;
  box-shadow: 0 8px 22px rgba(105, 66, 165, .14);
}

@media (max-width: 1100px) and (min-width: 651px) {
  #cityLeadStory .city-lead-overline { max-width: 40%; }
  #cityLeadStory .city-first-label { font-size: 9px; padding: 7px 9px; letter-spacing: .07em; }
}
@media (max-width: 650px) {
  #cityLeadStory .city-lead-overline { max-width: calc(100% - 25px); }
  #cityLeadStory .city-lead-graphic--photo { min-height: 190px; }
  #cityLeadStory .city-lead-photo { inset: 13px 12px 17px; width: calc(100% - 24px); height: calc(100% - 30px); }
  #citySidebar .newsroom-item { padding: 17px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  #cityLeadStory .city-first-label { animation: none !important; }
  #citySidebar .newsroom-item { transition: none; }
}

/* ========================================
   V17 · CONVERSACIÓN VECINAL / PANEL PRIVADO
   Integrado al detalle original, sin reemplazar la portada.
   ======================================== */
.sfte-thread{--thread-like:#20B2AA;--thread-reply:#B0E0E6;--thread-report:#FF0000; margin:25px 0 12px;padding:20px;border:1px solid rgba(153,121,209,.25);border-radius:20px;background:linear-gradient(145deg,rgba(35,30,50,.94),rgba(17,22,33,.98));color:#f4eefc;box-shadow:0 17px 46px rgba(5,9,24,.17)}
.sfte-thread-head{display:flex;gap:14px;justify-content:space-between;align-items:center}.sfte-thread-head h3{font-size:22px;margin:4px 0;color:#fbf7ff}.sfte-thread-head h3 span{font-size:13px;color:#aeb9cb;font-weight:600}.sfte-thread-eyebrow,.sfte-mod-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:900;color:#d0a8ff}.sfte-thread-help{color:#b4bdcc;font-size:12px;line-height:1.65}.sfte-thread-start,.sfte-thread-send{background:linear-gradient(115deg,#6021ae,#ad187c);border:0;border-radius:12px;padding:11px 15px;color:#fff;font-size:12px;font-weight:850;cursor:pointer}.sfte-thread-start:hover,.sfte-thread-send:hover{filter:brightness(1.14)}.sfte-thread-list{max-height:355px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#7c60a9 #111723;scrollbar-width:thin;padding-right:5px}.sfte-comment{background:rgba(255,255,255,.025);border:1px solid rgba(192,175,218,.13);padding:15px;border-radius:15px;margin:10px 0;min-width:0}.sfte-comment-info{display:flex;gap:11px;align-items:center}.sfte-comment-info strong{display:block;font-size:12px;color:#fcf8ff}.sfte-comment-info small{font-size:10px;color:#b1b8c7}.sfte-avatar{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:12px;background:linear-gradient(145deg,#5b397d,#9a4aaa);color:#fff;font-weight:900;font-size:12px}.sfte-comment p{font-size:13px;color:#ecedf3;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;margin:9px 0 10px}.sfte-comment-actions{display:flex;gap:11px 17px;flex-wrap:wrap;align-items:center}.sfte-comment-actions button{padding:3px 0;background:none;border:0;font-size:11px;cursor:pointer;color:#aab3c3;font-weight:700}.sfte-comment-actions .sfte-heart,.sfte-comment-actions .sfte-heart span{color:#20B2AA}.sfte-comment-actions .sfte-heart.hearted{filter:drop-shadow(0 0 4px #20B2AA)}.sfte-comment-actions .sfte-respond{color:#B0E0E6}.sfte-comment-actions .sfte-report{color:#FF0000}.sfte-comment-actions button:focus-visible{outline:2px solid #ac86fa;outline-offset:4px}.sfte-comment-actions button:disabled{opacity:.5;cursor:wait}.sfte-replies{border-left:2px solid rgba(176,224,230,.33);padding-left:10px;margin-left:15px}.sfte-replies-toggle{border:0;background:none;color:#B0E0E6;cursor:pointer;font-size:11px;font-weight:750;padding:8px 0}.sfte-comment-removed{opacity:.8}.sfte-comment-empty,.sfte-mod-empty{text-align:center;padding:24px;font-size:13px;color:#b4bdc8}.sfte-comment-editor{margin:15px 0;border:1px solid #634885;padding:15px;border-radius:15px;background:#171627}.sfte-comment-editor[hidden],.sfte-replies[hidden]{display:none}.sfte-thread-form{display:grid;gap:12px}.sfte-thread-form label{display:grid;gap:6px;font-size:11px;color:#e2d4f5;font-weight:750}.sfte-thread-form input,.sfte-thread-form textarea,.sfte-flag-form select{color:#f8f6ff;background:#0f1522;border:1px solid #4c3e66;border-radius:10px;padding:10px;font-size:13px;width:100%;font-family:inherit;box-sizing:border-box}.sfte-thread-form textarea{min-height:90px;resize:vertical}.sfte-editor-title,.sfte-editor-buttons{display:flex;align-items:center;justify-content:space-between;gap:10px}.sfte-editor-title>button,.sfte-editor-buttons>button:first-child{background:transparent;border:1px solid #5f5571;border-radius:9px;padding:9px 12px;color:#eee;cursor:pointer}.sfte-thread-form small{font-size:11px;color:#d2c0d8}.sfte-flag-form{background:#251923;border:1px solid rgba(255,0,0,.25);padding:12px;border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.sfte-flag-form label{font-size:11px;color:#f1dfe2;flex:1;min-width:140px}.sfte-flag-form button{background:#372334;color:#fff;border:1px solid #754b55;border-radius:8px;cursor:pointer;padding:9px}
.sfte-admin-bubble{background:#9e297b;color:#fff;border-radius:999px;padding:2px 6px;font-size:10px}.sfte-mod-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.sfte-mod-header h3{font-size:19px;margin:3px 0}.sfte-mod-total{font-size:11px;border:1px solid #a58bc3;border-radius:999px;padding:5px 8px;white-space:nowrap}.sfte-mod-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:17px 0}.sfte-mod-stats>div{background:rgba(155,113,216,.09);border:1px solid rgba(157,125,204,.25);border-radius:12px;padding:11px}.sfte-mod-stats small{display:block;font-size:10px;line-height:1.4}.sfte-mod-stats b{display:block;font-size:22px;margin-top:5px;color:#ae73fa}.sfte-mod-tabs{display:flex;gap:5px;overflow-x:auto;padding:3px 0;margin:8px 0}.sfte-mod-tabs button{white-space:nowrap;cursor:pointer;padding:9px 10px;border:1px solid #755f90;border-radius:10px;background:transparent;color:inherit;font-size:11px;font-weight:800}.sfte-mod-tabs button.active{background:#6c3894;color:#fff}.sfte-mod-tabs span{opacity:.8}.sfte-mod-search{display:grid;gap:5px;font-size:11px;margin:12px 0}.sfte-mod-search input{width:100%;padding:10px;border-radius:10px;background:rgba(144,120,184,.07);border:1px solid rgba(144,120,184,.32);color:inherit}.sfte-mod-item{padding:15px;margin:11px 0;border:1px solid rgba(147,118,196,.3);border-radius:15px;background:linear-gradient(140deg,rgba(127,100,167,.08),rgba(10,12,21,.05))}.sfte-mod-top{display:flex;gap:10px;align-items:center}.sfte-mod-top>div{flex:1;min-width:0}.sfte-mod-top strong{display:block;font-size:12px}.sfte-mod-top small{font-size:10px;color:#aba4bb}.sfte-mod-item>p{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.sfte-mod-item .sfte-mod-reason{font-size:11px;color:#bf87df;font-weight:800}.sfte-mod-actions{display:flex;gap:7px;flex-wrap:wrap}.sfte-mod-actions .btn-light{font-size:11px;margin:0}.sfte-mod-empty{border:1px dashed rgba(144,120,184,.35);border-radius:12px}
@media(max-width:650px){.sfte-thread{padding:12px;border-radius:14px}.sfte-thread-list{max-height:310px}.sfte-mod-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sfte-thread-head h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.sfte-thread *, .sfte-mod-item{transition:none!important;animation:none!important}}

/* ==============================================================
   V18 · Portal territorial provincial. Se extiende la V17 sin
   reemplazar los componentes de reclamos, noticias y moderación.
   ============================================================== */
.territory-nav-trigger{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:800;font-size:12px;padding:11px 9px;white-space:nowrap;border-radius:9px}
.territory-nav-trigger:hover,.territory-nav-trigger[aria-expanded="true"]{background:rgba(169,113,238,.15);color:#dec3ff}
.territory-menu[hidden],.territory-reset[hidden]{display:none!important}
.nav-in{position:relative}
.territory-menu{position:absolute;right:6px;top:calc(100% + 8px);z-index:200;width:min(930px,calc(100vw - 26px));max-height:min(82vh,800px);overflow-y:auto;background:#131521;border:1px solid #504065;border-radius:19px;padding:20px;box-shadow:0 32px 75px rgba(0,0,0,.55)}
.territory-menu-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:18px}
.territory-menu-head h2{margin:3px 0;font-size:22px;letter-spacing:-.03em;color:#faf2eb}
.territory-close{background:#29243a;border:1px solid #493d58;color:#f1e8f6;border-radius:10px;min-width:40px;min-height:40px;cursor:pointer}
.territory-section{scroll-margin-top:92px}.territory-section .section-head{margin-bottom:21px}
.territory-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(275px,.8fr);gap:16px;align-items:start}
.territory-browser,.territory-area-card{background:linear-gradient(145deg,#171924,#131520);border:1px solid #3d354b;border-radius:20px;padding:20px;box-shadow:0 12px 33px rgba(0,0,0,.14)}
.territory-browser-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}
.territory-browser-title h3{color:#f2ebea;font-size:19px;margin:0 0 5px}
.territory-browser-title p{margin:0;color:#bdb4c9;font-size:12px;line-height:1.65}
.territory-search-label{font-size:11px;font-weight:750;color:#cbbadb;display:grid;gap:7px;min-width:190px}
.territory-search-label input{min-width:0;width:100%;color:#f6efff;background:#0f1120;border:1px solid #50405d;border-radius:10px;padding:11px 12px;font:inherit;font-size:13px}
.territory-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.territory-col{min-width:0;border:1px solid #342c43;background:#10121e;border-radius:12px;padding:10px}
.territory-col-heading{font-size:11px;font-weight:850;letter-spacing:.06em;color:#cfb3f8;margin:2px 0 12px}
.territory-col .territory-search-label{min-width:0;margin-bottom:10px}
.territory-items{min-height:100px;max-height:335px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#675080 transparent}
.territory-choice{display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px;text-align:left;border:1px solid transparent;color:#dbd5e6;background:transparent;border-radius:9px;padding:10px 9px;min-height:42px;cursor:pointer;font-family:inherit;font-size:12px}
.territory-choice:hover,.territory-choice.is-preview{background:#252035}
.territory-choice.is-selected{border-color:#77609a;background:#302640;color:#fff;box-shadow:inset 3px 0 0 #dab56f}
.territory-row-label{min-width:0}.territory-row-label strong{font-weight:760;overflow-wrap:anywhere}.territory-row-label small{display:block;font-size:10px;color:#a99cb8;margin-top:4px;line-height:1.35}
.territory-row-trailing{color:#a994c6;font-weight:bold}.territory-empty{color:#b8a9c6;font-size:11px;line-height:1.6;padding:4px 8px}
.territory-eyebrow{color:#dec18c;font-size:10px;font-weight:850;letter-spacing:.14em}
.territory-side{display:grid;gap:16px}.territory-area-card{position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 100% 0%,rgba(135,97,225,.12),transparent 51%),linear-gradient(155deg,#202036,#171723)}
.territory-area-card h3{color:#f1e8ec;font-size:clamp(25px,3vw,36px);letter-spacing:-.035em;margin:12px 0 7px;font-family:Georgia,serif;font-weight:600}
.territory-area-card>p{font-size:13px;line-height:1.65;color:#c7bdd4;margin:6px 0}.territory-area-card .territory-status{font-size:11px;color:#d5b9ef}
.territory-crumb{font-size:11px;color:#d5c0eb}.territory-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px}
.territory-go{background:transparent;border:0;border-bottom:1px solid #cba8fb;color:#eccfff;font-weight:850;cursor:pointer;padding:6px 0;font-size:12px}
.territory-reset{background:transparent;border:1px solid #66537d;border-radius:9px;color:#d4c4e3;cursor:pointer;padding:9px 11px;font-size:12px}
.territory-sponsor{border:1px dashed #6a526e;border-radius:16px;padding:17px 15px;background:linear-gradient(115deg,#1d1a27,#171722);display:flex;align-items:center;gap:12px}
.territory-sponsor-symbol{font-size:30px;color:#d5b886}.territory-sponsor strong{color:#f2e9ee;font-size:12px}.territory-sponsor small{display:block;font-size:11px;color:#baacc4;line-height:1.5;margin-top:3px}
.territory-sponsor-tag{white-space:nowrap;margin-left:auto;font-size:9px;letter-spacing:.06em;color:#d7bed4}
.territory-catalog-note,.territory-small,.territory-trail{color:#b6a8c5;font-size:11px;line-height:1.6}.territory-trail{padding:9px 2px 0;margin-bottom:0}
/* Visibilidad del foco para teclado; evita depender solo del hover. */
.territory-choice:focus-visible,.territory-nav-trigger:focus-visible,.territory-go:focus-visible,.territory-reset:focus-visible,.territory-close:focus-visible,.territory-search-label input:focus-visible{outline:3px solid #d5a8ff;outline-offset:3px}
@media(max-width:1100px){.territory-layout{grid-template-columns:1fr}.territory-side{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}.territory-sponsor-tag{display:none}}
@media(max-width:760px){.territory-browser-title{align-items:start;flex-direction:column}.territory-browser-title .territory-search-label{width:100%}.territory-columns{grid-template-columns:1fr}.territory-col{width:100%}.territory-items{min-height:0;max-height:175px}.territory-side{grid-template-columns:1fr}.territory-area-card{min-height:240px}.territory-menu{position:fixed;top:70px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 83px);padding:14px}.territory-section{scroll-margin-top:75px}.territory-nav-trigger{width:100%;text-align:left}.territory-section .section-head h2{font-size:clamp(23px,5vw,35px)}}
@media(prefers-reduced-motion:reduce){.territory-choice{transition:none}.territory-section *{scroll-behavior:auto}}

/* V18 · Barrio único: sugerencias comprensibles, accesibles, sin exigir tres desplegables. */
.territory-suggestions[hidden],.territory-locality-fallback[hidden]{display:none!important}
.territory-suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:7px;padding:10px;margin-top:4px;background:rgba(139,93,197,.07);border:1px solid rgba(165,118,217,.25);border-radius:12px}
.territory-suggestion{min-height:42px;text-align:left;font:inherit;font-size:12px;font-weight:700;line-height:1.5;border:1px solid #5b426e;border-radius:9px;color:#e5d6f6;background:#211b2d;padding:9px 11px;cursor:pointer}
.territory-suggestion:hover{border-color:#ba94e8;background:#302440}
.territory-suggestion:focus-visible,.territory-locality-fallback select:focus-visible{outline:3px solid #d5a8ff;outline-offset:3px}
.territory-locality-fallback{display:grid;gap:9px;padding:14px;margin-top:8px;border:1px solid #5f4e75;border-radius:12px;background:rgba(140,100,180,.11)}
.territory-locality-fallback label{font-size:12px;font-weight:800;color:#e3d8f5}
.territory-locality-fallback select{width:100%;min-width:0;font-size:14px;color:#f5eefc;background:#1a1723;border:1px solid #6a577b;border-radius:9px;padding:11px}
