.auth-split{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:var(--canvas)}@media (max-width:880px){.auth-split{grid-template-columns:1fr}}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px}.auth-card{width:100%;max-width:380px}.auth-card h1{font-size:22px;font-weight:600;color:var(--ink)}.auth-card .sub{margin-top:6px;color:var(--ink-muted);font-size:14px}.auth-form{margin-top:26px;gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:7px}.auth-field label{font-size:13px;color:var(--ink-muted)}.auth-input{width:100%;padding:11px 13px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);color:var(--ink);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue-soft)}.auth-btn{width:100%;padding:11px 16px;min-height:43px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--ink);color:#000;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s ease,background .15s ease}.auth-btn:hover{background:#ffffff}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-btn-spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.28);border-top-color:#000;border-radius:999px;animation:auth-spin .75s linear infinite;flex:0 0 auto}@keyframes auth-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.auth-btn-spinner{animation:none}}.auth-btn-ghost{background:var(--surface-1);border-color:transparent;color:var(--ink)}.auth-btn-ghost:hover{background:var(--surface-2)}.auth-alt{margin-top:22px;font-size:13px;color:var(--ink-muted);text-align:center}.auth-alt a{color:var(--accent-blue)}.auth-row-between{display:flex;justify-content:space-between;align-items:center}.auth-banner{padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.45}.auth-banner.error{background:rgba(229,72,77,.1);border:1px solid rgba(229,72,77,.3);color:var(--danger)}.auth-banner.ok{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:var(--success)}