html,body{min-height:100%}
body.auth-page{margin:0;background:#f6fbff;color:#24364b;font-family:Arial,sans-serif}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px;background:#f6fbff}
.auth-card{width:min(100%,460px);background:#fff;border:1px solid #dce9f2;border-radius:22px;box-shadow:0 18px 55px rgba(26,74,112,.12);padding:30px}
.auth-brand{text-align:center;margin-bottom:8px}
.auth-logo{width:180px;max-width:55%;height:auto;object-fit:contain}
.auth-heading{text-align:center;margin-bottom:22px}
.auth-heading h1{font-size:1.45rem;margin:10px 0 6px;color:#005cb9;font-weight:700}
.auth-heading p{margin:0;color:#6f7f90;font-size:.9rem}
.auth-card .form-label{font-size:.82rem;font-weight:600;margin-bottom:6px}
.auth-card .form-control{min-height:44px;border-radius:12px;border:1px solid #cfdde8;box-shadow:none}
.auth-card .form-control:focus{border-color:#1ecad3;box-shadow:0 0 0 .18rem rgba(30,202,211,.12)}
.auth-card .form-control.is-field-invalid{border-color:#dc3545!important;background:#fff7f8;box-shadow:0 0 0 .15rem rgba(220,53,69,.08)}
.auth-card .form-control.is-field-invalid:focus{border-color:#dc3545!important;box-shadow:0 0 0 .2rem rgba(220,53,69,.12)}
.field-warning{display:none;margin-top:5px;color:#dc3545;font-size:.75rem;line-height:1.3}
.field-warning.show{display:block}
.auth-options{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:4px 0 18px}
.auth-links{text-align:center;font-size:.84rem;line-height:1.8;margin-top:18px;color:#66798c}
.auth-links a{color:#005cb9;text-decoration:none;font-weight:600}
.auth-links a:hover{text-decoration:underline}
.auth-message{display:none;margin-bottom:16px}
.auth-message.show{display:block}
.btn-softys-auth{border:1px solid #bfeef2!important;color:#fff!important;background:linear-gradient(90deg,#005cb9,#1ecad3)!important;border-radius:999px!important;min-height:44px;font-weight:600}
.btn-softys-auth:hover,.btn-softys-auth:focus{background:linear-gradient(90deg,#1ecad3,#005cb9)!important;color:#fff!important}
.password-wrap{position:relative}
.password-wrap .form-control{padding-right:46px}
.password-toggle{position:absolute;right:5px;top:5px;border:0;background:transparent;width:36px;height:34px;color:#60758a;border-radius:50%}
.password-toggle.active{color:#005cb9}
.auth-note{font-size:.75rem;color:#77899a}
.auth-provider{display:flex;justify-content:center;align-items:center;margin:20px auto 8px}
.auth-provider img{display:block;width:130px;max-width:45%;height:auto;object-fit:contain}
.auth-help{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:.72rem;color:#8292a1}
.auth-help>a:not(.whatsapp-float){color:#60758a;text-decoration:none}
.whatsapp-float{position:fixed;right:24px;bottom:24px;width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.16);z-index:1050}
.whatsapp-float img{width:30px;height:30px;object-fit:contain}
@media(max-width:520px){.auth-card{padding:22px;border-radius:18px}.auth-shell{padding:18px 12px}.whatsapp-float{right:16px;bottom:16px}}
