.portal-page { background:#fff; }
.auth-layout { display:grid; grid-template-columns:minmax(360px,.8fr) minmax(560px,1.2fr); min-height:100vh; }
.auth-brand { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:50px max(48px,calc((100vw - 1280px)/2)); overflow:hidden; background:#0d0d12; color:#fff; }
.auth-brand::after { content:""; position:absolute; width:420px; height:420px; left:-160px; bottom:-180px; border-radius:50%; background:var(--accent); filter:blur(80px); opacity:.36; }
.auth-brand .site-branding { position:relative; z-index:1; }
.auth-brand .site-branding__image,.auth-brand .custom-logo { filter:brightness(0) invert(1); mix-blend-mode:screen; }
.auth-brand > div { position:relative; z-index:1; max-width:480px; }
.auth-brand h2 { margin-bottom:20px; font-size:clamp(38px,4vw,56px); line-height:1.07; }
.auth-brand > div > p:last-child { color:rgba(255,255,255,.62); font-size:17px; line-height:1.7; }
.auth-brand > small { position:relative; z-index:1; color:rgba(255,255,255,.46); }
.auth-panel { display:grid; place-items:center; padding:50px; background:var(--bg); }
.auth-card { width:min(100%,550px); border:1px solid var(--border); border-radius:28px; padding:46px; background:#fff; box-shadow:0 26px 70px rgba(17,17,17,.08); }
.auth-card__back { display:inline-block; margin-bottom:44px; color:var(--muted); font-size:13px; }
.auth-card h1 { margin:0 0 8px; font-size:36px; }
.auth-card > p:not(.eyebrow):not(.auth-switch) { margin-bottom:28px; color:var(--muted); line-height:1.6; }
.auth-form { display:grid; gap:18px; }
.auth-options { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }
.auth-options label { display:flex; align-items:center; gap:8px; }
.auth-options input { accent-color:var(--accent); }
.text-button { border:0; padding:0; background:none; color:var(--accent); cursor:pointer; }
.password-field { display:grid; grid-template-columns:1fr auto; border:1px solid var(--border-strong); border-radius:12px; background:#fff; }
.password-field:focus-within { border-color:var(--accent); box-shadow:0 0 0 4px rgba(59,59,249,.1); }
.password-field input { border:0; box-shadow:none!important; }
.password-field button { border:0; padding:0 14px; background:none; color:var(--accent); font-size:12px; font-weight:650; cursor:pointer; }
.auth-switch { margin:26px 0 0; color:var(--muted); font-size:13px; text-align:center; }
.auth-switch a { color:var(--accent); font-weight:650; }
@media(max-width:900px){.auth-layout{display:block}.auth-brand{min-height:340px;padding:42px}.auth-brand>small{display:none}.auth-panel{padding:40px 24px}.auth-card__back{margin-bottom:28px}}
@media(max-width:520px){.auth-brand{min-height:300px;padding:30px 22px}.auth-brand h2{font-size:34px}.auth-panel{padding:20px 14px 36px}.auth-card{border-radius:22px;padding:28px 20px}.auth-card h1{font-size:30px}.auth-card .form-grid{grid-template-columns:1fr}.auth-options{align-items:flex-start;flex-direction:column;gap:10px}}


/* Luvia auth polish 2026-08-30 */
.auth-panel{background:radial-gradient(circle at 85% 12%,rgba(59,59,249,.08),transparent 34%),var(--bg)}
.auth-card{border-color:rgba(20,20,24,.09);box-shadow:0 30px 90px rgba(20,20,28,.105)}
.auth-form input,.auth-form select{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.auth-form input:focus,.auth-form select:focus{box-shadow:var(--luvia-focus)}
@media(max-width:900px){.auth-brand{min-height:280px}.auth-panel{align-items:start;padding-top:0}.auth-card{position:relative;margin-top:-30px}}
@media(max-width:520px){.auth-brand{min-height:230px;padding:26px 22px 50px}.auth-brand h2{font-size:30px;line-height:1.08}.auth-brand>div>p:last-child{font-size:14px}.auth-panel{padding:0 12px 32px}.auth-card{border-radius:22px;padding:26px 20px}.auth-card__back{margin-bottom:22px}}

