.client-access-page .client-access-input > input,
.client-access-page .client-access-input > input.form-control {
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    color:#f5f8ff !important;
    background:transparent !important;
    font:inherit !important;
}

.client-access-page .client-access-input > input:-webkit-autofill,
.client-access-page .client-access-input > input:-webkit-autofill:hover,
.client-access-page .client-access-input > input:-webkit-autofill:focus {
    -webkit-text-fill-color:#f5f8ff !important;
    -webkit-box-shadow:0 0 0 1000px transparent inset !important;
    transition:background-color 9999s ease-out 0s;
}

/* El acceso tampoco hace crecer el documento: la tarjeta absorbe el contenido largo. */
html:has(.client-access-page), body:has(.client-access-page) { height:100%; overflow:hidden; }
.client-access-page { height:100dvh; min-height:0; display:grid; grid-template-rows:85px minmax(0,1fr) auto; overflow:hidden; }
.client-access-page .client-access-main { width:min(1100px,90vw); min-height:0; height:auto; margin:0 auto; padding:clamp(.75rem,3vh,2rem) 0; overflow:hidden; }
.client-access-page .client-access-brand, .client-access-page .client-access-card { min-height:0; max-height:100%; }
.client-access-page .client-access-card { overflow:auto; overscroll-behavior:contain; }
.client-access-page .client-access-footer { padding:0 1rem 1.2rem; }
@media (max-height:800px) and (min-width:801px) { .client-access-page .client-access-main { gap:3rem; padding:.75rem 0; } .client-access-page .client-access-brand-mark { width:110px; margin-bottom:.8rem; } .client-access-page .client-access-brand h1 { font-size:clamp(1.8rem,3vw,2.8rem); } .client-access-page .client-access-brand p { margin-top:.8rem; line-height:1.45; } .client-access-page .client-access-card { padding:1.35rem 2rem; border-radius:20px; } .client-access-page .client-access-card-icon { width:56px; height:56px; margin-bottom:.7rem; font-size:1.7rem; } .client-access-page .client-access-lead { margin:.55rem auto 1rem; } .client-access-page .client-access-help { margin-top:1rem; padding-top:.8rem; } }
@media (max-width:800px) { .client-access-page { grid-template-rows:70px minmax(0,1fr) auto; overflow:hidden !important; } .client-access-page .client-access-main { grid-template-columns:1fr; width:min(620px,92vw); padding:1rem 0; } .client-access-page .client-access-brand { display:none; } .client-access-page .client-access-card { justify-self:stretch; } .client-access-page .client-access-footer { flex-direction:row; flex-wrap:wrap; gap:.4rem 1.25rem; padding:.4rem 1rem .8rem; font-size:.78rem; } }
