/* Reference-led authentication screens. Brand variables belong to each tenant. */
.auth.login-scene{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:46px 4.5%;overflow:hidden;background:#06172e;color:#fff;--auth-blue:#0765ff}
.auth-backdrop{position:absolute;inset:0;z-index:-3;background:#06172e}.auth-backdrop img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:left center}.auth-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,12,30,.1),rgba(2,15,38,.28))}
.auth-composition{position:relative;display:grid;align-items:center;width:min(1650px,100%);gap:clamp(32px,4vw,75px);grid-template-columns:minmax(160px,1fr) minmax(380px,490px) minmax(260px,.85fr)}
.auth.login-scene .auth-card{width:100%;min-width:0;padding:26px 30px 20px;border:1px solid #e1e6ed;border-radius:20px;background:rgba(255,255,255,.98);color:#102347;box-shadow:0 22px 70px #0004;--ink:#102347;--ink2:#253c60;--ink3:#586d8a;--line:#dce3ed;--card:#fff}
.auth-card-brand{text-align:center;margin-bottom:22px}.auth-platform-logo{display:block;width:min(330px,100%);height:130px;object-fit:contain;margin:0 auto 2px}.auth-card-brand h2{display:flex;align-items:center;gap:18px;font-size:19px;font-weight:600;line-height:1.35;color:#586c8d;margin:0}.auth-card-brand h2:before,.auth-card-brand h2:after{content:'';flex:1;height:1px;background:#d5ddeb}
.auth-fields{gap:16px}.auth-fields .field{gap:8px;margin:0}.auth-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:650}.auth-label svg{width:19px;height:19px;flex:none}.login-scene .input{height:49px;border:1px solid #dce3ed;border-radius:10px;padding:11px 14px;color:#102347;background:#fff;font-size:14px;box-shadow:none;min-width:0}.login-scene .input::placeholder{color:#657896;opacity:1}.login-scene .input:focus{outline:3px solid color-mix(in srgb,var(--login-button,var(--brand)) 18%,transparent);outline-offset:1px;border-color:var(--login-button,var(--brand))}
.auth-password{position:relative;display:block}.auth-password .input{width:100%;padding-inline-end:48px}.auth-password-toggle{position:absolute;inset-inline-end:5px;top:3px;width:43px;height:43px;border:0;background:transparent;color:#62728f;border-radius:8px;cursor:pointer;display:grid;place-items:center}.auth-password-toggle svg{width:20px;height:20px}.auth-password-toggle[aria-pressed=true]{color:var(--login-button,var(--brand))}.auth-password-toggle:focus-visible{outline:2px solid var(--login-button,var(--brand));outline-offset:-3px}
.login-scene .auth-submit{display:flex;align-items:center;justify-content:center;gap:11px;min-height:50px;margin-top:1px;border:0;border-radius:10px;color:#fff;background:linear-gradient(110deg,color-mix(in srgb,var(--login-button,#075aff) 88%,#06172e),var(--login-button,#075aff));font-size:17px;font-weight:650;box-shadow:0 7px 18px #00163816}.auth-submit svg{width:22px;height:22px}.auth-submit:hover{filter:brightness(1.08)}.auth-submit:focus-visible{outline:3px solid var(--login-button,var(--brand));outline-offset:3px}.auth-error{font-size:13px;margin-bottom:17px}
.auth-language-label{display:flex;align-items:center;justify-content:center;gap:15px;color:#687998;font-size:12px;margin-top:21px}.auth-language-label:before,.auth-language-label:after{content:'';height:1px;background:#dce2eb;width:80px}.login-scene .lang-pick{gap:6px;margin-top:12px}.login-scene .lang-pick button{min-height:36px;border:1px solid #d7dfeb;border-radius:10px;background:#fff;padding:7px 11px;color:#152945;font-size:12px;line-height:1.2;font-weight:550}.login-scene .lang-pick button.on{background:var(--login-button,#075aff);border-color:var(--login-button,#075aff);color:#fff}.auth-restricted{text-align:center;color:#64738a;font-size:10px;line-height:1.5;margin:15px 0 0}.auth-ribbon{position:absolute;z-index:-1;pointer-events:none}.login-scene--admin{--login-button:#075aff}.login-scene--admin .auth-ribbon{height:135px;width:750px;transform:rotate(-42deg);background:linear-gradient(90deg,#126ed39c,#00306b66);border-top:29px solid #0983ff7a;border-bottom:25px solid #002a5588}.login-scene--admin .auth-ribbon--top{top:-65px;left:-150px}.login-scene--admin .auth-ribbon--bottom{right:-260px;bottom:0}
.auth-platform-brand{border-inline-start:1px solid #dde9ffb3;padding-inline-start:42px;padding-block:4px;max-width:390px;color:#fff}.auth-shield{display:block;width:65px;height:75px;margin-bottom:14px}.auth-shield svg{width:100%;height:100%;stroke-width:1.5}.auth-platform-brand h1{font-size:clamp(31px,3.5vw,53px);letter-spacing:-2px;font-weight:650;margin:0 0 11px;line-height:1.1;white-space:nowrap}.auth-platform-brand h1>span{color:#1495ff}.auth-motto{font-size:clamp(17px,1.8vw,25px);line-height:1.4;color:#e5ebf8;margin-bottom:30px}.auth-platform-description{font-size:16px;line-height:1.6;color:#c8d7ee;margin:0;max-width:270px}
.login-scene--agency .auth-composition{grid-template-columns:minmax(0,1.2fr) minmax(370px,.8fr);max-width:1500px}.login-scene--agency .auth-card{max-width:550px;justify-self:end;padding:28px 36px 24px}.login-scene--agency .auth-shade{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.27))}.login-scene--agency .auth-ribbon{width:700px;height:700px;border:33px solid var(--rail,var(--brand));border-radius:50%;opacity:.95}.login-scene--agency .auth-ribbon--top{right:-450px;top:-440px}.login-scene--agency .auth-ribbon--bottom{left:-480px;bottom:-500px}.auth-welcome{align-self:center;color:#fff;text-shadow:0 2px 10px #0005;min-width:0}.auth-welcome-rule{display:block;width:70px;height:5px;background:var(--rail,var(--brand));margin-bottom:27px}.auth-welcome h1{font-size:clamp(28px,3vw,45px);font-weight:550;line-height:1.2;letter-spacing:-1.1px;margin:0 0 22px;overflow-wrap:anywhere}.auth-welcome h1 strong{font-size:clamp(35px,4.3vw,66px);display:block;font-weight:650;letter-spacing:-1.5px;margin-top:5px}.auth-welcome>p{font-size:clamp(16px,1.7vw,24px);line-height:1.55;max-width:530px;margin:0}.auth-benefits{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:clamp(60px,12vh,150px);font-size:12px;font-weight:500}.auth-benefits>span{display:flex;align-items:center;gap:9px}.auth-benefits>span+span{border-inline-start:1px solid #ffffff6b;padding-inline-start:20px}.auth-benefits svg{width:27px;height:27px;color:#fff}.auth-client-logo{display:block;width:min(330px,100%);height:115px;object-fit:contain;margin:0 auto 7px}.auth-client-name{display:block;font-size:21px;font-weight:650;line-height:1.3;margin-bottom:18px;overflow-wrap:anywhere}.auth-initial{display:grid;place-items:center;width:72px;height:72px;border-radius:16px;margin:0 auto 12px;background:var(--rail,var(--brand));color:var(--rail-ink,var(--brand-on));font-size:36px;font-weight:700}.branding-cover-preview{width:100%;max-height:220px;aspect-ratio:16/7;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin:12px 0}.branding-cover-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
@media(min-width:1700px){.auth.login-scene{padding-block:70px}.auth.login-scene .auth-card{padding:32px 30px 23px}.auth-platform-logo{height:145px}.auth-fields{gap:18px}.login-scene .input{height:51px}.auth-password-toggle{top:4px}.login-scene .auth-submit{min-height:52px}}
@media(max-width:1200px){.auth-composition{grid-template-columns:minmax(60px,.5fr) minmax(350px,450px) minmax(220px,.7fr);gap:32px}.auth-platform-brand{padding-inline-start:26px}.auth-platform-brand h1{font-size:34px}.auth-platform-description{font-size:14px}.auth-platform-logo{height:115px}.login-scene--agency .auth-card{padding:25px}.auth-benefits{gap:13px;font-size:10px}.auth-benefits>span+span{padding-inline-start:13px}.auth-benefits svg{width:22px;height:22px}}
@media(max-width:960px){.login-scene--admin .auth-composition{display:flex;justify-content:center}.auth-admin-spacer,.auth-platform-brand{display:none}.login-scene--admin .auth-card{max-width:460px}.login-scene--agency .auth-composition{grid-template-columns:minmax(0,1fr) minmax(330px,1fr);gap:28px}.auth-welcome h1{font-size:27px}.auth-welcome h1 strong{font-size:37px}.auth-welcome>p{font-size:17px}.auth-benefits{flex-direction:column;align-items:flex-start;gap:16px;margin-top:60px;font-size:12px}.auth-benefits>span+span{padding:0;border:0}}
@media(max-width:700px){.auth.login-scene{padding:32px 18px;min-height:100svh}.login-scene--agency .auth-composition{display:flex;justify-content:center}.auth-welcome{display:none}.login-scene--agency .auth-card{max-width:450px;justify-self:center;padding:25px 23px 22px}.auth.login-scene .auth-card{border-radius:17px;padding:25px 23px 22px}.auth-platform-logo{height:116px;max-width:285px}.auth-client-logo{height:95px}.auth-card-brand h2{font-size:17px}.auth-card-brand{margin-bottom:24px}.auth-label{font-size:13px}.login-scene .input{font-size:16px;min-height:49px}.auth-restricted{font-size:10px;margin-top:16px}.auth-backdrop img{object-position:27% center}.login-scene--admin .auth-ribbon--top{top:-150px;left:-340px}.login-scene--admin .auth-ribbon--bottom{bottom:-20px;right:-530px}.login-scene .lang-pick button{min-height:39px;font-size:12px;padding:8px 10px}.auth-language-label{margin-top:22px}}
@media(max-height:650px) and (min-width:701px){.auth.login-scene{padding-block:25px}.auth-platform-logo{height:90px}.auth-client-logo{height:80px}.auth-card-brand{margin-bottom:17px}.auth-fields{gap:12px}.auth.language-label{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.login-scene *{scroll-behavior:auto!important}}
.login-scene--agency .auth-welcome-rule{background:var(--accent,var(--rail))}.login-scene--agency .auth-card-brand h2:before,.login-scene--agency .auth-card-brand h2:after{background:color-mix(in srgb,var(--accent) 55%,#c7d0db)}

.auth-backdrop picture{display:block;width:100%;height:100%}
