.ivt-login { min-height: calc(100dvh - 16px); display:grid; grid-template-columns:minmax(0, 42fr) minmax(0, 58fr); }
.ivt-login-brand { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(24px,4vw,64px); min-width:0; background:var(--ivt-panel); color:var(--ivt-text); overflow:hidden; }
.ivt-login-background,.ivt-login-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
.ivt-login-background { object-fit:cover; object-position:left center; opacity:.08; }
.ivt-login-shade { background:radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--ivt-secondary) 7%,transparent),transparent 75%); }
html[data-ivtema="dark"] .ivt-login-brand { background:color-mix(in srgb,var(--ivt-bg) 88%,#000); }
.ivt-login-custom { color:var(--ivt-login-ink); }
.ivt-login-custom .ivt-login-shade { background:linear-gradient(150deg,var(--ivt-login-from),var(--ivt-login-to)); }
.ivt-login-identity { width:220px; max-width:100%; margin-inline:auto; }
.ivt-login-logo { display:block; width:100%; height:160px; object-fit:contain; }
.ivt-login-story { width:100%; max-width:480px; margin:24px auto 0; }
.ivt-login-story h2 { font-size:clamp(2rem,3.5vw,3.2rem); line-height:1.08; font-weight:750; letter-spacing:-.035em; margin:12px 0 18px; }
.ivt-login-story h2 span { color:var(--ivt-accent); }
.ivt-login-story p { font-size:1.05rem; line-height:1.6; opacity:.85; margin-bottom:20px; }
.ivt-login-features { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.78rem; opacity:.8; }
.ivt-login-features span::before { content:'✓'; margin-right:6px; color:var(--ivt-accent); }
.ivt-login-illustration { display:block; width:100%; height:auto; max-height:220px; overflow:visible; }
.ivt-art-panel { fill:var(--ivt-input); stroke:var(--ivt-border); }
.ivt-art-accent { fill:var(--ivt-secondary); }
.ivt-art-text { fill:var(--ivt-text); }
.ivt-art-line { stroke:var(--ivt-muted); stroke-linecap:round; opacity:.4; }
.ivt-login-footer { margin-top:36px; text-align:center; font-size:.9rem; overflow-wrap:anywhere; max-width:100%; }
.ivt-login-footer a { color:inherit; text-underline-offset:3px; }
.ivt-login-footer img { max-width:100%; height:auto; }
.ivt-login-panel { display:flex; align-items:center; justify-content:center; padding:clamp(24px,6vw,100px); min-width:0; }
.ivt-login-form { width:100%; max-width:420px; }
.ivt-login h1 { font-size:clamp(1.7rem,3vw,2.25rem); margin-bottom:12px; }
.ivt-login-eyebrow { font-size:.75rem; letter-spacing:.13em; color:var(--ivt-muted); font-weight:700; }
.ivt-login .form-control { min-height:50px; font-size:16px; }
.ivt-login .form-label { font-weight:600; }
.ivt-login button { min-height:52px; }
@media(max-width:767.98px) {
 .ivt-login { grid-template-columns:minmax(0,1fr); min-height:calc(100dvh - 16px); }
 .ivt-login-brand { padding:24px; }
 .ivt-login-identity { width:150px; }
 .ivt-login-logo { height:94px; }
 .ivt-login-story { display:grid; grid-template-columns:minmax(0,1fr) 104px; gap:8px; margin-top:20px; }
 .ivt-login-illustration { grid-column:2; grid-row:1/3; align-self:center; }
 .ivt-login-story h2 { font-size:1.75rem; margin:0; }
 .ivt-login-story p { grid-column:1; font-size:.9rem; margin:4px 0 0; }
 .ivt-login-features { display:none; }
 .ivt-login-footer { margin-top:16px; font-size:.8rem; }
 .ivt-login-panel { padding:28px 24px 40px; align-items:flex-start; }
}
