body { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-container { width:100%; max-width:480px; background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:32px; }
.brand { display:inline-flex; font-size:16px; font-weight:650; text-decoration:none; margin-bottom:28px; color:var(--ink); }
h1 { margin:0 0 8px; font-size:26px; letter-spacing:-.5px; }
.login-intro,.welcome-text,.login-help { color:var(--muted); margin:0 0 20px; }
.workspace-choice { display:flex; gap:6px; padding:4px; background:var(--canvas); border-radius:7px; margin:24px 0; }
.workspace-choice a { flex:1; text-align:center; text-decoration:none; padding:9px; border:1px solid transparent; border-radius:5px; color:var(--muted); }
.workspace-choice [aria-current=page] { background:#fff; border-color:var(--line); color:var(--accent); font-weight:550; }
.google-login-btn { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; padding:12px; min-height:44px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:#fff; font-weight:550; }
.google-icon { width:20px; height:20px; }
.onboarding-form { display:grid; gap:16px; }
.form-field { display:grid; gap:6px; }
.form-field input { width:100%; }
.address-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field-wide { grid-column:1/-1; }
.optional-label { color:var(--muted); font-weight:400; }
.onboarding-form button { background:var(--accent); color:#fff; border-color:var(--accent); }
.login-help { margin:24px 0 0; padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.error-message { display:none; margin:20px 0; border:1px solid #e8caca; border-radius:6px; padding:12px; color:#a33d3d; background:#fbefef; }
.loading-overlay { display:none; position:fixed; inset:0; z-index:20; align-items:center; justify-content:center; background:#f5f6f8ed; }
.loading-content { padding:24px; background:#fff; border:1px solid var(--line); border-radius:8px; }
@media(max-width:500px) { body { padding:16px; } .login-container { padding:24px; } .address-grid { grid-template-columns:1fr; } }
