/* Public account surfaces use the same product tokens as the new intake. */
.auth-layout { margin:0; background:var(--gs-sand); color:var(--gs-text-primary); -webkit-font-smoothing:antialiased; }
.auth-layout *, .auth-layout *::before, .auth-layout *::after { box-sizing:border-box; }
.auth-shell { width:100%; max-width:480px; min-height:100dvh; margin:0 auto; padding:calc(24px + env(safe-area-inset-top, 0px)) 24px calc(20px + env(safe-area-inset-bottom, 0px)); display:flex; flex-direction:column; }
.auth-header { margin-bottom:52px; }
.auth-brand { display:inline-flex; align-items:center; gap:10px; font-size:16px; font-weight:650; letter-spacing:-.2px; color:var(--gs-text-primary); text-decoration:none; min-height:44px; }
.auth-brand img { width:32px; height:32px; }
.auth-content { width:100%; }
.auth-heading { margin:0 0 12px; font-size:32px; font-weight:750; letter-spacing:-1px; line-height:1.12; }
.auth-intro { margin:0 0 32px; font-size:16px; line-height:1.55; color:var(--gs-text-secondary); }
.auth-providers { display:flex; flex-direction:column; gap:12px; }
.auth-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:54px; border:1px solid transparent; border-radius:14px; padding:14px 18px; background:var(--gs-product-action); color:var(--gs-product-on-action); font:600 16px/1.4 var(--font-body); text-decoration:none; cursor:pointer; }
.auth-button--provider { background:var(--gs-card); color:var(--gs-text-primary); border-color:var(--gs-border); }
.auth-button--provider:hover { background:var(--gs-sand-light); }
.auth-providers form { margin:0; }
.auth-form { display:flex; flex-direction:column; gap:22px; }
.auth-field label { display:block; margin:0 0 8px; font-size:14px; font-weight:600; }
.auth-input { width:100%; min-height:54px; padding:14px; border:1px solid var(--gs-border); border-radius:14px; background:var(--gs-card); color:var(--gs-text-primary); font:400 16px/1.4 var(--font-body); }
.auth-password { position:relative; }
.auth-password .auth-input { padding-right:54px; }
.auth-password-toggle { display:grid; place-items:center; position:absolute; right:5px; top:5px; width:44px; height:44px; border:0; border-radius:10px; background:transparent; color:var(--gs-text-secondary); cursor:pointer; }
.auth-password-toggle svg { width:20px; height:20px; }
.auth-hint { margin:8px 0 0; font-size:13px; line-height:1.5; color:var(--gs-text-secondary); }
.auth-consent { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.6; color:var(--gs-text-secondary); }
.auth-consent input { flex:0 0 18px; width:18px; height:18px; margin-top:3px; accent-color:var(--gs-product-action); }
.auth-consent a, .auth-footer a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.auth-navigation { display:flex; align-items:center; flex-direction:column; gap:6px; margin-top:24px; font-size:14px; color:var(--gs-text-secondary); }
.auth-navigation p { margin:4px 0; text-align:center; }
.auth-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; color:var(--gs-coral-deep); font-weight:600; text-decoration:none; text-underline-offset:4px; }
.auth-link:hover { text-decoration:underline; }
.auth-navigation .auth-link--quiet { color:var(--gs-text-secondary); font-weight:400; }
.auth-message { margin:0 0 24px; padding:16px; border:1px solid var(--gs-border); border-radius:14px; background:var(--gs-card); color:var(--gs-text-primary); font-size:14px; line-height:1.5; }
.auth-message--error { color:var(--gs-coral-deep); background:var(--gs-coral-glow); border-color:var(--gs-coral-deep); }
.auth-message h2 { font-size:14px; font-weight:600; margin:0 0 6px; }
.auth-message ul { padding-left:18px; margin:0; }
.auth-form .auth-message { margin-bottom:0; }
.auth-footer { padding-top:36px; margin:auto 0 0; font-size:12px; line-height:1.6; text-align:center; color:var(--gs-text-secondary); }
.auth-layout :is(a,button,input):focus-visible { outline:2px solid var(--gs-coral-deep); outline-offset:3px; }
.auth-layout .field_with_errors { display:contents; }
.auth-layout .hidden { display:none; }
@media (min-width:600px) { .auth-shell { padding-top:48px; padding-bottom:32px; } .auth-header { margin-bottom:64px; } }
@media (max-width:360px) { .auth-shell { padding-left:20px; padding-right:20px; } .auth-heading { font-size:29px; } }
.dark .auth-brand img { filter:invert(1); }
.auth-layout .auth-input:focus { border-color:var(--gs-coral-deep); box-shadow:none; }
.auth-consent input { color:var(--gs-product-action); border-color:var(--gs-border); border-radius:4px; }
.auth-consent input:focus { box-shadow:none; }
/* The forms plugin's white tick disappears on the light action fill in dark mode. */
.dark .auth-consent input[type="checkbox"]:checked {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23191a17' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");
}
