.customer-page{background:#f5f7fa;color:var(--ink,#18395a);min-height:100vh}
.customer-header{background:#fff;border-bottom:1px solid #e3e8ef}.customer-top{max-width:1090px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px}
.customer-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy,#18395a)}.customer-brand strong,.customer-brand small{display:block}.customer-brand small{font-size:10px;letter-spacing:2px;color:#77869b}
.customer-mark{width:48px;height:48px;background:var(--navy,#18395a);color:var(--gold,#ffc174);border-radius:12px;font-size:26px;font-weight:800;display:grid;place-items:center;overflow:hidden}.customer-mark img{width:100%;height:100%;object-fit:contain}
.customer-back{color:var(--navy,#18395a);font-size:14px;font-weight:700;text-decoration:none}.customer-main{max-width:760px;margin:38px auto 70px;padding:0 20px}.customer-intro h1{font-size:clamp(28px,4vw,40px);margin:8px 0}.customer-intro p{line-height:1.7;color:#5e6b78;max-width:700px}.customer-eyebrow{letter-spacing:1.6px;color:#a66c20;font-weight:800;font-size:12px}
.customer-panel{background:#fff;border:1px solid #e5e9ee;border-radius:16px;padding:30px;margin-top:25px;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.customer-tabs{display:flex;gap:8px;border-bottom:1px solid #e1e7ed;margin-bottom:24px}.customer-tabs button{background:none;border:0;padding:12px 18px;cursor:pointer;font-weight:700;color:#5d6b7e}.customer-tabs button.active{border-bottom:3px solid var(--navy,#18395a);color:var(--navy,#18395a)}
.customer-form{display:grid;gap:10px}.customer-form h2{font-size:22px;margin:0 0 10px}.customer-form label{font-size:13px;font-weight:700;margin-top:8px}.customer-form input{height:44px;border:1px solid #c9d3db;border-radius:9px;padding:11px 13px;font-size:15px}.customer-form input:focus{outline:2px solid var(--gold,#ffc174);outline-offset:1px}.customer-form button,.account-actions a{border:0;background:var(--navy,#18395a);color:#fff;border-radius:9px;font-weight:750;cursor:pointer;padding:14px 18px;margin-top:14px;text-align:center;text-decoration:none}.customer-form button:disabled{opacity:.6}
.customer-advice,.customer-info{font-size:13px;color:#637281;line-height:1.65}.customer-info{margin-top:23px}.customer-message{padding:12px 16px;border-radius:9px;min-height:1.2em}.customer-message:empty{display:none}.message-error{background:#ffeded;color:#9b2b2b}.message-ok{background:#e7f5ed;color:#116d46}
.account-panel h2{font-size:25px;margin:10px 0 0}.account-panel p{color:#586674}.customer-status{padding:13px;border-radius:9px;font-weight:700;background:#eef3f8;color:#42566c}.customer-status.approved{background:#e7f5ed;color:#10754a}.account-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.account-actions button{background:#fff;border:1px solid #bfcad3;border-radius:9px;padding:11px 18px;cursor:pointer}.account-actions a{margin:0}
@media(max-width:500px){.customer-top{padding:14px}.customer-back{font-size:12px}.customer-panel{padding:21px}.customer-main{margin-top:24px}}
/* El display:grid de los formularios no debe anular la semántica de hidden. */
.customer-page [hidden]{display:none!important}

/* Fase 4.6: cambio de contraseña después de un restablecimiento. */
.customer-password-section{border-top:1px solid #e6edf2;margin-top:25px;padding-top:19px}
.customer-password-section details{background:#f7fafc;border:1px solid #dce6ee;padding:16px;border-radius:12px}
.customer-password-section summary{cursor:pointer;font-weight:800;color:#18395a}
.customer-password-section form{margin-top:15px}
.customer-password-required{border-left:3px solid #d08a2b;padding:10px;background:#fff5df;color:#6c4c1c!important}
/* Fase 4.2: perfil fiscal opcional, sin campos fiscales obligatorios. */
.customer-register-kind{border:1px solid #d8e3ec;border-radius:10px;padding:14px;display:flex;gap:15px;flex-wrap:wrap}
.customer-register-kind legend{font-weight:800;font-size:13px;padding:0 7px}
.customer-register-kind label{display:flex;align-items:center;gap:7px;margin:0;cursor:pointer}
.customer-register-kind input{height:auto;width:auto}
.customer-register-kind small{width:100%;line-height:1.5;color:#637281}
.customer-fiscal-details{border:1px solid #dce7ed;border-radius:12px;padding:16px;margin:10px 0}
.customer-fiscal-details summary{cursor:pointer;font-weight:800}
.customer-fiscal-details small{display:block;color:#637281;line-height:1.5;margin-top:12px}
.customer-fiscal-section{border-top:1px solid #e6edf2;margin-top:28px;padding-top:24px}
.customer-fiscal-section h3{margin:7px 0;font-size:21px}
.fiscal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px;margin-top:15px}
.fiscal-grid label{min-width:0;font-size:12px;font-weight:700;display:grid;gap:6px;color:#426078}
.fiscal-grid input{width:100%;min-width:0}
@media(max-width:600px){.fiscal-grid{grid-template-columns:1fr}}

.customer-status.web_active{background:#e9efff;color:#23557e}

.registration-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
#registrationChallenge{min-height:65px;margin:10px 0;}
