
:root{--b:#0872c9;--d:#073c72;--c:#eaf7ff;--ink:#102a43;--mut:#60758a;--line:#d7e6f1;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}
.notice{background:var(--d);color:#d8edff;padding:8px 6%;font-size:12px}.head{height:82px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fffffff4;backdrop-filter:blur(12px);z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--d)}.brand img{width:58px;height:58px;object-fit:contain}.brand small{display:block;color:var(--b);letter-spacing:.16em;font-size:10px}.nav{display:flex;gap:22px;font-size:13px;font-weight:800}.nav a:hover{color:var(--b)}
.hero{padding:82px 7%;min-height:590px;background:linear-gradient(120deg,#fafdff,#e7f6ff);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:6%}.tag{color:var(--b);font-size:12px;letter-spacing:.18em;font-weight:900}.hero h1{font-size:clamp(46px,6vw,80px);line-height:.96;letter-spacing:-.055em;margin:15px 0}.hero p{font-size:19px;color:var(--mut);line-height:1.6;max-width:690px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{padding:14px 20px;border-radius:7px;font-weight:900;border:1px solid var(--b);display:inline-block}.solid{background:var(--b);color:#fff}.outline{color:var(--b);background:#fff}
.hero-card{background:var(--d);color:#fff;border-radius:28px;padding:46px;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 28px 60px #073c7230}.hero-card b{font-size:50px}.hero-card span{color:#bde5ff}
.section{padding:84px 7%}.section.alt{background:#f6fbff}.section h2{font-size:43px;letter-spacing:-.04em;margin:10px 0}.intro{max-width:760px;color:var(--mut);line-height:1.65}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:34px}.card{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff}.card .num{font-size:12px;color:var(--b);font-weight:900}.card h3{font-size:21px}.card p{color:var(--mut);line-height:1.55}.card a{color:var(--b);font-weight:900}
.provs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}.prov{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:800;font-size:13px;cursor:pointer}.prov:hover{background:var(--c);border-color:#8dc8ed}
.band{padding:80px 7%;background:var(--b);color:#fff}.band .tag{color:#c8ebff}.band p{color:#e5f5ff;max-width:760px;line-height:1.6}.band .card{color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:35px}.stat{padding:25px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{display:block;color:var(--b);font-size:32px}.stat span{color:var(--mut);font-size:12px}
.form{max-width:850px;display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px}.form label{font-size:12px;font-weight:900;color:var(--d)}.form input,.form select,.form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #bcd4e5;border-radius:7px;background:#fff}.wide{grid-column:1/-1}.form button{border:0;cursor:pointer}
.map{height:390px;border-radius:18px;background:linear-gradient(145deg,#dff3ff,#c9e8f7);border:1px solid #b6d9ec;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;margin-top:28px}.map b{font-size:30px;color:var(--d)}.map p{color:var(--mut)}
.news{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:30px}.news .card:first-child{min-height:270px;background:var(--d);color:#fff}.news .card:first-child p{color:#cde8fb}
.footer{padding:55px 7%;background:#062d54;color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer p,.footer a{color:#bcd3e6;font-size:13px}.footer a{display:block;margin:9px 0}.footbrand{display:flex;align-items:center;gap:12px}.footbrand img{width:65px}
.toast{display:none;position:fixed;bottom:22px;right:22px;background:#073c72;color:#fff;padding:17px 20px;border-radius:10px;z-index:50;max-width:380px}.toast.on{display:block}
@media(max-width:900px){.nav{display:none}.hero{grid-template-columns:1fr}.hero-card{min-height:250px}.grid,.news{grid-template-columns:1fr}.provs{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.wide{grid-column:auto}.footer{grid-template-columns:1fr}}

/* Ajuste visual basado en el modelo UCeDé General Rodríguez */
.brand img{width:64px;height:64px}
.hero{background:linear-gradient(120deg,#ffffff 0%,#f4fbff 52%,#dff3ff 100%)}
.hero-card{background:linear-gradient(145deg,#064b8e,#0872c9)}
.card{box-shadow:0 8px 24px rgba(7,60,114,.045)}
.band{background:linear-gradient(135deg,#0872c9,#0759a3)}


/* Panel administrativo */
.admin-shell{max-width:1200px;margin:0 auto;padding:34px 20px}.admin-grid{display:grid;grid-template-columns:220px 1fr;gap:24px}
.admin-nav{background:#073c72;color:#fff;border-radius:18px;padding:18px;height:max-content;position:sticky;top:95px}
.admin-nav button{display:block;width:100%;border:0;background:transparent;color:#fff;text-align:left;padding:11px;border-radius:9px;cursor:pointer}
.admin-nav button:hover,.admin-nav button.active{background:rgba(255,255,255,.13)}
.panel{background:#fff;border:1px solid #cfe3f2;border-radius:18px;padding:22px;margin-bottom:18px}.panel h2{margin-top:0}
.admin-form{display:grid;gap:12px}.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:11px;border:1px solid #bcd5e6;border-radius:9px;font:inherit}.admin-form textarea{min-height:120px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:9px;border-bottom:1px solid #e4eef5;text-align:left}
.loginbox{max-width:430px;margin:70px auto;background:#fff;border:1px solid #cfe3f2;padding:28px;border-radius:20px}.hidden{display:none!important}.notice{padding:10px 12px;border-radius:9px;background:#eaf6ff;margin:10px 0}
@media(max-width:800px){.admin-grid,.row2{grid-template-columns:1fr}.admin-nav{position:static}}

/* Tema nacional basado directamente en UCeDé General Rodríguez */
.notice{background:#073c72;color:#fff;text-align:center;padding:7px 14px;font-size:12px;font-weight:700;letter-spacing:.03em}
.head{background:#fff}
.brand img{width:58px;height:58px;object-fit:contain}
.hero{background:linear-gradient(115deg,#ffffff 0%,#f5fbff 58%,#e8f6ff 100%);border-bottom:1px solid #d8e9f5}
.hero-card{background:linear-gradient(145deg,#073c72,#0872c9);color:#fff}
.hero-card .tag{color:#bfe6ff}
.local-pill-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.local-pill{padding:10px 14px;border:1px solid #c9e1f0;border-radius:999px;background:#fff;color:#073c72;font-size:12px;font-weight:800}
.section.blue-soft{background:#f3f9fd}
.territory-band{background:#073c72;color:#fff;padding:42px 0}
.territory-band .wrap{max-width:1180px;margin:auto;padding:0 20px}
.territory-band h2{color:#fff}
.territory-band p{color:#d7eaf8}
.region-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.region-chips span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:999px;font-size:12px}


/* UCEDE social/contact additions */
.contact-social-section{padding:48px 24px;background:#f4f8ff;border-top:1px solid rgba(7,29,73,.12)}
.contact-social-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:center}
.contact-social-wrap h2{margin:8px 0 10px}.contact-social-wrap p{margin:0;color:#52606f;line-height:1.6}
.social-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.social-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid rgba(7,29,73,.16);border-radius:14px;background:#fff;color:#071d49;font-weight:700;text-decoration:none;transition:.2s ease}
.social-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(7,29,73,.10)}
.social-link.whatsapp-main{grid-column:span 3;background:#0b6b3a;color:#fff;border-color:#0b6b3a}
.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:9999;background:#0b6b3a;color:#fff;text-decoration:none;font-weight:800;padding:14px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.whatsapp-float:hover{transform:translateY(-2px)}
@media(max-width:800px){.contact-social-wrap{grid-template-columns:1fr}.social-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-link.whatsapp-main{grid-column:span 2}.whatsapp-float{right:12px;bottom:12px;padding:12px 15px}}


/* Panel privado de estadísticas territoriales */
.stats-body{background:#eef5fb;min-height:100vh}.stats-login{margin-top:7vh}.stats-login-logo{width:74px;height:74px;object-fit:contain}.stats-login h1{margin:8px 0}.stats-login p{color:var(--mut);line-height:1.5}.stats-msg{min-height:22px;margin-top:10px;color:#9b2c2c;font-size:13px}.stats-back{display:inline-block;margin-top:18px;color:var(--b);font-weight:800;font-size:13px}
.stats-shell{min-height:100vh}.stats-topbar{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:13px 4%;display:flex;justify-content:space-between;gap:18px;align-items:center}.stats-brand{display:flex;align-items:center;gap:12px;color:var(--d)}.stats-brand img{width:52px;height:52px;object-fit:contain}.stats-brand span{display:block;font-size:12px;color:var(--mut);margin-top:3px}.stats-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.new-badge{background:#e9fff2;color:#126b3b;border:1px solid #b5e4c9;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:900}
.stats-main{max-width:1380px;margin:0 auto;padding:30px 4% 70px}.stats-hero-panel{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:22px}.stats-hero-panel h1{font-size:42px;letter-spacing:-.045em;margin:8px 0}.stats-hero-panel p{max-width:790px;color:var(--mut);line-height:1.55;margin:0}.last-update{font-size:12px;color:var(--mut);white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;box-shadow:0 8px 25px rgba(7,60,114,.04)}.metric-card span,.metric-card small{display:block;color:var(--mut);font-size:12px}.metric-card b{font-size:36px;color:var(--d);display:block;margin:7px 0}
.stats-two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-bottom:18px}.stats-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px}.stats-card h2{font-size:26px;margin:7px 0 16px}.stats-card h3{font-size:14px;margin:22px 0 10px;color:var(--d)}.stats-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.stats-card-head select,.stats-search{padding:10px 12px;border:1px solid #bfd6e6;border-radius:9px;background:#fff;min-width:210px}
.arg-map{height:455px;border:1px solid #d3e5f1;border-radius:16px;background:linear-gradient(160deg,#f8fdff,#e7f5ff);display:flex;align-items:center;justify-content:center;overflow:hidden}.arg-svg{height:100%;max-width:100%}.arg-silhouette{fill:#dceefa;stroke:#a8cde5;stroke-width:2}.arg-svg text{font-size:12px;fill:#60758a}.map-prov{cursor:pointer;outline:none}.map-prov circle{fill:#0872c9;stroke:#fff;stroke-width:3;transition:.15s}.map-prov:hover circle,.map-prov:focus circle,.map-prov.active circle{fill:#073c72;stroke:#79c5f1;stroke-width:5}.map-help{font-size:12px;color:var(--mut);line-height:1.5}
.province-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.province-mini-metrics>div{background:#f4faff;border:1px solid #d7e9f5;padding:15px;border-radius:12px;text-align:center}.province-mini-metrics b{font-size:27px;color:var(--b);display:block}.province-mini-metrics span{font-size:11px;color:var(--mut)}
.bar-list{display:grid;gap:9px}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.bar-track{height:8px;border-radius:999px;background:#e5f0f7;overflow:hidden}.bar-track i{display:block;height:100%;background:#0872c9;border-radius:999px}.chip-list{display:flex;gap:7px;flex-wrap:wrap}.data-chip{border:1px solid #cfe2ef;background:#f8fcff;color:#27475f;border-radius:999px;padding:7px 10px;font-size:11px;cursor:default}.data-chip b{color:#0872c9}.empty{color:var(--mut);font-size:13px}.table-empty{padding:24px;text-align:center}
.stats-tabs{display:flex;gap:8px;margin:4px 0 12px;flex-wrap:wrap}.stats-tab{border:1px solid #bed7e8;background:#fff;color:#073c72;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.stats-tab.active{background:#073c72;color:#fff;border-color:#073c72}.stats-table-wrap{overflow:auto;max-height:620px}.stats-table{min-width:850px}.stats-table thead th{position:sticky;top:0;background:#f5faff;z-index:2}.stats-table td{vertical-align:top;max-width:360px}.stats-table a{color:#0872c9;font-weight:700}.link-btn{border:0;background:transparent;color:#0872c9;font-weight:900;cursor:pointer;padding:0;text-align:left}.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef6fb;color:#31546c;font-size:11px;font-weight:800}
@media(max-width:900px){.stats-topbar,.stats-hero-panel,.stats-card-head{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.stats-two-col{grid-template-columns:1fr}.arg-map{height:390px}.stats-card-head select,.stats-search{width:100%;min-width:0}.stats-top-actions{width:100%}.stats-top-actions .btn{flex:1;text-align:center}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:16px}.metric-card b{font-size:29px}.stats-main{padding-left:13px;padding-right:13px}.stats-hero-panel h1{font-size:34px}.arg-map{height:360px}.province-mini-metrics{grid-template-columns:1fr 1fr 1fr}}

.internal-access{align-self:end;color:#7fa9c9!important;font-size:11px!important;opacity:.8}.internal-access:hover{color:#fff!important}

/* Fichas privadas de afiliación */
.aff-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.aff-status-card{border:1px solid #cfe0ef;background:#f8fbfe;border-radius:14px;padding:14px 10px;cursor:pointer;text-align:left;color:#17324d}
.aff-status-card b{display:block;font-size:24px;color:#006fc9;margin-bottom:3px}.aff-status-card span{font-size:13px}.aff-status-card.active{border-color:#0077d4;background:#eaf5ff;box-shadow:0 0 0 2px rgba(0,119,212,.08)}
.aff-modal{position:fixed;inset:0;background:rgba(5,25,45,.58);z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}
.aff-modal.hidden{display:none}.aff-modal-card{width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.28);padding:26px}.aff-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #dbe8f2;padding-bottom:18px;margin-bottom:18px}.aff-modal-head h2{margin:5px 0 0}.aff-close{width:42px;height:42px;border:0;border-radius:50%;font-size:30px;line-height:1;background:#edf4fa;cursor:pointer;color:#17324d}
.aff-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aff-detail-item{border:1px solid #dce8f2;border-radius:14px;padding:14px;background:#fbfdff}.aff-detail-item span{display:block;font-size:12px;color:#6b8194;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.aff-detail-item b{display:block;font-size:15px;color:#17324d;word-break:break-word}.aff-detail-wide{grid-column:1/-1}
.aff-followup{margin-top:22px;padding-top:20px;border-top:1px solid #dbe8f2;display:grid;gap:14px}.aff-followup label{display:block;font-weight:700;margin-bottom:7px}.aff-followup select,.aff-followup textarea{width:100%;border:1px solid #c7d9e8;border-radius:12px;padding:12px;font:inherit;background:#fff}.aff-followup textarea{min-height:110px;resize:vertical}.aff-followup-actions{display:flex;align-items:center;gap:12px}.modal-open{overflow:hidden}
@media(max-width:760px){.aff-status-grid{grid-template-columns:repeat(2,1fr)}.aff-detail-grid{grid-template-columns:1fr}.aff-detail-wide{grid-column:auto}.aff-modal{padding:10px}.aff-modal-card{padding:18px}}
