/* Professional sign-in layout: brand panel + form on desktop, a single clean column on phones. Loaded after felixa-onboarding.css. */
:root{--fx-safe-b:env(safe-area-inset-bottom,0px);--fx-safe-t:env(safe-area-inset-top,0px)}
body.fx-split-page{background:#f1ebfa;padding:0}
.fx-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;min-height:100dvh;max-width:none;margin:0;padding:0;gap:0}
.fx-hero{position:relative;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:56px clamp(32px,6vw,84px);color:#fff;overflow:hidden;background:radial-gradient(900px 520px at 90% 0%,#a068f3 0%,transparent 60%),linear-gradient(145deg,#792fe8 0%,#7e39e5 52%,#e5402f 100%)}
.fx-hero::after{content:"";position:absolute;right:-120px;bottom:-140px;width:420px;height:420px;border-radius:50%;background:#ffffff1c}
.fx-hero .fx-authbrand{color:#fff;position:absolute;top:34px;left:clamp(32px,6vw,84px)}
.fx-hero h2{margin:0;font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.025em;max-width:520px}
.fx-hero>p{margin:0;max-width:480px;font-size:17.5px;line-height:1.55;color:#f0e8fd}
.fx-points{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:14px;max-width:480px;position:relative;z-index:1}
.fx-points li{display:grid;gap:2px;padding:14px 16px;border-radius:16px;background:#ffffff1f;border:1px solid #ffffff33;backdrop-filter:blur(6px)}
.fx-points b{font-size:15.5px}.fx-points span{font-size:14px;line-height:1.45;color:#eee4fd}
.fx-formside{display:flex;align-items:center;justify-content:center;padding:40px clamp(18px,5vw,64px)}
.fx-split .fx-authcard{width:100%;max-width:440px;margin:0;border-radius:24px;padding:36px clamp(22px,4vw,38px);background:#fff;border:1px solid #d5c5ed;box-shadow:0 2px 4px #6b5a2a12,0 24px 60px #6b5a2a1c}
.fx-mobilebrand{display:none!important;margin-bottom:18px}
.fx-split .fx-authcard h1{margin:0 0 6px;font-size:clamp(26px,3.4vw,32px);letter-spacing:-.02em;color:#20192a}
.fx-split .auth-panel p.muted{margin:0 0 24px;color:#452f66;line-height:1.5;font-size:15px}
.fx-split .auth-form{gap:16px}
.fx-split .auth-form input:not([type=checkbox]){font-size:16px}
.fx-split .fx-passrow{position:relative;display:block}.fx-split .fx-passrow input{padding-right:78px}
.fx-split .fx-passrow button{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:34px;padding:0 12px;border-radius:10px;border:0;background:#ebdffc;color:#451d81;font-weight:700;font-size:13px;cursor:pointer}
.fx-split label.auth-agree{padding:12px 14px;border:1.5px solid #d5c5ed;border-radius:14px;background:#fbf9fe;font-size:13px;color:#3d2b59;cursor:pointer}
.fx-split label.auth-agree:has(input:checked){border-color:#7e39e5;background:#ebdffc}
.fx-split .auth-agree input{width:20px;height:20px;margin-top:1px;accent-color:#7e39e5;flex:none}
.fx-split .auth-switch{color:#452f66;font-size:14px}.fx-split .auth-switch a,.fx-split .auth-switch button{color:#5825a5;font-weight:700;text-decoration:none;font-size:14px}
.fx-split .auth-footer{color:#654f85}
.fx-split #authSubmit:disabled{opacity:.6}
.fx-install{display:block;width:100%;margin-top:14px;min-height:46px;border-radius:14px;border:1.5px solid #c1abe3;background:#fff;color:#3d2b59;font-weight:700;font-size:15px;cursor:pointer}
.fx-install[hidden]{display:none}
.fx-iosnote{margin-top:12px;padding:12px 14px;border-radius:14px;background:#efe6fd;border:1px dashed #9e78d8;color:#452f66;font-size:13.5px;line-height:1.5;text-align:left}
@media(max-width:860px){
  .fx-split{grid-template-columns:1fr;min-height:0}
  .fx-hero{display:none}
  .fx-formside{align-items:flex-start;padding:calc(22px + var(--fx-safe-t)) 16px calc(28px + var(--fx-safe-b))}
  .fx-mobilebrand{display:flex!important}
  .fx-split .fx-authcard{box-shadow:0 12px 36px #6b5a2a18;padding:26px 20px}
}
/* get-started + welcome: same polish, phone safe areas */
body.fx-auth-page .fx-auth{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(60px + var(--fx-safe-b))}
body.fx-auth-page .fx-field input{font-size:16px}
body.fx-auth-page .fx-welcome-logo{box-shadow:0 14px 36px #5b1fc433,0 0 0 6px #ffffff88}
body.fx-auth-page .fx-path{transition:transform .15s,box-shadow .15s}
body.fx-auth-page .fx-path:hover{transform:translateY(-2px);box-shadow:0 2px 4px #6b5a2a12,0 18px 40px #6b5a2a22}
@media(max-width:560px){body.fx-auth-page .fx-card{padding:24px 18px;border-radius:22px}}
.fx-split [hidden]{display:none!important}
.fx-split .auth-form{display:grid;gap:16px}
.fx-split .auth-form label{display:grid;gap:6px;min-width:0;font-weight:650;font-size:14.5px;color:#3d2b59}
.fx-split .auth-form label.auth-agree{display:flex}
.fx-split .auth-form input:not([type=checkbox]){width:100%;box-sizing:border-box}
.fx-split #authSubmit{width:100%;min-height:54px;border:0;border-radius:16px;color:#fff;font-size:17px;font-weight:750;background:linear-gradient(135deg,#7f39e9 0%,#7e39e5 55%,#5b1fc4 100%);box-shadow:0 10px 24px #5b1fc440;cursor:pointer}
.fx-split .auth-error{margin:0;min-height:1.2em;font-size:14px}
.fx-split .auth-switch{margin:16px 0 0;text-align:center}
.fx-split .auth-footer{margin-top:22px;text-align:center;font-size:12px;line-height:1.6}
