.client-login-dialog { width:440px; max-width:calc(100vw - 2rem); max-height:calc(100dvh - 2rem); margin:auto; padding:2rem; border:0; border-top:4px solid var(--mk-red); border-radius:5px; color:#333; background:#fff; box-shadow:0 15px 60px #0003; overflow:auto; }
.client-login-dialog:not([open]) { display:none; }
.client-login-dialog::backdrop { background:rgb(0 15 25 / 62%); }
body:has(.client-login-dialog[open]) { overflow:hidden; }
.client-login-eyebrow { font-size:.9rem; color:var(--mk-red); margin:0 0 .65rem; font-weight:600; }
.client-login-dialog h2 { margin:0 1.4rem .65rem 0; font-family:'Barlow',sans-serif; font-weight:600; font-size:1.85rem; color:#0c3048; }
.client-login-dialog #client-modal-intro { color:#62696c; line-height:1.5; font-size:1rem; margin-bottom:1.25rem; }
.client-login-close { position:absolute; top:.35rem; right:.35rem; width:44px; height:44px; border:0; background:#fff; color:var(--mk-red); font-size:1.1rem; }
.client-login-dialog label { display:block; font-weight:600; font-size:.95rem; margin-bottom:.35rem; }
.client-login-dialog .form-control { margin-bottom:1rem; border-radius:3px; padding:.65rem .75rem; min-height:46px; font:inherit; }
.client-login-dialog .form-control:focus { border-color:var(--mk-red); box-shadow:0 0 0 3px #951f201c; }
.client-login-dialog [aria-invalid=true] { border-color:#a71919; }
.client-login-submit { display:block; width:100%; min-height:46px; border:0; border-radius:3px; padding:.65rem 1rem; background:var(--mk-red); color:#fff; font-weight:600; }
.client-login-submit:hover { background:var(--mk-red-dark); }
.client-login-submit:disabled { opacity:.7; cursor:wait; }
.client-login-error { color:#9a1616; background:#fff1f0; border-left:3px solid #b52626; padding:.65rem .75rem; font-size:.95rem; line-height:1.4; }
.client-login-status { font-size:.9rem; color:#62696c; margin:0; }
.client-login-status:not(:empty) { margin-bottom:.75rem; }
.client-login-forgot { display:block; width:fit-content; padding:.75rem 0; font-size:.95rem; }
.client-login-first { padding-top:.9rem; margin-top:.2rem; border-top:1px solid #e2e5df; display:flex; justify-content:space-between; gap:.5rem; flex-wrap:wrap; font-size:.95rem; }
.client-login-full { display:block; width:fit-content; font-size:.85rem; padding:.75rem 0 0; color:#62696c; }
.client-login-dialog a:focus-visible,.client-login-dialog button:focus-visible { outline:3px solid var(--mk-red); outline-offset:3px; }
.client-login-notice { position:fixed; z-index:1200; bottom:1.5rem; left:50%; transform:translateX(-50%); background:#0c3048; color:white; padding:.75rem 1rem; border-radius:4px; box-shadow:0 3px 18px #0002; max-width:calc(100% - 2rem); text-align:center; pointer-events:none; }
@media(max-width:575.98px) { .client-login-dialog { padding:1.5rem 1.25rem; } .client-login-dialog h2 { font-size:1.65rem; } .client-login-notice { bottom:1rem; width:calc(100% - 6rem); } }
