:root{--brand:#145e75;--brand2:#0e4658;--bg:#f3f7f8;--text:#18313a;--muted:#637982;--line:#d7e2e5;--danger:#a72b35;--white:#fff}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.top{min-height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px max(20px,calc((100% - 1050px)/2))}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand img{width:48px;height:48px}.brand span{display:flex;flex-direction:column}.brand small{color:var(--muted)}.shell{max-width:1050px;margin:42px auto;padding:0 18px}.auth-card{max-width:470px;margin:70px auto;background:#fff;padding:34px;border-radius:22px;box-shadow:0 14px 45px #17495618;text-align:center}.auth-card .icon{font-size:44px}.auth-card h1{margin:8px 0}.auth-card p{color:var(--muted);line-height:1.55}label{display:flex;flex-direction:column;gap:7px;text-align:left;font-weight:650;color:#29444e}input,select,textarea{width:100%;border:1px solid #becdd2;border-radius:11px;padding:12px 13px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:3px solid #145e7520;border-color:var(--brand)}form{display:grid;gap:16px;margin-top:22px}.primary,.secondary,.danger,.ghost,.tabs button,.link-btn{border:0;border-radius:11px;padding:12px 16px;font-weight:750;cursor:pointer}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand2)}.secondary,.ghost{background:#e9f0f2;color:var(--brand)}.danger{background:var(--danger);color:#fff}.link-btn{background:transparent;color:var(--brand)}.small{padding:10px 14px}.message{min-height:22px;color:var(--muted)}.message.error{color:var(--danger)}.message.success{color:#167045}.notice{background:#eef7f9;padding:12px;border-radius:10px}.welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--brand),#26819b);color:#fff;padding:28px;border-radius:20px}.welcome h1{margin:4px 0}.welcome p{margin:0;opacity:.9}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem}.pill{background:#fff;color:#12627a;padding:7px 12px;border-radius:999px;font-weight:800}.tabs{display:flex;gap:8px;margin:18px 0;overflow:auto}.tabs button{white-space:nowrap;background:#e4ecef;color:#39555f}.tabs button.active{background:var(--brand);color:#fff}.tabs .danger-tab.active{background:var(--danger)}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px}.panel h2{margin-top:0}.readonly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.readonly-grid>div{background:#f2f6f7;padding:14px;border-radius:11px}.readonly-grid small{display:block;color:var(--muted);margin-bottom:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.hint{color:var(--muted);margin:0}.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.panel-head p{color:var(--muted);max-width:680px}.children-list{display:grid;gap:12px;margin:20px 0}.child-card{display:flex;justify-content:space-between;gap:15px;border:1px solid var(--line);padding:15px;border-radius:13px}.child-card h3{margin:0 0 5px}.child-card p{margin:2px 0;color:var(--muted)}.child-actions{display:flex;gap:7px;align-items:start}.child-actions button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer}.danger-panel{border-color:#efc9cd}.warning{background:#fff1f2;border:1px solid #efc9cd;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:5px;color:#81252e}.check{flex-direction:row;align-items:flex-start;font-weight:500}.check input{width:auto;margin-top:3px}dialog{border:0;padding:0;border-radius:18px;max-width:700px;width:calc(100% - 30px);box-shadow:0 25px 80px #0004}dialog::backdrop{background:#092f3c99}.dialog-card{padding:24px;margin:0}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.dialog-head button{font-size:28px;border:0;background:transparent;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.special{background:#f5f8f9;padding:15px;border-radius:12px;display:grid;gap:13px}@media(max-width:720px){.shell{margin-top:22px}.auth-card{margin:25px auto;padding:24px}.welcome{align-items:flex-start}.readonly-grid,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.readonly-grid{grid-template-columns:1fr 1fr}.child-card{flex-direction:column}.panel{padding:18px}.top{padding:10px 15px}.brand small{font-size:.72rem}}
.field-help{font-weight:500;color:var(--muted);line-height:1.35}.special h3{margin:0}.special fieldset{border:1px solid var(--line);border-radius:11px;padding:13px}.special legend{font-weight:750;padding:0 6px}.condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}.condition-grid .check{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px;align-items:center}.condition-grid .check input{margin:0;width:auto}.dialog-head button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;line-height:1}.dialog-head button:hover{background:#edf3f5}.dialog-head button:focus-visible{outline:3px solid #145e7535}.dialog-card{max-height:min(88vh,850px);overflow:auto}@media(max-width:720px){.condition-grid{grid-template-columns:1fr}}

/* SIGVE 3.0.2: dirección estructurada y estado de cuotas */
.dues-card{margin:18px 0 22px;border:1px solid var(--line);border-radius:14px;padding:17px;background:#f8fbfc}.dues-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px}.dues-card small{color:var(--muted);font-weight:750}.dues-card strong{font-size:1.05rem;color:#167045}.dues-card strong.pending{color:var(--danger)}.dues-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.dues-details span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;color:var(--muted);font-size:.84rem}.dues-details b{color:var(--text);font-size:1rem;margin-top:3px}.dues-card p{margin:12px 0 0;color:var(--muted);font-size:.82rem}.portal-address-block{display:grid;grid-template-columns:2fr 1fr;gap:14px}.portal-address-block .address-preview{grid-column:1/-1}.via-picker{position:relative}.via-suggestions{position:absolute;z-index:20;top:calc(100% + 5px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 35px #163b4826;max-height:240px;overflow:auto;padding:6px}.via-suggestion{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:8px;cursor:pointer;color:var(--text)}.via-suggestion:hover{background:#edf5f7}.via-empty{padding:10px;color:var(--muted)}.address-preview{margin:0;background:#eef7f9;border-radius:10px;padding:11px;color:var(--brand);font-weight:650}.via-picker.invalid input{border-color:var(--danger)}
@media(max-width:720px){.dues-details,.portal-address-block{grid-template-columns:1fr}.portal-address-block .address-preview{grid-column:auto}}

/* SIGVE v4.1 · Pago de cuotas en Portal Socio */
.payment-bank-card{background:#eef7f9;border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0}.payment-bank-card h3{margin:0 0 10px}.payment-bank-card p{margin:5px 0}.portal-quota-list{display:grid;gap:10px;margin:16px 0}.portal-quota-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff;cursor:pointer}.portal-quota-row input{width:20px;height:20px}.portal-quota-row span{display:flex;flex-direction:column}.portal-quota-row small{color:var(--muted);font-weight:500}.portal-quota-row strong{color:var(--brand)}.payment-total{display:flex;justify-content:space-between;align-items:center;background:#f5f8f9;border-radius:12px;padding:14px;margin:14px 0}.payment-total strong{font-size:1.3rem;color:var(--brand)}.success-notice{color:#167045}


/* SIGVE v5.0.1 · Arriendo de sede y beneficios en Portal Socio */
.benefits-summary{display:grid;gap:12px;margin:18px 0}.benefit-status{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.benefit-status.eligible{border-color:#a7d9bd;background:#f3fbf6}.benefit-status.pending{background:#f8fafb}.benefit-icon{font-size:2rem;line-height:1}.benefit-status h3{margin:0 0 5px}.benefit-status p{margin:4px 0;color:var(--muted)}.benefit-status .benefit-result{font-weight:800;color:var(--text)}.benefit-status small{display:block;margin-top:7px;color:var(--brand);font-weight:700}.rental-portal-note{margin:18px 0;padding:15px;border-radius:13px;background:#eef7f9;border:1px solid var(--line)}.rental-portal-note h3{margin:0 0 6px}.rental-portal-note p{margin:0;color:var(--muted);line-height:1.5}@media(max-width:620px){.benefit-status{grid-template-columns:1fr}.benefit-icon{font-size:1.7rem}}

.cert-recipient-box{border:1px solid #dbe3ea;border-radius:12px;padding:12px}.cert-recipient-box legend{font-weight:700;padding:0 6px}.cert-recipient-box .check{display:inline-flex;margin-right:18px}

/* SIGVE v5.4.2 · Formulario unificado de certificados */
.certificate-unified-form{display:grid;gap:16px;margin-top:18px}.certificate-form-section{border:1px solid var(--line);border-radius:15px;padding:17px;background:#fff}.certificate-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.certificate-section-heading>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e9f4f7;color:var(--brand);font-weight:850}.certificate-section-heading h3{margin:0;font-size:1rem;color:var(--text)}.certificate-section-heading p{margin:4px 0 0;color:var(--muted);font-size:.88rem;line-height:1.4}.certificate-person-grid,.certificate-purpose-grid{gap:14px}.certificate-wide-field{grid-column:1/-1}.certificate-form-actions{display:flex;justify-content:flex-end}.certificate-form-actions button{min-width:270px}.certificate-unified-form input[readonly]{background:#f1f5f6;color:#4f6871}.certificate-unified-form .cert-recipient-box{margin:0;background:#f8fbfc}.certificate-unified-form .cert-recipient-box .check{margin-top:8px}@media(max-width:720px){.certificate-form-section{padding:14px}.certificate-wide-field{grid-column:auto}.certificate-form-actions{justify-content:stretch}.certificate-form-actions button{width:100%;min-width:0}.certificate-unified-form .cert-recipient-box .check{display:flex;margin-right:0}}

/* SIGVE v5.6.2 · Arriendo integrado en Portal Socio */
.member-rental-calendar{margin-top:1.25rem;border:1px solid #d8e4e8;border-radius:18px;padding:1rem;background:#fff}
.member-calendar-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.member-calendar-head h3{margin:0 0 .25rem}.member-calendar-head p{margin:0;color:#647b86}
.member-calendar-legend{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.85rem}.member-calendar-legend span{display:flex;align-items:center;gap:.3rem}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.available{background:#22c55e}.dot.reserved{background:#ef4444}.dot.zumba{background:#8b5cf6}
.member-year-nav{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1rem 0}.member-year-nav strong{font-size:1.1rem}
.member-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.member-month-card{border:1px solid #dce7ea;border-radius:14px;padding:.8rem}.member-month-card h4{text-align:center;margin:.1rem 0 .7rem}
.member-month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.member-day-name{text-align:center;font-size:.72rem;font-weight:700;color:#64748b}
.member-calendar-day{border:0;border-radius:8px;min-height:34px;font-weight:700}.member-calendar-day.available{background:#dcfce7;color:#166534;cursor:pointer}.member-calendar-day.available:hover,.member-calendar-day.selected{outline:2px solid #15803d;background:#bbf7d0}.member-calendar-day.reserved{background:#fee2e2;color:#991b1b}.member-calendar-day.zumba{background:#ede9fe;color:#6d28d9}.member-calendar-day.past{background:#f1f5f9;color:#94a3b8}
.member-rental-selection{margin-top:1rem;border:1px solid #b9d8df;border-radius:16px;padding:1rem;background:#f7fbfc}.member-rental-selection h3{margin-top:0}.member-benefit-choice{margin:.8rem 0}.member-price-row{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid #dbe7ea}.member-price-row.total{font-size:1.08rem;border-bottom:0}.member-free-choice{display:flex!important;gap:.6rem;align-items:flex-start;margin-top:.7rem;padding:.75rem;border-radius:12px;background:#ecfdf5}.member-free-choice input{width:auto!important}.member-free-choice small{display:block;color:#64748b;margin-top:.15rem}
@media(max-width:900px){.member-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-calendar-head{display:block}.member-calendar-legend{margin-top:.7rem}}
@media(max-width:620px){.member-calendar-grid{grid-template-columns:1fr}.member-rental-calendar{padding:.7rem}}

/* SIGVE v5.6.3 · Elección opcional de beneficio */
.member-benefit-options{margin:.8rem 0}
.member-benefit-radio{display:flex!important;gap:.65rem;align-items:flex-start;padding:.75rem;margin:.5rem 0;border:1px solid #dbe7ea;border-radius:12px;background:#fff;cursor:pointer}
.member-benefit-radio input{width:auto!important;margin-top:.2rem}
.member-benefit-radio span,.member-benefit-radio strong,.member-benefit-radio small{display:block}
.member-benefit-radio small{margin-top:.15rem;color:#64748b}
.member-benefit-radio:has(input:checked){border-color:#16827a;background:#f0fdfa}
