:root{color-scheme:light;--ink:#121a36;--muted:#5e6c8b;--pink:#fc0098;--line:rgba(20,30,60,.16)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body.meister-login{min-height:100vh;background:#0c1329;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.login-shell{position:relative;display:grid;min-height:100dvh;overflow:hidden;isolation:isolate}.login-scene{position:absolute;inset:0;z-index:0;background:#111c3d var(--login-scene-image) center/cover no-repeat;transition:opacity .45s ease}.login-scene::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,28,.2) 0%,rgba(7,13,30,.02) 58%,rgba(4,10,28,.12) 100%);content:""}.login-card-wrap{position:relative;z-index:1;display:flex;width:100%;min-height:100%;padding:clamp(38px,5.6vw,84px);align-items:flex-start;justify-content:flex-start}.login-card{width:min(100%,405px);padding:clamp(26px,2.7vw,38px);border:1px solid rgba(255,255,255,.58);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(246,249,255,.62));box-shadow:0 24px 60px rgba(4,10,29,.27),inset 0 1px rgba(255,255,255,.78);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}
.login-brand{display:inline-flex;width:132px;margin-bottom:20px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.84);box-shadow:0 7px 20px rgba(12,23,56,.08)}.login-brand img{display:block;width:100%;height:auto}.eyebrow{margin:0 0 9px;color:#c70076;font-size:11px;font-weight:900;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.login-card-heading h2{margin:0;color:var(--ink);font-size:clamp(31px,3.1vw,42px);letter-spacing:-.055em;line-height:1.03}.login-card-heading>p:not(.eyebrow){margin:13px 0 0;color:var(--muted);font-size:16px;line-height:1.46}
.native-login-form{display:grid;gap:8px;margin-top:23px}.native-login-form[hidden]{display:none}.native-login-form label{color:#303b58;font-size:14px;font-weight:850}.native-login-form input{width:100%;min-height:54px;padding:0 16px;border:1px solid rgba(150,166,199,.4);border-radius:12px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px rgba(255,255,255,.9);color:var(--ink);font:inherit;font-size:16px;outline:none}.native-login-form input::placeholder{color:#7c89a4}.native-login-form input:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(252,0,152,.15)}.password-control{position:relative;display:block}.password-control input{padding-right:62px}.password-control button{position:absolute;top:50%;right:8px;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:0;border-radius:10px;background:transparent;color:#5c6a88;font-size:22px;cursor:pointer}.password-control button:hover{background:rgba(16,27,59,.07);color:var(--ink)}.password-control button:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.forgot-password{justify-self:end;margin-top:4px;color:#a10061;font-size:14px;font-weight:800}.forgot-password:hover{color:#740042;text-decoration-thickness:2px}
.login-primary{display:flex;width:100%;min-height:57px;margin-top:13px;padding:0 21px;align-items:center;justify-content:center;gap:12px;border:0;border-radius:13px;background:linear-gradient(100deg,#d90080,#ff2bad);box-shadow:0 16px 30px rgba(235,0,133,.3);color:#fff;cursor:pointer;font:inherit;font-size:18px;font-weight:850;letter-spacing:-.02em;transition:transform .18s ease,box-shadow .18s ease}.login-primary:hover{box-shadow:0 20px 35px rgba(235,0,133,.4);transform:translateY(-1px)}.login-primary:disabled{opacity:.72;cursor:wait;transform:none}.login-primary:focus-visible{outline:3px solid #fff;outline-offset:4px}.login-primary-icon{font-size:25px;font-weight:400;line-height:1}.login-secondary{min-height:42px;border:0;background:transparent;color:#4a5877;font:inherit;font-size:14px;font-weight:750;cursor:pointer}.login-secondary:hover{text-decoration:underline}
.login-help{margin:16px auto 0;color:#53627f;font-size:14px;line-height:1.45;text-align:center}.login-help:empty{display:none}.login-help.is-error{color:#a42a20}.login-divider{display:flex;margin:26px 0 0;align-items:center;gap:12px;color:#7c88a1;font-size:11px;font-weight:850;letter-spacing:.09em;text-align:center;text-transform:uppercase}.login-divider::before,.login-divider::after{height:1px;flex:1;background:rgba(86,101,134,.23);content:""}.login-security-note{display:flex;gap:10px;align-items:flex-start;margin-top:17px;padding:13px 14px;border-radius:13px;background:rgba(235,240,249,.62);color:#65728d;font-size:12px;line-height:1.45}.login-lock{display:inline-grid;flex:0 0 18px;width:18px;height:18px;place-items:center;color:#bd8526;font-size:17px;font-weight:900}
@media (min-width:981px){html,body,body.meister-login,.login-shell{height:100dvh;overflow:hidden}}
@media (min-width:981px) and (max-height:780px){.login-card-wrap{padding:clamp(24px,4vw,54px)}.login-card{padding:20px 24px;border-radius:21px}.login-brand{width:110px;margin-bottom:11px}.eyebrow{margin-bottom:6px;font-size:10px}.login-card-heading h2{font-size:34px}.login-card-heading>p:not(.eyebrow){margin-top:8px;font-size:14px;line-height:1.32}.native-login-form{gap:5px;margin-top:15px}.native-login-form label{font-size:13px}.native-login-form input{min-height:45px;font-size:15px}.password-control button{height:37px}.forgot-password{margin-top:2px;font-size:13px}.login-primary{min-height:48px;margin-top:7px;font-size:16px}.login-divider{margin-top:15px}.login-security-note{margin-top:10px;padding:9px 10px;font-size:11px;line-height:1.3}.login-help{margin-top:10px}}
@media (max-width:980px){.login-shell{min-height:100svh;overflow:auto}.login-scene{position:fixed}.login-scene::after{background:linear-gradient(180deg,rgba(5,11,29,.23),rgba(5,11,29,.43))}.login-card-wrap{min-height:100svh;padding:clamp(28px,7vw,54px);align-items:center;justify-content:center}.login-card{width:min(100%,440px)}}
@media (max-width:520px){.login-card-wrap{padding:22px 16px}.login-card{padding:25px 22px;border-radius:21px}.login-brand{width:120px;margin-bottom:17px}.login-card-heading h2{font-size:33px}.login-card-heading>p:not(.eyebrow){font-size:15px}.native-login-form{margin-top:20px}.native-login-form input{min-height:52px}.login-primary{min-height:54px;font-size:17px}.login-divider{margin-top:22px}.login-security-note{font-size:11px}}
@media (prefers-reduced-motion:reduce){.login-scene{transition:none}}

.browser-login-panel{display:grid;gap:12px;margin-top:20px}
.browser-login-panel[hidden],.browser-login-panel [hidden],.native-login-form[hidden]{display:none!important}
.browser-login-panel p{margin:0;color:#52607b;line-height:1.5}
.browser-login-panel .login-primary{text-decoration:none;box-sizing:border-box}
body[data-login-mode="hosted"] .login-card,body[data-login-mode="unavailable"] .login-card{padding:var(--cms-card-padding,24px)}
@media(max-width:520px){body[data-login-mode="hosted"] .login-card,body[data-login-mode="unavailable"] .login-card{padding:var(--cms-card-padding,16px)}}
