/* Login presentation only: shared by password, employee, channel and code steps. */
.login-scene{--login-primary:#146b7b;--login-primary-dark:#105765;--login-ink:#173f48;--login-ivory:#f8f6f4;--login-gold:#c5a46d;color:var(--login-ink);}
.login-scene .auth-page{padding:36px clamp(24px,4vw,76px);overflow:visible;}
.login-scene .auth-card{box-sizing:border-box;width:350px;padding:20px 23px;border:1px solid #ffffffc4;border-radius:25px;background:linear-gradient(145deg,#ffffffe8,#f4f8f6d6);box-shadow:0 20px 55px #173f481c,0 3px 12px #173f480a,inset 0 1px 0 #fff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);}
.login-scene .auth-card::before{width:72px;left:calc(50% - 36px);height:1px;background:#c5a46d80;}
.login-scene .auth-language{padding:3px;border:1px solid #dce7e6;background:#edf3f1b3;border-radius:12px;}
.login-scene .auth-language a{min-height:28px;padding:5px 12px;color:#766c68;font-size:11px;}
.login-scene .auth-language a.is-current{background:#146b7b0c;color:#146b7b;box-shadow:0 1px 4px #146b7b09;}
.login-scene .auth-language a:hover{background:#146b7b08;color:#146b7b;}
.login-scene .auth-brand{margin:18px 0;padding-inline-start:12px;border-inline-start:2px solid #c5a46d75;}
.login-scene .auth-eyebrow{font-size:12px;font-weight:700;color:#8c7353;letter-spacing:0;margin-bottom:7px;}
.login-scene .auth-eyebrow::before{display:none;}
.login-scene .auth-brand h1{font-size:26px;line-height:1.35;font-weight:800;letter-spacing:-.02em;color:#146b7b;animation:luxury-content-in .45s .08s both;}
.login-scene .auth-brand p{font-size:12px;line-height:1.8;color:#786e6a;margin-top:9px;animation:luxury-content-in .45s .13s both;}
.login-methods{position:relative;gap:4px;padding:5px;margin-bottom:16px;border:1px solid #d8e5e4;border-radius:14px;background:#eaf2f078;}
.login-methods a{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;padding:6px;font-size:12px;color:#796e6a;border-radius:10px;transition:background .18s,color .18s,box-shadow .18s;}
.login-methods a[aria-current=page]{background:#fff;color:#146b7b;box-shadow:0 2px 8px #146b7b0a;}
.login-methods a[aria-current=page]::after{content:'';position:absolute;bottom:3px;left:calc(50% - 9px);width:18px;height:2px;background:#146b7b;border-radius:2px;}
.login-methods a:hover{color:#146b7b;background:#ffffff70;}
.login-scene .auth-form{gap:8px;animation:luxury-content-in .45s .18s both;}
.login-scene .auth-form label{font-size:12px;font-weight:700;line-height:1.6;color:#31565e;}
.login-scene .login-field{margin-bottom:8px;}
.login-scene .auth-form .form-control{box-sizing:border-box;height:46px;min-height:46px;border:1px solid #d7e2e0;border-radius:13px;background:#ffffffed;padding:11px 14px;color:#173f48;font-size:15px;line-height:1.5;box-shadow:0 1px 2px #146b7b03;}
.login-scene .login-field .form-control{padding-inline-start:46px;}
.login-scene .login-field-password .form-control{padding-inline-end:48px;}
.login-scene .auth-form .form-control::placeholder{color:#978b86;opacity:1;font-weight:400;}
.login-scene .auth-form .form-control:hover{border-color:#acc8ca;}
.login-scene .auth-form .form-control:focus{border-color:#146b7b;background:#fff;box-shadow:0 0 0 3px #146b7b0d;}
.login-scene .auth-form .form-control[aria-invalid=true]{border-color:#a03f49;box-shadow:0 0 0 3px #a03f490c;}
.login-scene .auth-form .form-control:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #f8f6f4 inset;-webkit-text-fill-color:#173f48;}
.login-scene .login-field>svg{top:10px;inset-inline-start:11px;background:transparent;stroke:#9a8588;}
.login-scene .login-field:focus-within>svg{stroke:#146b7b;}
.login-scene .login-password-toggle{top:3px;color:#8d7b7d;}
.login-scene .login-password-toggle:hover{background:#146b7b07;color:#146b7b;}
.login-scene .auth-form .button-primary{isolation:isolate;overflow:hidden;min-height:46px;margin-top:5px;border:1px solid #146b7b;border-radius:13px;background:linear-gradient(110deg,#218a99,#146b7b);color:#fff;font-size:15px;font-weight:700;box-shadow:0 8px 20px #146b7b1c,inset 0 1px 0 #ffffff17;}
.login-scene .auth-form .button-primary::after{content:'';position:absolute;z-index:-1;inset:-40% auto -40% -65%;width:35%;background:linear-gradient(90deg,transparent,#ffffff12,transparent);transform:skewX(-18deg);transition:left .55s ease;pointer-events:none;}
.login-scene .auth-form .button-primary:hover::after{left:130%;}
.login-scene .auth-form .button-primary:hover{transform:translateY(-1px);background:linear-gradient(110deg,#258b99,#126674);box-shadow:0 10px 24px #146b7b26;}
.login-scene .auth-form .button-primary:active{transform:translateY(0) scale(.99);box-shadow:0 3px 8px #146b7b1c;}
.login-scene .auth-form .button-primary:disabled{transform:none;opacity:.8;}
.login-scene[data-login-state=success] .auth-form .button-primary{background:#146b7b;}
.login-scene .auth-footer{gap:7px;margin-top:16px;padding-top:13px;border-top:1px solid #146b7b12;color:#80716e;font-size:12px;}
.login-scene .auth-footer .button-secondary{font-size:12px;color:#146b7b;font-weight:700;}
.login-scene .auth-footer .button-secondary:hover{color:#105765;}
.login-otp-help{color:#7a6b67;font-size:12px;line-height:1.8;margin:5px 0 8px;}
.login-otp-actions{gap:10px;margin-top:16px;flex-wrap:wrap;}
.login-scene .login-otp-actions .button-secondary{border:1px solid #ded3ce;background:#ffffff80;color:#146b7b;border-radius:10px;font-size:11px;min-height:36px;box-shadow:none;}
.login-otp-channels{gap:10px;margin:3px 0 8px;}
.login-scene .login-otp-channels label{padding:14px;border:1px solid #e0d6d1;border-radius:13px;background:#ffffffb3;transition:border-color .18s,background .18s;}
.login-scene .login-otp-channels label:has(input:checked){border-color:#146b7b6b;background:#146b7b05;}
.login-scene .login-otp-channels input{accent-color:#146b7b;flex:none;}
.login-otp-channels bdi{color:#83726e;font-size:12px;}
.login-scene #employee-code{font-size:23px;letter-spacing:.28em;text-align:center;padding-inline:12px;}
.login-scene .notice{background:#fff8f6;border:1px solid #e6cdca;color:#7c2934;font-size:12px;border-radius:12px;padding:11px 14px;margin-bottom:16px;}
.login-scene .notice-success{background:#f4f4ed;border-color:#d9d6c4;color:#5d613e;}
.login-scene a:focus-visible,.login-scene button:focus-visible{outline:3px solid #146b7b33;outline-offset:3px;}
.login-scene [data-otp-form][aria-busy=true] .button-primary::before{content:'';width:16px;height:16px;flex:none;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:login-spinner .8s linear infinite;}
/* Keep the cinematic handoff in the same brand palette. */
.login-transition h2{color:#146b7b;}
.login-transition-progress{background:#146b7b1a;}
.login-transition-progress i{background:linear-gradient(90deg,#218a99,#146b7b);}
.login-transition-progress i::after{background:#c5a46d;box-shadow:0 0 6px #c5a46d40;}
.login-transition-percent,.login-transition-continue{color:#46676e;}
.login-transition-check{stroke:#146b7b;}
@keyframes luxury-content-in{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
@supports not (backdrop-filter:blur(1px)){.login-scene .auth-card{background:#f8f6f4f5;}}
@media(max-width:900px){.login-scene .auth-page{padding:24px;}.login-scene .auth-card{width:350px;padding:20px 23px;}}
@media(max-width:640px){.login-scene .auth-page{align-items:center;justify-content:center;padding:24px 16px 72px;min-height:100svh;}.login-scene .auth-card{width:100%;max-width:350px;padding:22px;border-radius:26px;}.login-scene .auth-brand{margin:18px 0;}.login-scene .auth-brand h1{font-size:25px;}.login-scene .auth-brand p{font-size:12px;}.login-scene .auth-form .form-control{font-size:16px;}.login-methods a{font-size:11px;}.login-scene .auth-footer{margin-top:17px;}}
@media(max-height:740px) and (min-width:641px){.login-scene .auth-page{padding:22px 32px;}.login-scene .auth-card{padding:18px 23px;}.login-scene .auth-brand{margin:18px 0;}.login-scene .auth-brand h1{font-size:25px;}.login-methods{margin-bottom:18px;}.login-scene .auth-footer{margin-top:16px;padding-top:13px;}}
@media(prefers-reduced-motion:reduce){.login-scene .auth-card,.login-scene .auth-brand h1,.login-scene .auth-brand p,.login-scene .auth-form{animation:none;}.login-scene .auth-form .button-primary::after{display:none;}.login-scene [data-otp-form][aria-busy=true] .button-primary::before{animation:none;}}
.login-transition-greeting{margin:16px 0 0;color:#146b7b;font-size:18px;font-weight:700;line-height:1.6;}.login-transition-greeting[hidden]{display:none;}

.login-otp-expiry{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#71878a;font-size:10px;line-height:1.4;}
.login-otp-expiry strong{font-size:12px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#146b7b;}
.login-otp-expiry.is-ending strong{color:#906326;}
.login-otp-expiry.is-expired{background:transparent;color:#903d48;}
.login-otp-expiry.is-expired strong{color:#903d48;}