:root{
  --bg:#090c11;--surface:#171b22;--surface2:#222832;--surface3:#2a313c;--ink:#f7f8fa;--muted:#aab1bb;
  --gold:#f4b000;--gold2:#ffd35f;--green:#2bc88b;--red:#ff626b;--blue:#4b91ff;
  --line:rgba(255,255,255,.085);--shadow:0 20px 55px rgba(0,0,0,.38);--radius:24px
}
*{box-sizing:border-box}html{background:#07090d;scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% -5%,rgba(244,176,0,.18),transparent 31%),radial-gradient(circle at 100% 18%,rgba(75,145,255,.10),transparent 28%),linear-gradient(180deg,#11151c,#090c11 55%,#07090d);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}.app-shell{width:min(100%,760px);margin:auto;min-height:100vh}.main-content{padding:18px 14px 112px}.topbar{height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:rgba(18,22,28,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.logo,.auth-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#151515;font-weight:950;background:linear-gradient(145deg,var(--gold2),var(--gold));box-shadow:0 9px 25px rgba(244,176,0,.24);flex:none}.brand strong{display:block;font-size:17px;white-space:nowrap}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.top-actions{display:flex;align-items:center;gap:8px}.top-link{font-size:10px;font-weight:900;padding:9px 10px;border-radius:12px;background:rgba(244,176,0,.1);color:var(--gold2);white-space:nowrap}.bell-button{position:relative;width:46px;height:46px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(#282e37,#1c2128);display:grid;place-items:center}.bell-button svg{width:23px}.notification-badge{position:absolute;right:-5px;top:-6px;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:var(--red);display:grid;place-items:center;font-size:10px;font-weight:900;border:2px solid #15191f}.notification-badge.is-hidden{display:none}.bottom-nav{position:fixed;z-index:30;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,760px);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));background:rgba(17,21,27,.97);backdrop-filter:blur(17px);border-top:1px solid var(--line);box-shadow:0 -12px 35px rgba(0,0,0,.34)}.bottom-nav-item{color:#858e99;padding:9px 4px 6px;border-radius:16px;display:grid;place-items:center;gap:4px;font-size:10px;font-weight:850}.bottom-nav-item svg{width:23px;height:23px}.bottom-nav-item.active{color:var(--gold2);background:rgba(244,176,0,.10)}
.hero-card{padding:24px;border-radius:29px;background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.14),transparent 18%),linear-gradient(135deg,#4a3506 0,#20242c 52%,#12161c 100%);border:1px solid rgba(255,211,95,.27);box-shadow:var(--shadow);margin-bottom:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.hero-card h1{font-size:31px;line-height:1.05;margin:8px 0 9px;letter-spacing:-.04em}.hero-card p{margin:0;color:#d3d7dc;font-size:13px;line-height:1.5}.eyebrow{color:var(--gold2);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:950}.screen-title{margin:5px 3px 16px}.screen-title h1{font-size:32px;margin:5px 0 6px;letter-spacing:-.035em}.screen-title p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.metrics{display:grid;gap:9px;margin:13px 0}.metrics.three{grid-template-columns:repeat(3,1fr)}.metric{padding:16px 13px;border-radius:21px;background:linear-gradient(150deg,#252b34,#171b22);border:1px solid var(--line);box-shadow:0 10px 28px rgba(0,0,0,.22);min-width:0}.metric span{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.03em}.metric strong{display:block;margin:8px 0 2px;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric.green strong{color:#55ddb0}.metric.red strong{color:#ff7d84}.metric.gold strong{color:var(--gold2)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0}.summary-grid.admin-actions{grid-template-columns:repeat(2,1fr)}.summary-card{border:1px solid var(--line);border-radius:21px;padding:17px;text-align:left;background:linear-gradient(145deg,#242a33,#171b22);box-shadow:0 10px 28px rgba(0,0,0,.22);color:inherit}.summary-card span{display:block;color:var(--muted);font-size:10px;font-weight:850}.summary-card strong{display:block;margin:8px 0 5px;font-size:24px}.summary-card strong svg{width:28px;height:28px;color:var(--gold2)}.summary-card small{font-size:10px;color:#7f8995}.panel,.form-panel,.assessment-card,.notice-card,.credentials-box{padding:19px;border-radius:24px;background:linear-gradient(155deg,#202630,#14181e);border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,0,0,.25);margin:13px 0}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.section-head h2,.panel h2{margin:5px 0;font-size:21px}.text-link{color:var(--gold2);font-size:11px;font-weight:900}.empty{color:var(--muted);font-size:13px}.assessment-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.assessment-metrics div{padding:13px;border-radius:16px;background:#242a33;border:1px solid rgba(255,255,255,.06)}.assessment-metrics span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:850}.assessment-metrics strong{display:block;margin-top:5px;font-size:17px}.movement-list{display:grid}.movement-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid var(--line)}.movement-row:last-child{border-bottom:0}.movement-icon{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;font-weight:950;flex:none}.movement-icon.income{background:rgba(43,200,139,.13);color:#5fe1b6}.movement-icon.expense{background:rgba(255,98,107,.12);color:#ff858c}.movement-main{flex:1;min-width:0}.movement-main strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movement-main small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.movement-amount{font-size:13px;font-weight:950;white-space:nowrap}.movement-amount.income{color:#5fe1b6}.movement-amount.expense{color:#ff858c}.document-mini{font-size:9px;color:var(--gold2);font-weight:900;padding:7px;border-radius:9px;background:rgba(244,176,0,.09)}
.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:12px 15px;font-size:11px;font-weight:900;line-height:1.2}.primary{background:linear-gradient(145deg,var(--gold2),var(--gold));color:#171717;box-shadow:0 9px 24px rgba(244,176,0,.18)}.secondary{background:#2a3039;color:#fff;border:1px solid var(--line)}.danger{background:rgba(255,98,107,.13);color:#ff8d94;border:1px solid rgba(255,98,107,.34)}.danger:hover{background:rgba(255,98,107,.22)}.primary.full,.secondary.full,.danger.full{width:100%}.primary.small,.secondary.small,.danger.small{padding:8px 10px;font-size:9px}.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-form{display:inline-flex;margin:0}.flash{padding:13px 15px;border-radius:15px;margin:0 0 12px;font-size:12px;font-weight:800}.flash.success{background:rgba(43,200,139,.12);color:#6be4bb;border:1px solid rgba(43,200,139,.25)}.flash.error{background:rgba(255,98,107,.12);color:#ff9399;border:1px solid rgba(255,98,107,.25)}
.form-panel{padding:0;overflow:hidden}.form-panel>summary{list-style:none;padding:18px 20px;font-weight:950;cursor:pointer;background:linear-gradient(145deg,rgba(244,176,0,.13),transparent)}.form-panel>summary::-webkit-details-marker,.assessment-card>summary::-webkit-details-marker{display:none}.stack-form{display:grid;gap:13px;padding:19px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}.stack-form label,.filter-bar label,.payment-editor label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:850}.stack-form input,.stack-form select,.stack-form textarea,.filter-bar input,.filter-bar select,.payment-editor input,.payment-editor select,.mini-upload input,.mini-upload select{width:100%;border:1px solid var(--line);border-radius:14px;background:#242a33;color:#fff;padding:12px;outline:none}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.filter-bar input:focus,.filter-bar select:focus,.payment-editor input:focus,.payment-editor select:focus{border-color:rgba(255,211,95,.55);box-shadow:0 0 0 3px rgba(244,176,0,.08)}.stack-form textarea{min-height:105px;resize:vertical}.check-row{grid-template-columns:auto 1fr!important;align-items:center}.check-row input{width:auto!important}.filter-bar{display:grid;grid-template-columns:2fr repeat(3,1fr) auto auto;gap:9px;align-items:end;margin:13px 0;padding:14px;border-radius:20px;background:rgba(27,32,40,.85);border:1px solid var(--line)}.filter-bar.compact{grid-template-columns:repeat(3,1fr) auto auto}.filter-bar span{display:block}.assessment-list{display:grid;gap:12px}.assessment-card{padding:0;overflow:hidden}.assessment-card>summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px;cursor:pointer}.assessment-summary-main{display:grid;gap:4px;min-width:0}.assessment-summary-main strong{font-size:20px}.assessment-summary-main small{color:var(--muted);font-size:11px}.assessment-summary-numbers{text-align:right;display:grid;justify-items:end;gap:3px;white-space:nowrap}.assessment-summary-numbers b{font-size:17px;color:var(--gold2)}.assessment-summary-numbers small{color:var(--muted);font-size:9px}.status-pill,.payment-pill{display:inline-flex;padding:6px 9px;border-radius:99px;font-size:9px;font-weight:950}.status-pill.active,.payment-pill.paid{background:rgba(43,200,139,.13);color:#5fe1b6}.status-pill.closed{background:rgba(170,177,187,.12);color:#c3c8cf}.payment-pill.pending{background:rgba(255,98,107,.12);color:#ff858c}.payment-pill.partial{background:rgba(244,176,0,.13);color:var(--gold2)}.payment-pill.exempt{background:rgba(75,145,255,.13);color:#83b4ff}.assessment-body{padding:0 20px 20px;border-top:1px solid var(--line)}.assessment-body>p{color:var(--muted);font-size:12px;line-height:1.55}.progress-track{height:9px;border-radius:99px;overflow:hidden;background:#303640;margin:14px 0}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:99px}.document-chips{display:flex;gap:8px;flex-wrap:wrap}.document-chips a{font-size:10px;padding:9px 11px;border-radius:12px;background:#2a3039;border:1px solid var(--line)}.payments-grid{display:grid;gap:9px}.payment-card{display:flex;justify-content:space-between;align-items:center;padding:13px;border-radius:16px;background:#242a33;border:1px solid rgba(255,255,255,.06)}.payment-card strong{font-size:12px}.payment-card small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.admin-payments{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-editor{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr auto;gap:8px;align-items:end;padding:12px;border-radius:17px;background:#242a33;border:1px solid rgba(255,255,255,.06)}.payment-editor-title{align-self:center}.payment-editor-title strong{display:block;font-size:12px}.payment-editor-title small{color:var(--muted);font-size:9px}.mini-upload{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin:13px 0}.notice-list{display:grid;gap:12px}.notice-card{border-left:4px solid var(--blue)}.notice-card.important{border-left-color:var(--gold)}.notice-card.urgent{border-left-color:var(--red)}.notice-card h2{margin:6px 0;font-size:20px}.notice-card p{color:#d4d8dd;font-size:12px;line-height:1.6}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.credentials-box{border-color:rgba(255,211,95,.35)}.credentials-box p{color:var(--muted);font-size:12px}.credentials-list{display:grid;gap:8px;max-height:360px;overflow:auto}.credentials-list>div{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:8px;padding:10px;border-radius:14px;background:#242a33}.credentials-list code{color:var(--gold2);font-size:10px;word-break:break-all}.user-list{display:grid}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:0}.user-row strong{font-size:13px}.user-row small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:60;opacity:0;pointer-events:none;transition:.25s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.notification-drawer{position:fixed;right:0;top:0;z-index:61;height:100%;width:min(88%,390px);padding:20px;background:#171b22;border-left:1px solid var(--line);box-shadow:-20px 0 55px rgba(0,0,0,.4);transform:translateX(105%);transition:.25s;overflow:auto}.notification-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.drawer-head h2{margin:4px 0}.drawer-close{width:39px;height:39px;border:1px solid var(--line);background:#262c35;border-radius:13px;font-size:24px}.notification-list{display:grid;margin-top:12px}.notification-item{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:14px 5px;border-bottom:1px solid var(--line)}.notification-item.unread{background:linear-gradient(90deg,rgba(244,176,0,.08),transparent)}.notification-item strong{font-size:12px}.notification-item small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin:4px 0}.notification-item time{font-size:8px;color:#727b86}.notification-dot{width:8px;height:8px;border-radius:99px;background:var(--blue);margin-top:4px}.notification-dot.success{background:var(--green)}.notification-dot.warning{background:var(--gold)}.notification-dot.urgent{background:var(--red)}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#242a33;border:1px solid var(--line);padding:11px 15px;border-radius:14px;font-size:11px;font-weight:800;z-index:80;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.auth-body{display:grid;place-items:center;padding:22px}.auth-card{width:min(100%,430px);padding:28px;border-radius:30px;background:linear-gradient(155deg,#202630,#14181e);border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card .auth-logo{margin-bottom:20px}.auth-card h1{font-size:32px;margin:6px 0}.auth-copy{color:var(--muted);font-size:13px;line-height:1.55}.auth-card .stack-form{padding:8px 0}.helper{color:#7f8995;font-size:10px;line-height:1.5}.install-card{width:min(100%,520px)}
@media(max-width:720px){.filter-bar,.filter-bar.compact{grid-template-columns:1fr 1fr}.filter-bar .search-field{grid-column:1/-1}.admin-payments{grid-template-columns:1fr}.payment-editor{grid-template-columns:1.2fr 1fr 1fr}.payment-editor label:nth-of-type(3),.payment-editor button{grid-column:auto}.two-columns{grid-template-columns:1fr}}
@media(max-width:470px){.top-link{display:none}.brand small{max-width:170px}.hero-card h1{font-size:27px}.metrics.three{grid-template-columns:repeat(3,1fr)}.metric{padding:13px 9px}.metric strong{font-size:18px}.summary-grid{grid-template-columns:1fr 1fr}.assessment-card>summary{align-items:flex-start}.assessment-summary-main strong{font-size:17px}.assessment-summary-numbers b{font-size:14px}.assessment-metrics{grid-template-columns:repeat(3,1fr)}.assessment-metrics div{padding:10px 8px}.assessment-metrics strong{font-size:14px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.filter-bar,.filter-bar.compact{grid-template-columns:1fr 1fr}.mini-upload{grid-template-columns:1fr}.payment-editor{grid-template-columns:1fr 1fr}.payment-editor-title{grid-column:1/-1}.credentials-list>div{grid-template-columns:1fr}.user-row{align-items:flex-start;flex-direction:column}.user-row .inline-actions{width:100%}.screen-title h1{font-size:28px}}

/* Instalación PWA y compatibilidad con iPhone / Android */
body{padding-top:env(safe-area-inset-top)}
.topbar{height:calc(76px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);margin-top:calc(-1 * env(safe-area-inset-top))}
.main-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.install-banner{position:fixed;z-index:55;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),720px);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:11px;padding:12px;border-radius:20px;background:linear-gradient(145deg,#252b34,#151a21);border:1px solid rgba(255,211,95,.28);box-shadow:0 18px 55px rgba(0,0,0,.5)}
.install-banner[hidden]{display:none}.install-banner-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold2),var(--gold));color:#111;font-weight:950}.install-banner strong{display:block;font-size:12px}.install-banner small{display:block;color:var(--muted);font-size:9px;line-height:1.35;margin-top:3px}.install-dismiss{width:30px;height:30px;border:0;border-radius:10px;background:#303640;color:#fff;font-size:19px}
.pwa-modal-backdrop{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.68);opacity:0;pointer-events:none;transition:.22s}.pwa-modal-backdrop.open{opacity:1;pointer-events:auto}.pwa-modal{position:fixed;z-index:91;left:50%;bottom:0;transform:translate(-50%,105%);width:min(100%,520px);max-height:88vh;overflow:auto;padding:28px 22px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:linear-gradient(155deg,#202630,#11151b);border:1px solid var(--line);box-shadow:0 -25px 70px rgba(0,0,0,.5);transition:.25s}.pwa-modal.open{transform:translate(-50%,0)}.pwa-modal>.drawer-close{position:absolute;right:18px;top:18px}.pwa-modal h2{font-size:27px;margin:8px 0 12px}.pwa-modal p,.pwa-modal li{color:#c1c7cf;font-size:13px;line-height:1.6}.pwa-modal ol{padding-left:21px}.small-logo{width:54px;height:54px;margin-bottom:18px}
@media(max-width:470px){.install-banner{grid-template-columns:auto 1fr auto}.install-banner .primary{grid-column:2/3;width:max-content}.install-dismiss{grid-column:3;grid-row:1/3}.install-banner-icon{grid-row:1/3}}


/* Actualización 2026-08-06: editor de pagos claro y utilizable */
.payment-help{margin:10px 0 12px;padding:11px 13px;border-radius:14px;background:rgba(244,176,0,.08);border:1px solid rgba(244,176,0,.2);color:#d9dde3!important;font-size:11px!important;line-height:1.45}
.admin-payments{grid-template-columns:1fr!important}
.payment-editor{grid-template-columns:minmax(145px,1.15fr) minmax(145px,.9fr) minmax(150px,.9fr) minmax(155px,.9fr) auto!important;gap:10px!important;align-items:end}
.payment-editor-title small{font-size:10px!important;margin-top:4px;display:block}
.payment-editor input,.payment-editor select{min-height:44px;font-size:13px!important}
.payment-editor .payment-amount input{font-weight:900;color:#fff;border-color:rgba(255,211,95,.28)}
.payment-save{min-height:44px;white-space:nowrap;padding-inline:16px!important}
@media(max-width:860px){.payment-editor{grid-template-columns:1fr 1fr!important}.payment-editor-title{grid-column:1/-1}.payment-save{grid-column:1/-1;width:100%}}
@media(max-width:470px){.payment-editor{grid-template-columns:1fr!important}.payment-editor-title,.payment-save{grid-column:auto}.payment-editor input,.payment-editor select{font-size:16px!important}}

/* Mejora visual del control de pagos por vivienda */
.admin-payments{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.payment-editor{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(135px,.85fr) minmax(150px,1fr) minmax(170px,1.1fr) minmax(155px,1fr)!important;
  gap:11px!important;
  align-items:end!important;
  padding:16px!important;
  border-radius:21px!important;
  background:linear-gradient(145deg,#252b34,#1a1f27)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  overflow:hidden;
}
.payment-editor::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#707987;
}
.payment-editor-title{
  grid-column:1/-1;
  display:grid;
  gap:5px;
  padding-bottom:11px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.payment-home-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.payment-home-line strong{font-size:17px!important;letter-spacing:-.02em}
.payment-editor-title>small{font-size:10px!important;color:#98a1ad!important}
.payment-balance{display:flex;gap:15px;flex-wrap:wrap;color:#adb5bf;font-size:11px}
.payment-balance b{color:#fff}
.payment-state-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:6px 11px;
  border-radius:999px;
  font-size:10px;
  font-weight:950;
  white-space:nowrap;
}
.payment-state-badge-pending{background:rgba(255,98,107,.14);color:#ff9298}
.payment-state-badge-partial{background:rgba(244,176,0,.16);color:#ffd36b}
.payment-state-badge-paid{background:rgba(67,220,158,.19);color:#76efbe}
.payment-state-badge-exempt{background:rgba(75,145,255,.16);color:#9ac3ff}
.payment-editor label{font-size:10px!important;color:#aeb6c1!important;gap:7px!important}
.payment-editor input,.payment-editor select{
  min-height:48px!important;
  border-radius:14px!important;
  padding:11px 13px!important;
  font-size:14px!important;
  background:#222832!important;
  border:1px solid rgba(255,255,255,.1)!important;
}
.payment-editor .payment-amount input{font-size:17px!important;font-weight:950!important}
.payment-save{
  grid-column:1/-1;
  min-height:46px!important;
  width:100%!important;
  border-radius:14px!important;
  margin-top:2px;
}
.payment-editor.payment-state-pending::before{background:#ff6f78}
.payment-editor.payment-state-partial::before{background:#f4b000}
.payment-editor.payment-state-exempt::before{background:#4b91ff}

/* Cuando la vivienda ha pagado todo, la tarjeta completa queda verde */
.payment-editor.payment-state-paid{
  background:linear-gradient(135deg,rgba(20,105,75,.92),rgba(14,65,50,.95))!important;
  border-color:rgba(95,238,184,.58)!important;
  box-shadow:0 12px 30px rgba(14,120,82,.25),inset 0 0 0 1px rgba(117,244,195,.08)!important;
}
.payment-editor.payment-state-paid::before{background:#65efb7;width:6px}
.payment-editor.payment-state-paid .payment-editor-title{border-bottom-color:rgba(139,245,205,.22)}
.payment-editor.payment-state-paid .payment-home-line strong,
.payment-editor.payment-state-paid .payment-balance b{color:#ecfff8!important}
.payment-editor.payment-state-paid .payment-editor-title>small,
.payment-editor.payment-state-paid .payment-balance,
.payment-editor.payment-state-paid label{color:#bcebd8!important}
.payment-editor.payment-state-paid input,
.payment-editor.payment-state-paid select{
  background:rgba(5,48,35,.55)!important;
  border-color:rgba(123,241,197,.35)!important;
  color:#fff!important;
}
.payment-editor.payment-state-paid .payment-save{
  background:linear-gradient(135deg,#76efbe,#3fd99c)!important;
  color:#073426!important;
  box-shadow:0 9px 22px rgba(40,211,145,.22)!important;
}

@media(max-width:760px){
  .payment-editor{grid-template-columns:1fr 1fr!important}
  .payment-editor-title,.payment-save{grid-column:1/-1!important}
  .payment-editor label:last-of-type{grid-column:1/-1}
}
@media(max-width:480px){
  .payment-editor{grid-template-columns:1fr!important;padding:14px!important}
  .payment-editor-title,.payment-save,.payment-editor label:last-of-type{grid-column:auto!important}
  .payment-home-line{align-items:flex-start}
  .payment-home-line strong{font-size:16px!important}
  .payment-state-badge{font-size:9px;padding:6px 9px}
  .payment-editor input,.payment-editor select{font-size:16px!important}
}


/* Reparto exacto de derramas */
.distribution-preview {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid rgba(214, 171, 73, .32);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(214, 171, 73, .10), rgba(255, 255, 255, .025));
}
.distribution-preview strong { color: #f3d27f; }
.distribution-preview span { color: var(--muted); line-height: 1.45; }


/* Confirmación reforzada para borrar una vivienda */
body.delete-confirm-open{overflow:hidden}
.delete-confirm-backdrop{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.76);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s ease}
.delete-confirm-backdrop.open{opacity:1;pointer-events:auto}
.delete-confirm-modal{position:fixed;z-index:121;left:50%;top:50%;width:min(calc(100% - 28px),470px);transform:translate(-50%,-44%) scale(.97);padding:26px;border-radius:24px;background:linear-gradient(155deg,#242b35,#15191f);border:1px solid rgba(255,98,107,.42);box-shadow:0 28px 90px rgba(0,0,0,.62);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.delete-confirm-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.delete-confirm-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:15px;border-radius:17px;background:rgba(255,98,107,.14);border:1px solid rgba(255,98,107,.42);color:#ff8d94;font-size:28px;font-weight:1000}
.delete-confirm-modal h2{margin:6px 0 10px;font-size:24px;line-height:1.15;color:#fff}
.delete-confirm-modal p{margin:7px 0;color:#c9ced5;font-size:13px;line-height:1.55}
.delete-confirm-modal p strong{color:#fff}
.delete-confirm-warning{color:#ff9da3!important;font-weight:900}
.danger-text{color:#ff8d94}
.delete-confirm-label{display:block;margin-top:18px;color:#e9edf2;font-size:12px;font-weight:800}
.delete-confirm-input{width:100%;margin-top:8px;min-height:52px;padding:13px 15px;border-radius:15px;border:1px solid rgba(255,98,107,.45);background:#11161c;color:#fff;font-size:17px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;outline:none}
.delete-confirm-input:focus{border-color:#ff6a73;box-shadow:0 0 0 4px rgba(255,98,107,.11)}
.delete-confirm-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:18px}
.delete-confirm-actions .secondary,.delete-confirm-actions .danger{min-height:48px}
.delete-confirm-submit{background:linear-gradient(145deg,#ff6a73,#cf2f3b);color:#fff;border-color:transparent;box-shadow:0 10px 28px rgba(207,47,59,.22)}
.delete-confirm-submit:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
@media(max-width:520px){.delete-confirm-modal{padding:22px 18px;border-radius:22px}.delete-confirm-actions{grid-template-columns:1fr}.delete-confirm-actions .danger{order:-1}}
