/* =========================================================================
   Login page (dark brand panel + sign-in form). Tokens from theme.css only.
   ========================================================================= */
.login-wrap { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); background: var(--bg-surface); }
.login-art { background: var(--wave-panel-dark) no-repeat left bottom / 100% 62%, var(--gradient-panel-dark); color: var(--text-sidebar); padding: 48px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.login-art h2 { font-size: 32px; font-weight: 650; letter-spacing: -0.025em; color: var(--text-sidebar-strong); max-width: 460px; line-height: 1.15; }
.login-art p { max-width: 420px; line-height: 1.6; color: var(--text-sidebar); margin-top: 14px; }
.login-art .flow { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: 28px; }
.login-art .flow span { pointer-events: none; user-select: none; display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid var(--border-sidebar); color: var(--text-sidebar-strong); font-weight: 500; padding: 6px 12px; border-radius: var(--radius-full); font-size: var(--fs-sm); }
.login-art .flow .ic { width: 14px; height: 14px; color: var(--icon-sidebar-active); }
.login-art .lockup .brand-mark { height: 48px; }
.login-art .lockup .brand-word { height: 24px; }
.login-card .lockup .brand-mark { height: 40px; }
.login-card .lockup .brand-word { height: 20px; }
.login-art .foot { font-size: var(--fs-xs); color: var(--text-sidebar-muted); }
.login-panel { display: grid; place-items: center; padding: 32px; background: var(--wave-light) no-repeat left bottom / 100% 34%, var(--bg-wave-light); }
.login-card { width: 100%; max-width: 380px; }
.login-card h1 { font-size: 28px; font-weight: 650; letter-spacing: -0.02em; margin: 28px 0 6px; }
.login-card > p { color: var(--text-muted); margin: 0 0 24px; }
.login-card .btn-primary { height: var(--control-h-lg); width: 100%; font-size: var(--fs-md); }
.login-card .lockup { display: none; }
.pw { position: relative; }
.pw input { padding-right: 44px; }
.pw button { position: absolute; right: 2px; top: 50%; transform: translateY(-50%); }
@media (max-width: 860px) { .login-wrap { grid-template-columns: 1fr; } .login-art { display: none; } .login-card .lockup { display: flex; } }

