*{box-sizing:border-box;margin:0;padding:0}body.auth-body{background:var(--app-page-gradient);color:var(--color-text-base);display:grid;font-family:var(--font-family-base);min-height:100vh;padding:2rem;place-items:center;position:relative}body.auth-body:after,body.auth-body:before{background-repeat:no-repeat;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}body.auth-body:before{background-image:var(--app-page-overlay)}body.auth-body:after{background-image:none}.auth-shell{position:relative;width:min(520px,100%);z-index:1}.auth-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:18px;box-shadow:0 24px 60px rgba(10,35,66,.12);display:grid;gap:1.4rem;overflow:hidden;padding:2.2rem;position:relative}.auth-card:after{background:linear-gradient(160deg,rgba(81,69,181,.05),transparent 55%);content:"";inset:0;pointer-events:none;position:absolute}.auth-brand{display:flex;gap:1rem}.auth-brand,.logo{align-items:center}.logo{background:var(--color-surface-soft);border:1px solid var(--color-border-muted);border-radius:16px;display:inline-flex;height:54px;justify-content:center;width:54px}.logo img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.eyebrow{color:var(--color-text-muted);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-brand h1{color:var(--color-primary-strong);font-size:1.8rem;margin:.05rem 0}.auth-brand .lede{color:var(--color-text-secondary)}.status-chip{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border-muted);border-radius:999px;color:var(--color-neutral-2);display:inline-flex;font-size:.95rem;font-weight:700;gap:.45rem;padding:.35rem .75rem}.auth-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.auth-lang{color:var(--color-text-base);display:grid;font-weight:700;gap:.35rem}.auth-lang span{color:var(--color-text-muted);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.auth-lang select{cursor:pointer}.auth-lang select,.auth-lang-value{background:var(--color-surface-quiet);border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-text-base);font-weight:800;letter-spacing:.08em;min-width:90px;padding:.35rem .75rem;text-transform:uppercase}.auth-lang-value{align-items:center;display:inline-flex;justify-content:center}.auth-lang select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(81,69,181,.15);outline:none}.mode-switch{display:grid;gap:.35rem}.mode-switch label{color:var(--color-text-base);font-weight:700}.pill-switch{background:var(--color-surface-soft-2);border:1px solid var(--color-border-strong);border-radius:14px;display:flex;gap:.4rem;padding:.25rem}.pill-switch button{background:transparent;border:none;border-radius:12px;color:var(--color-text-secondary);cursor:pointer;display:grid;flex:1;font-weight:700;gap:.15rem;padding:.9rem .75rem;transition:all .2s ease}.pill-switch button .label-sub{color:var(--color-text-muted);font-size:.9rem;font-weight:600}.pill-switch button.is-active{background:linear-gradient(120deg,var(--color-primary-gradient-start),var(--color-primary-gradient-end));box-shadow:0 14px 30px rgba(36,26,106,.22);color:var(--color-text-inverse)}.pill-switch button.is-active .label-sub{color:hsla(0,0%,100%,.82)}.auth-form{display:grid;gap:1rem;position:relative;z-index:1}.auth-form label{color:var(--color-text-base);display:grid;font-weight:700;gap:.35rem}.auth-form input{background:var(--color-surface-quiet);border:1px solid var(--color-border-strong);border-radius:12px;font-size:1rem;padding:.95rem 1rem;transition:border-color .2s ease,box-shadow .2s ease,transform .1s ease}.auth-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(81,69,181,.15);outline:none;transform:translateY(-1px)}.actions{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.95rem;justify-content:space-between}.remember{display:none}.remember input{accent-color:var(--color-primary)}.link{color:var(--color-primary);font-weight:700}.link:hover{text-decoration:underline}.btn{background:linear-gradient(120deg,var(--color-primary-gradient-start),var(--color-primary-gradient-end));border:1px solid transparent;border-radius:12px;box-shadow:0 14px 28px rgba(36,26,106,.24);color:var(--color-text-inverse);cursor:pointer;font-weight:800;padding:.95rem 1rem;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease;width:100%}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn:active{box-shadow:0 12px 24px rgba(36,26,106,.2);transform:translateY(0)}.footnote{color:var(--color-text-muted);font-size:.95rem;text-align:center}.supporting{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border-strong);border-radius:12px;color:var(--color-text-secondary);display:flex;font-weight:600;gap:.75rem;justify-content:space-between;padding:.9rem 1rem}.supporting strong{color:var(--color-text-base)}@media (max-width:560px){body.auth-body{padding:1.2rem}.auth-card{padding:1.6rem}.actions{align-items:flex-start;flex-direction:column;gap:.55rem}}body.auth-body.app-login-body{background:linear-gradient(180deg,#f7f9fc,#edf2fb);min-height:100svh;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}body.auth-body.app-login-body:after,body.auth-body.app-login-body:before{display:none}body.app-login-body .auth-shell{width:min(440px,100%)}body.app-login-body .auth-card{border-color:rgba(122,132,148,.28);border-radius:16px;box-shadow:0 22px 54px rgba(29,50,82,.14);gap:1.05rem;max-width:100%;padding:clamp(1.25rem,4vw,1.8rem);width:100%}body.app-login-body .auth-card:after{background:linear-gradient(180deg,rgba(47,36,131,.045),transparent 34%)}body.app-login-body .auth-brand{justify-content:center;padding:.1rem 0 .25rem}body.app-login-body .auth-logo-horizontal{height:auto;max-height:78px;max-width:min(265px,78vw);-o-object-fit:contain;object-fit:contain;width:min(265px,78vw)}body.app-login-body .mode-switch{gap:.45rem}body.app-login-body .mode-switch label{color:var(--color-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}body.app-login-body .pill-switch{background:#f6f8fb;border-color:rgba(122,132,148,.3);border-radius:12px;padding:.25rem;width:100%}body.app-login-body .pill-switch button{border-radius:9px;font-size:.95rem;min-height:46px;min-width:0;padding:.7rem .6rem}body.app-login-body .auth-form{gap:.95rem}body.app-login-body .auth-status{background:var(--color-success-bg);border:1px solid rgba(34,197,94,.22);border-radius:12px;font-weight:700;margin-top:0;padding:.8rem .9rem}body.app-login-body .auth-status.is-error{background:var(--color-danger-bg);border-color:rgba(176,0,32,.24)}body.app-login-body .pin-panel{background:#f8fafc;border-color:rgba(122,132,148,.26);border-radius:14px;box-shadow:none;gap:.9rem;max-width:100%;padding:1rem;width:100%}body.app-login-body .pin-title{color:var(--color-neutral-5);font-size:.73rem;letter-spacing:.12em}body.app-login-body .pin-display{gap:.5rem;max-width:100%;width:100%}body.app-login-body .pin-slot{background:#fff;border-radius:10px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85),0 4px 12px rgba(29,50,82,.06);height:clamp(48px,8vh,58px)}body.app-login-body .pin-keypad{gap:.55rem;max-width:100%;width:100%}body.app-login-body .pin-key{background:#fff;border-radius:10px;box-shadow:0 3px 10px rgba(29,50,82,.08);font-size:1.2rem;min-height:clamp(50px,8.2vh,62px);min-width:0;padding:.55rem 0;width:100%}body.app-login-body .pin-key.is-delete{background:#fff7f7;font-size:.78rem}body.app-login-body .btn{border-radius:10px;min-height:48px}@media (min-width:700px) and (orientation:portrait){body.app-login-body .auth-shell{width:min(480px,calc(100% - 2rem))}body.app-login-body .auth-card{gap:1.2rem;padding:2rem}body.app-login-body .pin-panel{padding:1.15rem}}@media (max-width:560px){body.auth-body.app-login-body{overflow-x:hidden;padding:max(.75rem,env(safe-area-inset-top)) max(0rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(0rem,env(safe-area-inset-left));place-items:start center}body.app-login-body .auth-shell{max-width:calc(100vw - 1.5rem);width:calc(100vw - 1.5rem)}body.app-login-body .auth-card{min-width:0;padding:1.15rem}body.app-login-body .auth-form,body.app-login-body .mode-switch,body.app-login-body .pill-switch,body.app-login-body .pill-switch button,body.app-login-body .pin-display,body.app-login-body .pin-keypad,body.app-login-body .pin-panel{min-width:0}}@media (max-height:640px),(max-width:380px){body.app-login-body .auth-card{gap:.75rem;padding:.95rem}body.app-login-body .auth-logo-horizontal{max-height:62px;max-width:min(220px,76vw);width:min(220px,76vw)}body.app-login-body .pill-switch button{font-size:.88rem;min-height:40px;padding:.55rem .45rem}body.app-login-body .pin-panel{gap:.6rem;padding:.75rem}body.app-login-body .pin-slot{height:42px}body.app-login-body .pin-keypad{gap:.4rem}body.app-login-body .pin-key{font-size:1.05rem;min-height:43px}}