:root{font-family:system-ui,-apple-system,sans-serif;color:#24364b;background:#f4f7fb;font-size:16px}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:24px 6%;background:white;border-bottom:1px solid #d9e4ef}.brand{display:flex;gap:18px;align-items:center;color:inherit;text-decoration:none;font-size:48px;font-weight:800;letter-spacing:-5px}.brand span{font-size:12px;letter-spacing:2px;line-height:1.8;font-weight:400}.pill{border-radius:30px;padding:10px 18px;background:#e5eef9;font-size:13px}main{max-width:1100px;margin:50px auto;padding:0 24px;min-height:65vh}.panel{background:#fff;border:1px solid #d4dfeb;border-radius:20px;padding:40px;margin-bottom:28px}#auth{max-width:620px;margin:auto}h1{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-1.5px;margin:18px 0}h2{letter-spacing:-.5px}p{line-height:1.6;color:#5f7590}.eyebrow{letter-spacing:3px;font-size:12px;font-weight:700;color:#637fa2}nav,.links{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}button{font:inherit;cursor:pointer;background:#eef4fc;border:1px solid #c7d7ea;color:#355b85;border-radius:9px;padding:12px 18px;font-weight:600}button:hover{background:#dfeafb}button:disabled{opacity:.6;cursor:wait}.primary{background:#416c9e;color:#fff;width:100%;margin-top:18px}.primary:hover{background:#335a88}label{display:block;font-weight:600;margin:18px 0}input{display:block;width:100%;padding:15px;border:1px solid #bdcddd;border-radius:9px;font:inherit;margin-top:9px;background:#f9fbfe}small,.fine{display:block;font-size:13px;color:#627994;line-height:1.6;margin-top:8px}.check{display:flex;gap:12px;font-size:13px;font-weight:400;line-height:1.6}.check input{width:18px;flex-shrink:0}.links button{border:0;background:none;padding:0;font-size:13px;text-decoration:underline}#message{max-width:700px;margin:24px auto;padding:16px;border-radius:10px;background:#e3edfa}#message:empty{display:none}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.hero{background:linear-gradient(120deg,#d7e6f6,#b5cce7);padding:32px;border-radius:18px;margin:25px 0 40px}.hero h2{font-size:30px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px}.card{padding:25px;background:white;border:1px solid #d4dfeb;border-radius:15px}.card small{margin-bottom:12px}dialog{border:1px solid #c7d7ea;border-radius:20px;padding:35px;width:min(600px,90vw)}dialog::backdrop{background:#23395088}#close{float:right}footer{text-align:center;padding:30px;color:#627994;font-size:13px}a{color:#416c9e}:focus-visible{outline:3px solid #739ac8;outline-offset:3px}[hidden]{display:none!important}@media(max-width:600px){header{padding:18px}.pill{max-width:130px;text-align:center}main{margin:25px auto;padding:0 15px}.panel{padding:25px}.heading{align-items:start;flex-direction:column}}

.password-field{margin:18px 0}.password-field label{margin:0}.password-wrap{position:relative;margin-top:9px}.password-wrap input{margin-top:0;padding-right:60px}.password-wrap button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:10px;background:transparent;border:0}.password-wrap svg{width:24px;height:24px;display:block}.eye-slash{display:none}#password-toggle[aria-pressed="true"] .eye-slash{display:block}

/* Formulario compacto y mensajes visibles junto a la acción. */
header{padding:14px 5%}.brand{font-size:38px}.brand span{font-size:10px}
main{margin:24px auto;min-height:0}#auth{max-width:540px;padding:24px 28px}
#auth h1{font-size:clamp(26px,3vw,34px);margin:10px 0;letter-spacing:-1px}
#auth .eyebrow{margin:0;font-size:11px}#intro{margin:10px 0;line-height:1.45}
#auth nav{gap:10px;margin:16px 0}#auth nav button{padding:10px 14px}
#auth label,#auth .password-field{margin:12px 0}#auth .password-field label{margin:0}
#auth input:not([type="checkbox"]){padding:11px 13px;margin-top:6px;min-height:44px}
#auth .password-wrap input{margin-top:0;padding-right:56px}
#auth .password-wrap{margin-top:6px}#auth small{margin-top:4px}
#auth .primary{margin-top:10px;padding:10px 16px;min-height:44px}
#auth .links{gap:10px 16px;margin:16px 0}#auth .links button{min-height:32px}
#auth .fine{margin:12px 0 0;font-size:12px;line-height:1.45}
#auth #message{margin:12px 0 0;padding:10px 12px;font-size:14px;line-height:1.4}
footer{padding:16px;font-size:12px}
@media(max-width:600px){header{padding:12px 16px}main{margin:16px auto}#auth{padding:20px}.brand{font-size:34px}}
@media(max-height:800px) and (min-width:601px){main{margin:14px auto}#auth{padding:20px 26px}#auth nav{margin:12px 0}#auth .links{margin:10px 0}footer{padding:10px}}

/* Registro compacto: conserva todos los campos y el texto de consentimiento. */
#auth[data-mode="register"]{max-width:640px;padding:20px 26px}
#auth[data-mode="register"] h1{font-size:clamp(25px,3vw,30px);margin:8px 0}
#auth[data-mode="register"] #intro{font-size:14px;line-height:1.4;margin:8px 0}
#auth[data-mode="register"] nav{margin:12px 0;gap:8px}
#auth[data-mode="register"] nav button{padding:8px 12px;min-height:44px}
#auth[data-mode="register"] #form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px}
#auth[data-mode="register"] #form>label,#auth[data-mode="register"] .password-field{margin:0;min-width:0}
#auth[data-mode="register"] #password-label,#auth[data-mode="register"] #terms-label,#auth[data-mode="register"] #submit,#auth[data-mode="register"] #message{grid-column:1/-1}
#auth[data-mode="register"] #terms-label{align-items:flex-start;font-size:12px;line-height:1.4;gap:10px;margin:2px 0}
#auth[data-mode="register"] #terms-label input{margin:2px 0 0;height:18px;padding:0}
#auth[data-mode="register"] #submit{margin-top:2px}
#auth[data-mode="register"] .links{margin:10px 0}
#auth[data-mode="register"] .fine{margin-top:8px;line-height:1.4}
@media(max-width:520px){#auth[data-mode="register"]{padding:18px}#auth[data-mode="register"] #form{grid-template-columns:minmax(0,1fr);gap:10px}}

/* Acceso: marca del club y pestañas de igual anchura. */
#auth .auth-brand{margin:0 0 14px;gap:18px}
#auth .auth-brand .auth-brand-mark{font-family:Manrope,'DM Sans',sans-serif;font-size:41px;font-weight:700;letter-spacing:-5px;line-height:1;padding-right:10px}
#auth .auth-brand>span:last-child{font-size:10px;letter-spacing:1.6px;line-height:1.8}
#auth .auth-brand strong{font-size:12px}
#auth[data-mode="login"] #title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#auth nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:max-content;max-width:100%}
#auth nav button{min-width:0;min-height:44px;text-align:center}

.brand .club-logo{display:block;width:190px;max-width:100%;height:auto;object-fit:contain}
#auth .auth-brand .club-logo{width:250px}
@media(max-width:600px){header .brand .club-logo{width:160px}}

/* Cabecera y acceso compactos, sin alturas que recorten el contenido. */
body>header{padding:6px 5%;min-height:0}
header .brand .club-logo{width:145px}
main{margin:12px auto}
#auth{padding:18px 24px}
#auth .auth-brand{margin-bottom:8px}
#auth .auth-brand .club-logo{width:210px}
#auth nav{margin:10px 0}
#auth .links{margin:10px 0}
#auth[data-mode="register"] .privacy-summary{grid-column:1/-1}
@media(max-width:600px){body>header{padding:6px 16px}header .brand .club-logo{width:130px}main{margin:10px auto}#auth{padding:16px 18px}}
