:root{font-family:var(--body,"Hanken Grotesk",system-ui,sans-serif);color:var(--fc-brand-text,black);background:var(--fc-brand-background,whitesmoke)}*{box-sizing:border-box}body{margin:0;min-height:100vh}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,42%) 1fr}.auth-art{background:var(--fc-brand-secondary,black);color:var(--fc-brand-on-secondary,white);padding:clamp(28px,6vw,80px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(20px,4vh,48px);min-height:100vh}.auth-mark{display:flex;align-items:center;gap:10px;color:var(--fc-brand-accent,var(--fc-brand-primary,var(--fc-brand-primary)));letter-spacing:.14em;text-transform:uppercase;font-weight:700;font-size:.78rem}.auth-mark img{width:42px;height:42px;object-fit:contain}.auth-lion{display:grid;place-items:center;min-height:0}.auth-lion img{display:block;width:min(100%,420px);height:min(42vh,420px);object-fit:contain}.auth-art-copy h1{font:700 clamp(2.8rem,6vw,5.8rem)/.95 var(--display,'Sora',sans-serif);max-width:6ch;margin:0;color:var(--fc-brand-on-secondary,white);letter-spacing:-.05em}.auth-art-copy p{max-width:24ch;color:var(--fc-brand-on-secondary,white);opacity:.78}.auth-card{align-self:center;max-width:510px;width:100%;padding:clamp(28px,7vw,90px);margin:auto}.auth-card h2{font:700 clamp(2rem,4vw,3.2rem)/1 var(--display,'Sora',sans-serif);margin:0 0 12px;letter-spacing:-.04em}.auth-card p{color:var(--fc-brand-muted,gray);line-height:1.55}.auth-form{display:grid;gap:16px;margin-top:28px}.auth-form label,#tenant-picker{display:grid;gap:7px;font-weight:700;font-size:.86rem}.auth-form input,.auth-form select,#tenant-picker select{border:1px solid var(--fc-brand-control-border,black);border-radius:5px;padding:13px 14px;font:inherit;background:var(--fc-brand-surface,white);color:var(--fc-brand-on-surface,black)}.auth-form button{border:0;border-radius:5px;padding:14px;background:var(--fc-brand-primary,var(--fc-brand-primary));color:var(--fc-brand-on-primary,white);font-weight:700;font:inherit;cursor:pointer}.auth-link{color:var(--fc-brand-link,var(--fc-brand-primary,var(--fc-brand-primary)));background:none;border:0;padding:0;margin:14px 14px 0 0;font:inherit;text-align:left;cursor:pointer}.auth-status{min-height:24px;color:var(--fc-brand-primary,var(--fc-brand-primary))}.auth-card[hidden],.auth-form[hidden],[hidden]{display:none!important}.auth-note{font-size:.83rem}@media(max-width:760px){.auth-shell{display:block}.auth-art{min-height:min(60dvh,420px);height:auto;padding:20px 24px;grid-template-rows:auto minmax(80px,1fr) auto;gap:16px}.auth-lion img{height:min(22dvh,150px);width:min(55vw,180px)}.auth-art-copy h1{font-size:clamp(2rem,9vw,2.8rem);max-width:8ch}.auth-art-copy p{display:none}.auth-mark img{width:32px;height:32px}.auth-card{padding:26px 24px}.auth-form{margin-top:20px;gap:12px}}
/* Lane AA: 44 px targets for the text links, and the brand mark readable on the dark art panel (it read 3.98:1). */
.auth-link{min-height:44px;display:inline-flex;align-items:center}
.auth-art .auth-mark{color:color-mix(in srgb,var(--fc-brand-accent,var(--fc-brand-primary,#b94716)) 55%,#fff)}
/* Lane BA #11: Night Shift look to match the app (dark by default, light when the person chose it), with the vector lion.
   Neutral surfaces from the app's design tokens; the art panel stays a dark stage in both themes. */
:root{--auth-bg:#131719;--auth-art:#0a0b10;--auth-surface:#1b2226;--auth-text:#f2f5f6;--auth-muted:#b3bec4;--auth-line:#71848f;--auth-action:#77b6d5;--auth-on-action:#0b202a;--auth-link:#77b6d5;--auth-on-art:#f2f5f6;--auth-art-accent:#77b6d5;color-scheme:dark}
:root[data-theme="light"]{--auth-bg:#f3f5f5;--auth-art:#17242b;--auth-surface:#fff;--auth-text:#17242b;--auth-muted:#53656f;--auth-line:#778b96;--auth-action:#246d91;--auth-on-action:#fff;--auth-link:#246d91;color-scheme:light}
html body{background:var(--auth-bg);color:var(--auth-text)}
html .auth-art{background:var(--auth-art);color:var(--auth-on-art)}
html .auth-art .auth-mark{color:var(--auth-art-accent)}
html .auth-art-copy h1,html .auth-art-copy p{color:var(--auth-on-art)}
html .auth-card h2{color:var(--auth-text)}
html .auth-card p,html .auth-note{color:var(--auth-muted)}
html .auth-form label,html #tenant-picker{color:var(--auth-text)}
html .auth-form :is(input,select),html #tenant-picker select{background:var(--auth-surface);color:var(--auth-text);border-color:var(--auth-line);border-radius:10px}
html .auth-form button{background:var(--auth-action);color:var(--auth-on-action);border-radius:10px}
html .auth-link,html .auth-status{color:var(--auth-link)}
html body :is(button,a,input,select):focus-visible{outline:3px solid var(--auth-link);outline-offset:3px}
.auth-mark.has-vlion>img,.auth-lion.has-vlion>img{display:none}
.auth-vlion{display:block}
.auth-vlion .fm-lion{display:block;width:100%;height:100%}
.auth-vlion-head{width:42px;height:42px}
.auth-vlion-body{width:min(100%,360px);height:min(46vh,440px)}
@media(max-width:760px){.auth-vlion-head{width:32px;height:32px}.auth-vlion-body{width:min(55vw,180px);height:min(24dvh,170px)}}
