.login-screen { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: var(--sp-6); background: radial-gradient(600px 400px at 50% -10%, color-mix(in srgb, var(--ds-accent-3) 18%, transparent), transparent 70%), var(--ds-void); } .login-card { width: min(380px, 100%); background: var(--card-bg); border: 1px solid var(--ds-border); border-radius: var(--radius); padding: var(--sp-8) var(--sp-6); display: flex; flex-direction: column; gap: var(--sp-6); } .login-brand { display: flex; align-items: center; justify-content: center; gap: var(--sp-2); } .login-brand img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; } .login-brand span { font-weight: 800; font-size: 1.45rem; } .login-copy { text-align: center; color: var(--ds-muted); font-size: 0.9rem; line-height: 1.5; margin: calc(-1 * var(--sp-4)) 0 0; } .login-form { display: flex; flex-direction: column; gap: var(--sp-4); } .login-form label { display: flex; flex-direction: column; gap: 6px; font-size: 0.78rem; color: var(--ds-muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; } .login-form input { background: var(--ds-void); border: 1px solid var(--ds-border); border-radius: var(--radius); padding: 9px 11px; font-size: 0.9rem; color: var(--ds-text); text-transform: none; letter-spacing: 0; font-weight: 400; } .login-form input:focus { border-color: var(--ds-accent); outline: none; } .login-error { font-size: 0.86rem; color: var(--ds-danger); border: 1px solid color-mix(in srgb, var(--ds-danger) 40%, transparent); background: color-mix(in srgb, var(--ds-danger) 10%, transparent); border-radius: var(--radius); padding: 8px 10px; margin: 0; }