.login-shell{--ovo-orange: #ff8500;--ovo-green: #14643f;--ovo-green-deep: #0d3f28;--ovo-white: #ffffff;--ovo-bg: #f5f5f5;--ovo-ink: #171717;--ovo-muted: #5f6368;--ovo-danger: #dc2626;box-sizing:border-box;min-height:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--ovo-white)}.login-shell *,.login-shell *:before,.login-shell *:after{box-sizing:border-box}.login-brand{position:relative;overflow:hidden;color:var(--ovo-white);background:radial-gradient(120% 80% at 10% 90%,rgba(255,133,0,.32),transparent 55%),radial-gradient(90% 70% at 90% 10%,rgba(255,255,255,.07),transparent 50%),linear-gradient(155deg,var(--ovo-green-deep) 0%,var(--ovo-green) 48%,#1a7a4c 100%);display:flex;align-items:flex-end;padding:clamp(1.75rem,4.5vw,4.5rem);isolation:isolate}.login-brand__glow{position:absolute;inset:auto -20% -30% 20%;height:55%;background:radial-gradient(closest-side,rgba(255,133,0,.4),transparent 70%);pointer-events:none;z-index:0;animation:glowPulse 7s ease-in-out infinite}.login-road{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.92}.login-road__svg{width:100%;height:100%;display:block}.login-road__dash{animation:roadDash 1.6s linear infinite}.login-road__car{filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}.login-brand__content{position:relative;z-index:1;max-width:28rem;animation:riseIn .85s cubic-bezier(.22,1,.36,1) both}.login-brand__logo{width:clamp(4.25rem,8vw,6.5rem);height:clamp(4.25rem,8vw,6.5rem);object-fit:contain;border-radius:50%;box-shadow:0 16px 36px #00000047;margin-bottom:clamp(.85rem,2vw,1.5rem)}.login-brand__eyebrow{margin:0 0 .5rem;font-size:clamp(.7rem,1.5vw,.8rem);letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:#ffffffc7}.login-brand__title{margin:0;font-family:Syne,sans-serif;font-weight:800;font-size:clamp(2.35rem,5vw,4rem);line-height:.95;letter-spacing:-.03em}.login-brand__tagline{margin:.9rem 0 0;font-size:clamp(.92rem,1.6vw,1.05rem);line-height:1.5;color:#ffffffdb;max-width:22rem;font-weight:300}.login-panel{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--ovo-white) 0%,var(--ovo-bg) 100%);padding:clamp(1.25rem,4vw,3rem);min-width:0}.login-panel__inner{width:100%;max-width:24.5rem;animation:riseIn .8s cubic-bezier(.22,1,.36,1) .1s both}.login-lang{position:relative;display:flex;justify-content:flex-end;margin-bottom:1.25rem}.login-lang__trigger{display:inline-flex;align-items:center;gap:.45rem;border:1.5px solid #e5e7eb;background:#fff;color:#14643f;border-radius:999px;padding:.45rem .7rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,color .2s ease}.login-lang__trigger:hover,.login-lang__trigger:focus-visible,.login-lang__trigger.is-open{border-color:#ff8500;color:#ff8500;box-shadow:0 0 0 3px #ff850024}.login-lang__trigger:disabled{opacity:.65;cursor:wait}.login-lang__current-flag{width:1.15rem;height:.78rem;object-fit:cover;border-radius:.12rem;box-shadow:0 0 0 1px #00000014}.login-lang__chevron{width:.4rem;height:.4rem;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.75}.login-lang__menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:20;margin:0;padding:.35rem;list-style:none;min-width:12.5rem;background:#fff;border:1px solid #e8eaed;border-radius:.9rem;box-shadow:0 16px 40px #1717171f;animation:riseIn .18s ease both}.login-lang__option{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;border:0;background:transparent;border-radius:.65rem;padding:.55rem .6rem;cursor:pointer;font:inherit;text-align:left;color:#171717}.login-lang__option:hover,.login-lang__option:focus-visible{background:#f5f5f5}.login-lang__option.is-active{background:#14643f14}.login-lang__option-flag{width:1.35rem;height:.9rem;object-fit:cover;border-radius:.12rem;box-shadow:0 0 0 1px #00000014}.login-lang__option-name{font-size:.9rem;font-weight:600}.login-lang__option-code{font-size:.7rem;font-weight:700;letter-spacing:.04em;color:#5f6368}.login-panel__header{margin-bottom:clamp(1.35rem,3vw,2rem)}.login-panel__title{margin:0;font-family:Syne,sans-serif;font-weight:700;font-size:clamp(1.65rem,4vw,2rem);letter-spacing:-.02em;color:var(--ovo-ink)}.login-panel__subtitle{margin:.4rem 0 0;color:var(--ovo-muted);font-size:clamp(.9rem,2.5vw,.98rem)}.login-form{display:flex;flex-direction:column;gap:1.05rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field__label{font-size:.82rem;font-weight:600;color:var(--ovo-ink);letter-spacing:.02em}.login-field__input{width:100%;border:1.5px solid #e5e7eb;background:var(--ovo-white);border-radius:.85rem;padding:.95rem 1rem;font:inherit;font-size:1rem;color:var(--ovo-ink);outline:none;min-height:3.05rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;-webkit-appearance:none;appearance:none}.login-field__input::placeholder{color:#9aa0a6}.login-field__input:focus{border-color:var(--ovo-orange);box-shadow:0 0 0 4px #ff85002e}.login-field.is-invalid .login-field__input{border-color:var(--ovo-danger);background:#fff8f8;box-shadow:0 0 0 3px #dc26261f}.login-field.is-invalid .login-field__input:focus{border-color:var(--ovo-danger);box-shadow:0 0 0 4px #dc262629}.login-field__hint{font-size:.78rem;font-weight:500;color:var(--ovo-danger);line-height:1.25;margin-top:.05rem}.login-field__password{position:relative}.login-field__password .login-field__input{padding-right:4.75rem}.login-field__toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ovo-muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:.55rem .65rem;min-height:2.5rem;border-radius:.5rem}.login-field__toggle:hover,.login-field__toggle:focus-visible{color:var(--ovo-green)}.login-forgot-row{display:flex;justify-content:flex-end;margin:.15rem 0 .55rem}.login-forgot{color:var(--ovo-green);font-size:.88rem;font-weight:600;text-decoration:none}.login-forgot:hover{text-decoration:underline}.pwd-success{margin:0;color:var(--ovo-green);font-size:.92rem;font-weight:500;line-height:1.4}.pwd-back{margin:1.25rem 0 0;text-align:center;font-size:.92rem}.pwd-back a{color:var(--ovo-muted);font-weight:600;text-decoration:none}.pwd-back a:hover{color:var(--ovo-green);text-decoration:underline}.login-submit{margin-top:.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;border:0;border-radius:999px;padding:1rem 1.25rem;min-height:3.25rem;background:linear-gradient(135deg,#ff9a2e 0%,var(--ovo-orange) 45%,#e67800 100%);color:var(--ovo-white);font:inherit;font-weight:700;font-size:1rem;letter-spacing:.01em;cursor:pointer;box-shadow:0 14px 28px #ff850047;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;-webkit-tap-highlight-color:transparent}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 34px #ff850057;filter:brightness(1.03)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.72;cursor:wait}.login-panel__foot{margin:1.75rem 0 0;font-size:.75rem;color:var(--ovo-muted);line-height:1.45}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes roadDash{to{stroke-dashoffset:-64}}@keyframes glowPulse{0%,to{opacity:.65}50%{opacity:1}}@media(max-width:960px){.login-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.login-brand{min-height:clamp(11.5rem,32vh,16rem);max-height:38vh;align-items:flex-end;padding:1.25rem 1.25rem 1.35rem}.login-brand__tagline{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.login-road{opacity:.78}.login-brand__glow{animation:none;opacity:.75}.login-panel{align-items:flex-start;padding:1.35rem 1.25rem calc(1.35rem + env(safe-area-inset-bottom,0px))}}@media(max-width:640px){.login-brand{min-height:10.5rem;max-height:none;padding:1.1rem 1.1rem 1.2rem;padding-top:calc(1.1rem + env(safe-area-inset-top,0px))}.login-brand__logo{width:3.6rem;height:3.6rem;margin-bottom:.65rem}.login-brand__eyebrow{letter-spacing:.12em;margin-bottom:.35rem}.login-brand__title{font-size:clamp(1.85rem,8.5vw,2.35rem)}.login-brand__tagline{margin-top:.55rem;font-size:.88rem;-webkit-line-clamp:2}.login-road__asphalt{stroke-width:28}.login-panel{padding-left:max(1.1rem,env(safe-area-inset-left));padding-right:max(1.1rem,env(safe-area-inset-right))}.login-panel__title{font-size:1.55rem}.login-submit:hover:not(:disabled){transform:none}}@media(max-width:380px){.login-brand{min-height:9.25rem}.login-brand__tagline{display:none}.login-field__toggle{font-size:.75rem;padding:.5rem .45rem}}@media(max-height:520px)and (orientation:landscape){.login-shell{grid-template-columns:minmax(11rem,.9fr) minmax(0,1.1fr);grid-template-rows:1fr;min-height:100dvh}.login-brand{min-height:100%;max-height:none;padding:1rem}.login-brand__logo{width:3rem;height:3rem;margin-bottom:.5rem}.login-brand__eyebrow,.login-brand__tagline{display:none}.login-brand__title{font-size:1.45rem}.login-panel{align-items:center;padding:.85rem 1rem;overflow-y:auto}.login-panel__header{margin-bottom:.85rem}.login-panel__foot{margin-top:1rem}.login-form{gap:.75rem}}.otp-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#0a120e8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:otpFade .28s ease}.otp-modal{width:min(420px,100%);border-radius:1.35rem;background:radial-gradient(ellipse 90% 60% at 0% 0%,rgba(255,133,0,.12),transparent 55%),radial-gradient(ellipse 70% 50% at 100% 100%,rgba(20,100,63,.1),transparent 50%),#fff;border:1px solid rgba(20,35,28,.08);box-shadow:0 28px 60px #08100c47;padding:1.6rem 1.35rem 1.35rem;position:relative;animation:otpRise .38s cubic-bezier(.22,1,.36,1);text-align:center}.otp-modal__close{position:absolute;top:.55rem;right:.7rem;border:0;background:transparent;font-size:1.55rem;line-height:1;color:var(--ovo-muted);cursor:pointer;padding:.25rem .45rem}.otp-modal__badge{width:3.25rem;height:3.25rem;margin:0 auto .85rem;border-radius:1rem;display:grid;place-items:center;color:var(--ovo-green);background:linear-gradient(145deg,#ff850029,#14643f24);animation:otpPulse 2.4s ease-in-out infinite}.otp-modal__title{margin:0;font-family:Syne,Outfit,sans-serif;font-size:1.45rem;color:var(--ovo-ink)}.otp-modal__subtitle,.otp-modal__hint{margin:.45rem 0 0;color:var(--ovo-muted);font-size:.92rem;line-height:1.4}.otp-modal__hint{margin-top:.85rem;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#7a8288}.otp-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;margin:1rem 0 .55rem}.otp-inputs__cell{width:100%;aspect-ratio:.85;min-height:3rem;border:1.5px solid #e5e7eb;border-radius:.75rem;text-align:center;font:inherit;font-size:1.25rem;font-weight:700;color:var(--ovo-ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.otp-inputs__cell:focus{border-color:var(--ovo-orange);box-shadow:0 0 0 3px #ff85002e;transform:translateY(-1px)}.otp-inputs.is-invalid .otp-inputs__cell{border-color:var(--ovo-danger);background:#fff8f8}.otp-modal__error{min-height:1.15rem;margin:0 0 .75rem;color:var(--ovo-danger);font-size:.82rem;font-weight:600}.otp-modal__error-spacer{min-height:1.15rem;margin:0 0 .75rem}.otp-modal__submit{width:100%;border:0;border-radius:999px;padding:.95rem 1.1rem;min-height:3.05rem;background:linear-gradient(135deg,#ff9a2e 0%,var(--ovo-orange) 45%,#e67800 100%);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 12px 26px #ff850047}.otp-modal__submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.otp-modal__resend{margin-top:.75rem;border:0;background:transparent;color:var(--ovo-green);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;padding:.35rem}.otp-modal__resend:disabled{color:#9aa0a6;cursor:default}@keyframes otpFade{0%{opacity:0}to{opacity:1}}@keyframes otpRise{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes otpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@media(max-width:480px){.otp-modal{padding:1.35rem 1rem 1.15rem;border-radius:1.15rem}.otp-inputs{gap:.35rem}.otp-inputs__cell{min-height:2.7rem;font-size:1.1rem;border-radius:.65rem}}@media(prefers-reduced-motion:reduce){.login-brand__content,.login-panel__inner,.login-road__dash,.login-brand__glow,.otp-overlay,.otp-modal,.otp-modal__badge{animation:none!important}.login-road__car animateMotion{display:none}}
