
/* Scoped to the login page: shared screens and authentication remain unchanged. */
.login-refresh.auth-shell{min-height:100dvh;grid-template-columns:1fr 1fr;background:#f1f7f9;color:#10284b}
.login-refresh .auth-visual{background:linear-gradient(145deg,#073e51,#07586c);border:0;padding:clamp(32px,5vw,80px);color:#fff;gap:0}
.login-refresh .auth-visual:after{display:block;width:360px;height:360px;border-color:#ffffff12;pointer-events:none}
.login-refresh .auth-vozze-logo{width:min(310px,80%);margin:0 0 36px;background:#f1f7f9;padding:22px;border-radius:20px;box-sizing:border-box}
.login-refresh .auth-eyebrow{font-size:.68rem;font-weight:650;letter-spacing:.15em;color:#95ded8}
.login-refresh .auth-clock{font-size:clamp(2.4rem,4vw,3.5rem);color:#55dfc6;margin:14px 0 8px;line-height:1.1}
.login-refresh .auth-visual h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.2;max-width:510px;margin:8px 0 18px;letter-spacing:-.025em}
.login-refresh .auth-visual p{color:#c6dfe6;font-size:.96rem;line-height:1.75;max-width:480px;margin:0;position:relative;z-index:1}
.login-refresh .auth-form-side{padding:40px;place-items:center;background:radial-gradient(ellipse at top right,#e2f5f1,transparent 65%),#f1f7f9}
.login-refresh .auth-form{width:min(100%,430px);box-sizing:border-box;padding:40px;background:#fff;border:1px solid #dfebf2;border-radius:20px;box-shadow:0 14px 45px #073e5109}
.login-refresh .auth-welcome{display:block;color:#087783;font-size:.66rem;letter-spacing:.1em;font-weight:700;margin-bottom:14px}
.login-refresh .auth-form h1{color:#10284b;font-size:1.8rem;letter-spacing:-.025em;margin:0}
.login-refresh .auth-form .subtitle{color:#557297;font-size:.88rem;line-height:1.6;margin:10px 0 30px}
.login-refresh .field{margin-bottom:20px}
.login-refresh .field label{color:#294563;font-size:.8rem;font-weight:600;margin-bottom:8px}
.login-refresh .field input{min-height:48px;border:1px solid #d4e2eb;border-radius:9px;background:#f8fbfd;font-size:.94rem;padding:12px;color:#10284b}
.login-refresh .field input:focus{outline:2px solid #008e89;outline-offset:2px;border-color:#008e89}
.login-refresh .btn-primary{min-height:48px;background:#086382;border:1px solid #086382;border-radius:9px;font-size:.9rem;margin-top:6px}
.login-refresh .btn-primary:hover{background:#074c65}
.login-refresh .btn-primary:focus-visible{outline:3px solid #008e89;outline-offset:3px}
@media(max-width:850px){
 .login-refresh.auth-shell{grid-template-columns:1fr}
 .login-refresh .auth-visual{display:flex;padding:28px 24px}
 .login-refresh .auth-vozze-logo{width:155px;padding:10px;margin:0 0 18px;border-radius:12px}
 .login-refresh .auth-clock,.login-refresh .auth-eyebrow{display:none}
 .login-refresh .auth-visual h2{font-size:1.45rem;margin:0 0 12px}
 .login-refresh .auth-visual p{font-size:.84rem;max-width:100%}
 .login-refresh .auth-form-side{padding:28px 20px}
 .login-refresh .auth-form{padding:28px}
}
@media(max-height:750px) and (min-width:851px){
 .login-refresh .auth-visual{padding:32px 5vw}
 .login-refresh .auth-vozze-logo{width:210px;margin-bottom:20px;padding:14px}
 .login-refresh .auth-clock{font-size:2.5rem}
}

.login-refresh .login-brand{display:flex;align-items:center;gap:13px;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid #ffffff26}
.login-refresh .login-brand img{width:54px;height:54px;object-fit:contain;background:none}
.login-refresh .login-brand strong{display:block;color:#fff;font-size:1.55rem;line-height:1.2}
.login-refresh .login-brand span{display:block;color:#b8d9e2;font-size:.86rem;margin-top:3px}
.login-refresh .auth-visual h2{font-size:clamp(1.45rem,2.2vw,2rem);max-width:420px}
.login-refresh .auth-visual p{font-size:.9rem}
.login-refresh .login-notice{margin:0 0 22px;padding:12px;font-size:.8rem}
@media(max-width:850px){.login-refresh .login-brand{margin-bottom:20px;padding-bottom:16px}.login-refresh .login-brand img{width:42px;height:42px}}

/* Non-blocking commercial notice, confined to the visual half on desktop. */
.login-contact-notice{position:fixed;z-index:20;left:clamp(20px,4vw,64px);bottom:24px;width:min(470px,calc(50vw - 80px));box-sizing:border-box;padding:22px 24px;background:#fff;color:#10284b;border:1px solid #d4e6eb;border-radius:16px;box-shadow:0 12px 36px #032d4930;animation:login-contact-in .5s ease-out both}
.login-contact-eyebrow{display:block;margin:0 28px 9px 0;color:#087783;font-size:.66rem;font-weight:750;letter-spacing:.09em}
.login-contact-notice h2{font-size:1.05rem;line-height:1.4;margin:0 22px 10px 0;color:#10284b}
.login-contact-message{font-size:.85rem;line-height:1.6;margin:0 0 16px;color:#526b83;animation:login-contact-text .7s .2s ease-out both}
.login-contact-close{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#526b83;font-size:25px;cursor:pointer}
.login-contact-close:hover{background:#edf5f7}.login-contact-close:focus-visible,.login-contact-actions a:focus-visible,.login-contact-reopen:focus-visible{outline:3px solid #008e89;outline-offset:3px}
.login-contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:10px}
.login-contact-whatsapp{display:inline-block;background:#086382;color:#fff;padding:10px 13px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:650;line-height:1.4}.login-contact-whatsapp:hover{background:#074c65;color:#fff}
.login-contact-phone{font-size:.82rem;color:#086382;text-decoration:none}.login-contact-phone:hover{text-decoration:underline}
.login-contact-reopen{position:fixed;bottom:20px;left:24px;z-index:20;border:1px solid #d4e6eb;border-radius:24px;background:#fff;color:#086382;padding:12px 18px;box-shadow:0 6px 20px #032d4920;cursor:pointer}
.login-contact-notice[hidden],.login-contact-reopen[hidden]{display:none!important}
@keyframes login-contact-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes login-contact-text{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px),(max-height:800px){.login-contact-notice{position:relative;left:auto;bottom:auto;width:calc(100% - 40px);max-width:600px;margin:0 auto 24px}.login-contact-reopen{position:relative;left:auto;bottom:auto;display:block;margin:0 auto 20px}}
@media(prefers-reduced-motion:reduce){.login-contact-notice,.login-contact-message{animation:none}}

@media(min-width:851px) and (min-height:801px){.login-refresh .auth-visual{padding-bottom:300px}}
