/* Registro de datos → Administración → Residentes y pagos */
.invkpi.pgproy .invkpiico{background:#d8f1ec;color:#1f7a6f}
.pgfiltros{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,.9fr) auto auto;gap:12px;align-items:center}
.pgfiltros select{width:100%;height:42px;border:1.5px solid #d4dde6;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px;padding:0 10px}
.pgfiltros input{width:100%;height:42px;border:1.5px solid #d4dde6;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px;padding:0 40px 0 12px}
.pgfiltros input:focus,.pgfiltros select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,127,124,.15)}
.pgmas,.pgactualizar{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:10px;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
.pgmas{border:1.5px solid #d4dde6;background:#f5f8fa;color:#7d8ea3}
.pgmas[disabled]{cursor:not-allowed}
.pgactualizar{border:0;background:var(--teal);color:#fff;box-shadow:0 8px 18px rgba(46,127,124,.2)}
.pgactualizar:hover{background:var(--teal-d)}
.pgmas svg,.pgactualizar svg{width:18px;height:18px}
.pgestado{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}
.pgestado svg{width:16px;height:16px}
.pgestado.al{background:#ddf3e9;color:#17734f}
.pgestado.pend{background:#fdf0cc;color:#8a5d00}
.pgestado.sin{background:#eceff2;color:#6b7a86}
.pgtabla td{vertical-align:middle}

/* Panel lateral (Ver detalle) */
.pgcapa{position:fixed;inset:0;z-index:80;background:rgba(18,63,90,.28);display:flex;justify-content:flex-end}
.pgpanel{position:relative;width:min(720px,100%);height:100%;overflow:auto;background:#fbfdfd;box-shadow:-20px 0 60px rgba(18,63,90,.2);padding:28px 28px 22px;display:flex;flex-direction:column;gap:16px}
.pgx{position:absolute;top:18px;right:18px;width:38px;height:38px;border:0;border-radius:50%;background:none;color:var(--navy);display:grid;place-items:center;cursor:pointer}
.pgx:hover{background:var(--mint)}
.pgx svg{width:22px;height:22px}
.pgcab{display:flex;align-items:center;gap:18px;padding-right:44px;text-align:left}
.pgico{width:64px;height:64px;flex:none;border-radius:50%;background:#e4edf8;color:#2f6fd6;display:grid;place-items:center}
.pgico svg{width:30px;height:30px}
.pgcab h3{margin:0;font:700 clamp(21px,2vw,26px)/1.2 Montserrat,sans-serif;color:var(--navy)}
.pgcab p{margin:4px 0 0;color:var(--muted);font-size:16px}
.pgcaja{background:#fff;border:1px solid #e3eaee;border-radius:14px;overflow:hidden;text-align:left}
.pgcaja h4{display:flex;align-items:center;gap:10px;margin:0;padding:12px 18px;background:#f1f6f9;color:var(--navy);font:700 17px Montserrat,sans-serif}
.pgcaja h4 svg{width:20px;height:20px}
.pgcaja > .rggrid,.pgcaja > .rstabla-marco,.pgcaja > .pgnota,.pgcaja > form{margin:12px 18px 14px}
.pgdatos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:14px 18px}
.pgdatos.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.pgdatos div{padding:0 14px;border-left:1px solid #e3eaee;min-width:0}
.pgdatos div:first-child{padding-left:0;border-left:0}
.pgdatos dt{font-size:14px;color:#5f7184}
.pgdatos dd{margin:4px 0 0;font-size:17px;color:var(--navy);overflow-wrap:anywhere}
.pglink{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:0;border:0;background:none;color:#1f5fa0;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pglink svg{width:15px;height:15px}
.pgmens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;border-top:1px solid #e3eaee;padding-top:12px}
.pgmens[hidden]{display:none}
.pgmens .rf{grid-column:auto}
.pgmens .pgnota{grid-column:2;align-self:center}
.pgmensbtns{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}
.pgnota{color:#5f7184;font-size:14.5px;margin:0}
.pgfin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 18px}
.pgfin.dos{grid-template-columns:repeat(2,minmax(0,1fr))}
.pgfin > div{padding:0 16px;border-left:1px solid #e3eaee;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pgfin > div:first-child{padding-left:0;border-left:0}
.pgfin small{font-size:14px;color:#5f7184}
.pgfin b{font:800 24px/1.1 Montserrat,sans-serif;color:var(--navy)}
.pgfin span:not(.pgestado):not(.pgestado *){font-size:13px;color:#7d8ea3}
.pghist{font-size:14px}
.pgpie{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid #e3eaee}
.pgpie button,.pgmensbtns button{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:10px;font:inherit;font-size:15.5px;font-weight:700;cursor:pointer}
.pgpie svg,.pgmensbtns svg{width:20px;height:20px}
.pgpie .solid,.pgmensbtns .solid{border:0;background:var(--teal);color:#fff;box-shadow:0 8px 18px rgba(46,127,124,.2)}
.pgpie .solid:hover,.pgmensbtns .solid:hover{background:var(--teal-d)}
.pgpie .solid[disabled],.pgmensbtns .solid[disabled]{opacity:.55;cursor:not-allowed}
.pgpie .outline,.pgmensbtns .outline{border:1.5px solid var(--teal);background:#fff;color:var(--teal-d)}
.pgpie .gris{border:1.5px solid #d4dde6;background:#f3f6f8;color:var(--navy)}
.pgpie .gris:first-child{margin-right:auto}
.pgpanel .pgpie .gris{margin-left:auto}

/* Ventana Registrar pago */
.pgmodalcapa{z-index:95}
.pgmodal{position:relative;max-width:720px;max-height:calc(100dvh - 40px);overflow:auto;text-align:left;padding:26px 26px 22px;display:flex;flex-direction:column;gap:14px}
.pgmodal .merr{color:#a3302a;font-size:15px;margin:0}

@media (max-width:1100px){.pgfiltros{grid-template-columns:1fr 1fr}.pgfiltros .invbuscar{grid-column:1/-1}}
@media (max-width:640px){
  .pgpanel{padding:22px 16px 18px}
  .pgdatos,.pgdatos.tres,.pgfin{grid-template-columns:1fr 1fr;gap:12px 0}
  .pgdatos div:nth-child(odd),.pgfin > div:nth-child(odd){padding-left:0;border-left:0}
  .pgmens{grid-template-columns:1fr}
  .pgmens .pgnota{grid-column:1}
  .pgpie button{flex:1 1 auto;justify-content:center}
}
