.auth-layout { min-height:100vh;display:grid;grid-template-columns:1fr 1fr; }
.auth-visual { background:linear-gradient(145deg,#1a1d3b 0%,#2d1060 55%,#0f3460 100%);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(40px,6vw,72px); }
.auth-visual::before { content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none; }
.av-orb { position:absolute;border-radius:50%;pointer-events:none; }
.av-orb-1 { width:460px;height:460px;top:-140px;right:-120px;background:radial-gradient(circle,rgba(54,162,206,.25),transparent 70%); }
.av-orb-2 { width:380px;height:380px;bottom:-100px;left:-80px; background:radial-gradient(circle,rgba(78,43,134,.4),transparent 70%); }
.av-logo { position:relative;z-index:2;margin-bottom:auto; }
.av-logo img { height:52px; }
.av-content { position:relative;z-index:2;margin:auto 0; }
.av-icon-big { width:80px;height:80px;border-radius:24px;background:rgba(54,162,206,.15);border:2px solid rgba(54,162,206,.25);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--c-blue);margin-bottom:24px; }
.av-title { font-family:var(--font-heading);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#fff;line-height:1.25;margin-bottom:14px; }
.av-sub   { font-size:.92rem;color:rgba(255,255,255,.65);line-height:1.8;max-width:360px; }

.auth-form-panel { display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px);background:#fff; }
.af-back  { display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--c-muted);text-decoration:none;margin-bottom:28px;transition:color .2s; }
.af-back:hover { color:var(--c-purple); }
.af-title { font-family:var(--font-heading);font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:800;color:var(--c-navy);margin-bottom:8px; }
.af-sub   { font-size:.9rem;color:var(--c-muted);line-height:1.75;margin-bottom:28px; }
.af-field { margin-bottom:18px; }
.af-label { display:block;font-family:var(--font-heading);font-size:.8rem;font-weight:700;color:var(--c-navy);margin-bottom:6px; }
.af-input-wrap { position:relative; }
.af-input { width:100%;padding:13px 16px 13px 44px;border:1.5px solid var(--c-border);border-radius:12px;font-family:var(--font-body);font-size:.93rem;color:var(--c-navy);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none; }
.af-input:focus { border-color:var(--c-purple);box-shadow:0 0 0 3px rgba(78,43,134,.1); }
.af-input-icon { position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--c-muted);font-size:.88rem;pointer-events:none; }
.af-submit { width:100%;padding:14px;border-radius:12px;background:var(--grad-full);color:#fff;border:none;font-family:var(--font-heading);font-size:.97rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .22s,box-shadow .22s;box-shadow:var(--shadow-btn); }
.af-submit:hover { transform:translateY(-2px);box-shadow:0 8px 28px rgba(78,43,134,.4); }
.auth-alert-success { display:flex;align-items:flex-start;gap:10px;padding:16px;border-radius:12px;background:rgba(130,190,96,.1);border:1px solid rgba(130,190,96,.3);color:#166534;font-size:.88rem;line-height:1.6;margin-bottom:20px; }
.af-switch { text-align:center;margin-top:24px;font-size:.86rem;color:var(--c-muted); }
.af-switch a { color:var(--c-purple);font-weight:700;text-decoration:none; }

@media (max-width:991px) {
  .auth-layout { grid-template-columns:1fr;min-height:auto; }
  .auth-visual { padding:28px 24px;min-height:auto; }
  .av-icon-big { width:56px;height:56px;font-size:1.4rem;border-radius:16px; }
  .auth-form-panel { padding:28px 24px; }
}
