/* Login page mirrors the standalone signup design. */
:root{--login-teal:#12b6aa;--login-teal-dark:#07998d;--login-black:#075f59}
body:has(.login-page){background:#eef1f1!important;overflow-x:hidden}
body:has(.login-page)>.topbar,body:has(.login-page)>.footer{display:none!important}
body:has(.login-page) .shell{display:block;width:100%;min-height:100dvh;margin:0!important}
body:has(.login-page) .main-auth{display:grid;width:100%;max-width:none;min-height:100dvh;margin:0!important;padding:0!important;place-items:start center;background:#eef1f1!important}
.login-page{position:relative;width:min(430px,100%);min-height:100dvh;margin:0;overflow:hidden;background:var(--login-teal);box-shadow:0 12px 35px rgba(0,0,0,.16)}
.login-hero{position:relative;width:100%;height:clamp(185px,32vh,250px);overflow:hidden;background:#063c3a}
.login-hero:after{content:"";position:absolute;z-index:1;inset:35% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(18,182,170,.12) 34%,rgba(18,182,170,.72) 78%,var(--login-teal) 100%);pointer-events:none}
.login-banner-image{display:block;position:relative;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}
.login-brand-logo{display:none!important}
.login-language-control{position:absolute;z-index:7;top:12px;right:12px}
.login-language-toggle{min-width:96px;padding:8px 13px;border:2px solid var(--login-black);border-radius:7px;background:#fff;color:#075f59;font:inherit;font-size:13px;cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,.14)}
.login-language-menu{display:none;position:absolute;z-index:8;top:calc(100% + 6px);right:0;min-width:105px;padding:5px;border:2px solid var(--login-black);border-radius:7px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.login-language-menu.open{display:grid;gap:3px}
.login-language-menu button{padding:8px 10px;border:0;border-radius:4px;background:#fff;color:var(--login-black);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.login-language-menu button:hover{background:#f1f1f1}
.login-form-panel{position:relative;z-index:2;width:100%;margin:0;padding:13px 20px 24px;background:linear-gradient(180deg,var(--login-teal) 0%,var(--login-teal-dark) 100%);color:#fff}
.login-title{margin:0 0 15px;color:var(--login-black);font-size:21px;font-weight:700;line-height:1.2}
.login-error{margin:0 0 14px!important;padding:10px 12px!important;border:2px solid var(--login-black);background:#fff!important;color:var(--login-black)!important}
.login-fields{display:grid;grid-template-columns:1fr;gap:11px}
.login-field{min-width:0;margin:0}
.login-field>label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.login-input{display:grid;align-items:center;min-height:44px;overflow:hidden;border:2px solid var(--login-black);border-radius:9px;background:#fff;box-shadow:0 2px 0 rgba(0,0,0,.1)}
.login-input:focus-within{box-shadow:0 0 0 3px rgba(255,255,255,.45)}
.login-input input{min-width:0;min-height:40px;padding:0 12px;border:0!important;background:transparent!important;color:#303030;font:inherit;font-size:14px;outline:0;box-shadow:none!important}
.login-input input::placeholder{color:#808080;opacity:1}
.login-phone-input{grid-template-columns:62px 1fr}
.login-phone-input>span{display:grid;height:28px;border-right:2px solid var(--login-black);color:#222;font-size:14px;place-items:center}
.login-password-input{grid-template-columns:1fr 42px}
.login-password-input>span{display:none}
.login-password-input>button{width:42px;height:40px;padding:0;border:0;background:transparent;color:#7f8d8c;cursor:pointer}
.login-password-input>button svg{width:19px;height:19px}
.login-submit{display:block;width:100%;min-height:48px;margin-top:2px;padding:0 18px;border:2px solid var(--login-black);border-radius:30px;background:linear-gradient(180deg,#087f75,#054c47)!important;color:#fff!important;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 8px 15px rgba(2,73,67,.28)!important}
.login-create{display:flex;justify-content:center;margin:14px 0 0;text-align:center}
.login-create a{color:var(--login-black)!important;font-size:13px;font-weight:600;text-decoration:none}
@media(max-width:380px){.login-form-panel{padding-right:16px;padding-left:16px}.login-title{font-size:19px}.login-fields{gap:9px}}
