/* ---------- Estadísticas y reportes ---------- */
.app[data-vista="rEstadisticas"] .signature,.app[data-vista="rEstadisticas"] .leaves,.app[data-vista="rEstadisticas"] .appwave,.app[data-vista="rEstadisticas"] .motto2,.app[data-vista="rEstadisticas"] .foot2{display:none}
.app[data-vista="rEstadisticas"]{background:linear-gradient(160deg,#f3f8fb 0%,#eaf3f6 100%)}
.statspage{position:relative;z-index:3;flex:1;width:100%;max-width:1640px;margin:0 auto;padding:clamp(18px,3vh,30px) clamp(16px,2.4vw,40px) 40px}
.statspage .backtop{margin-bottom:22px}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.statspage .bc{font-size:clamp(16px,1.3vw,20px);color:var(--navy)}
.statspage .bc a{color:var(--navy);gap:12px}
.statspage .bc a svg{width:24px;height:24px}
.statspage .bc span[aria-current]{color:var(--navy)}
.statspage h2{font-family:Montserrat,sans-serif;font-weight:700;color:var(--navy);font-size:clamp(32px,3.2vw,52px);margin:10px 0 0;line-height:1.1}
.statspage .sub2{color:#5a86c4;margin-top:8px;font-size:clamp(17px,1.6vw,25px)}
.filters{display:flex;gap:20px;flex-wrap:wrap}
.filter{display:flex;align-items:center;gap:16px;background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 10px 30px rgba(18,63,90,.07);border:1px solid #e3ecf1}
.fico{width:36px;height:36px;color:var(--navy);flex:none}
.fbody{position:relative}
.flabel{display:block;font-size:16px;font-weight:400;color:var(--navy);margin:0 0 8px}
.fbox,.selwrap select{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:260px;height:42px;padding:0 12px;border:1px solid #dbe5ec;border-radius:9px;background:#fff;font:inherit;font-size:15.5px;color:var(--navy);cursor:pointer;text-align:left}
.selwrap{position:relative}
.selwrap select{appearance:none;-webkit-appearance:none;width:100%;padding-right:40px}
.selwrap .chv{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}
.chv{width:18px;height:18px;color:var(--navy);flex:none}
.rangopop{left:0;right:auto;min-width:260px;padding:16px;display:grid;gap:10px}
.rangopop[hidden]{display:none}
.dl{display:grid;gap:6px;font-size:14px;font-weight:700!important;color:var(--navy);margin:0!important}
.dl input{height:40px;border:1.5px solid #d4dde6;border-radius:9px;padding:0 10px;font:inherit;font-size:15px;color:var(--ink)}
.solidsm{height:40px;border:0;border-radius:999px;background:var(--teal);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.solidsm:hover{background:var(--teal-d)}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:clamp(22px,3.5vh,34px)}
.kpi{display:flex;align-items:flex-start;gap:18px;padding:30px 16px 24px 20px;border-radius:16px;box-shadow:0 10px 28px rgba(18,63,90,.06);border:1px solid rgba(255,255,255,.8)}
.kpi h4{margin:4px 0 0;font-size:clamp(15px,1.05vw,18px);font-weight:400;color:var(--navy);line-height:1.3}
.kico{width:78px;height:84px;border-radius:16px;display:grid;place-items:center;flex:none}
.kico svg{width:42px;height:42px}
.krow{display:flex;align-items:center;gap:18px;margin-top:10px}
.krow b{font-family:Montserrat,sans-serif;font-size:clamp(34px,2.6vw,44px);font-weight:700;color:var(--navy);line-height:1}
.kdelta{font-size:clamp(15px,1.15vw,19px);color:var(--navy);line-height:1.25}
.kdelta small{display:block;font-size:.72em;color:#6b7a86;margin-top:2px}
.kdelta.up{color:#1e9a6a}.kdelta.down{color:#c0504d}
.krow b.nodata{font-size:clamp(20px,1.5vw,24px);white-space:nowrap}
.k5 .krow{flex-wrap:wrap;gap:6px 12px}
.kdelta.neutral{font-size:13px;color:#6b7a86;max-width:11em}
.k1{background:#e3f5f1}.k1 .kico{background:#bfe7df;color:#1d8a7c}
.k2{background:#fdf3e1}.k2 .kico{background:#fbe1b5;color:#e09b2d}
.k3{background:#e6f0fb}.k3 .kico{background:#c9def6;color:#3f7fcf}
.k4{background:#fdecee}.k4 .kico{background:#f9cdd2;color:#e0505c}
.k5{background:#fdecf0}.k5 .kico{background:#f9cfd9;color:#e83c58}
.sgrid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;margin-top:clamp(22px,4vh,44px)}
.sbox{background:#fff;border-radius:16px;padding:20px 28px 22px;box-shadow:0 10px 30px rgba(18,63,90,.06)}
.sbox h3{font-family:Montserrat,sans-serif;font-weight:700;color:var(--navy);font-size:clamp(22px,1.9vw,30px);margin:0}
.ssub{color:#5a86c4;font-size:clamp(15px,1.3vw,20px);margin:6px 0 0}
.io{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.iocard{display:flex;gap:26px;padding:22px 26px;border-radius:14px}
.iocard.in{background:#e6f6f1}.iocard.out{background:#fdecee}
.ioico{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.ioico svg{width:34px;height:34px}
.in .ioico{background:#22b591}.out .ioico{background:#ea4f5c}
.iocard h4{margin:0;font-size:clamp(17px,1.4vw,22px);color:var(--navy)}
.iocard p{margin:4px 0 0;color:#5a86c4;font-size:clamp(14px,1.05vw,17px);line-height:1.4}
.iocard b{display:block;font-family:Montserrat,sans-serif;font-size:clamp(36px,2.8vw,48px);color:var(--navy);margin-top:12px}
.kdelta.big{display:block;margin-top:6px}
.qlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.qrep{display:flex;align-items:center;gap:20px;width:100%;height:42px;padding:0 18px;border:1px solid #dfe7ec;border-radius:9px;background:#fff;font:inherit;font-size:clamp(15px,1.25vw,19px);color:var(--navy);cursor:pointer;text-align:left}
.qrep:hover{border-color:#b9d6d4;background:#f6fbfa}
.qrep svg{width:26px;height:26px;color:#2c5d8f;flex:none}
.qrep span{flex:1}
.qrep .chr{width:18px;height:18px;color:var(--navy)}
.qnote{margin:10px 2px 0;color:var(--teal-d);font-size:14.5px;min-height:1.2em}
@media (max-width:1300px){.kpis{grid-template-columns:repeat(3,1fr)}.sgrid{grid-template-columns:1fr}}
@media (max-width:760px){.kpis{grid-template-columns:1fr 1fr}.io{grid-template-columns:1fr}.filters,.filter{width:100%}.fbody{flex:1}.fbox,.selwrap select{min-width:0;width:100%}}
@media (max-width:480px){.kpis{grid-template-columns:1fr}.kico{width:60px;height:64px}}

/* Tarjeta "Residencias eliminadas": botón Visualizar y su listado */
.kver{display:inline-flex;align-items:center;gap:8px;margin-top:12px;height:34px;padding:0 14px;border:1.5px solid #e0505c;border-radius:9px;background:#fff;color:#c0393f;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.kver[hidden]{display:none}
.kver:hover{background:#fdecee}
.kver svg{width:18px;height:18px}
.melim{max-width:760px}
.melim .elimico{background:#fdecee;color:#e0505c}
.elimcuerpo{margin-top:18px}
.elimlista{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.elim{border:1px solid #f1d3d6;border-radius:14px;padding:14px 16px 6px;background:#fffafa}
.elimcab{display:flex;align-items:flex-start;gap:14px}
.elimcab .ri{width:44px;height:44px;border-radius:12px;background:#fdecee;color:#e0505c;display:grid;place-items:center;flex:none}
.elimcab .ri svg{width:22px;height:22px}
.elimcab > div{flex:1;min-width:0}
.elimcab b{display:block;color:var(--navy);font-size:17px}
.elimcab small{display:block;color:var(--muted);font-size:14px;margin-top:2px;overflow-wrap:anywhere}
.elimfecha{text-align:right;font-size:13px;color:#c0393f;white-space:nowrap}
.elimfecha b{font-size:14.5px;color:var(--navy)}
.elim .mdatos{margin-top:6px}
.elim .mdatos div:last-child{border-bottom:0}
.elim .elimpie{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.elim .elimpie > div{padding:0;border:0}
.elimrest{height:36px;padding:0 14px;font-size:14.5px}
.elimrest svg{width:18px;height:18px}
.elimnota{margin-top:14px}
.elimnota[hidden]{display:none}
.elimnota.elimerror{background:#fbe9e8;color:#a3302a}
.elimvacio{margin:0;padding:22px;border:1.5px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted);font-size:16px}
@media (max-width:640px){.elimcab{flex-wrap:wrap}.elimfecha{text-align:left;white-space:normal;width:100%}}

.bc .bctxt{margin-left:10px;color:inherit}
.oplist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.opitem{display:flex;align-items:center;gap:16px;width:100%;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;font:inherit;text-align:left;cursor:pointer;color:inherit;transition:border-color .15s, background .15s}
.opitem:hover{border-color:#b9d6d4;background:#f6fbfa}
.opitem .ri{width:44px;height:44px;border-radius:12px;background:var(--mint);display:grid;place-items:center;color:var(--teal-d);flex:none}
.opitem .rinfo b{color:var(--navy);font-size:17px}
.opitem .go2{width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;flex:none}
.opitem .go2 svg{width:20px;height:20px}
.opitem.inactiva .ri,.opitem.inactiva .rinfo small{opacity:.6}
