/* Account authentication uses UT workspace tokens and controls. */
.utc-auth,.utc-auth *{box-sizing:border-box}.utc-auth{width:min(calc(100% - var(--ut-gutter-wide) * 2),1150px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:clamp(32px,7vw,120px);align-items:center;max-width:1150px;margin:auto;padding:clamp(30px,6vw,90px) 0;color:var(--ut-text);font-family:var(--ut-font-body)}.utc-auth-eyebrow{font:700 11px/1.5 var(--ut-font-label);letter-spacing:.1em;color:var(--ut-accent);margin:0 0 24px}.utc-auth-intro h1{font:400 clamp(48px,6vw,88px)/.98 var(--ut-font-display);margin:0 0 24px;letter-spacing:-.02em}.utc-auth-intro h1 span{color:var(--ut-accent)}.utc-auth-intro>p:not(.utc-auth-eyebrow){font-size:clamp(15px,1.3vw,18px);line-height:1.7;color:var(--ut-muted);max-width:40ch}.utc-auth-intro>a{display:inline-block;margin-top:15px;font:700 11px/1.5 var(--ut-font-label);text-transform:uppercase;color:var(--ut-accent);text-decoration:none}.utc-auth-panel{padding:clamp(22px,3vw,34px);background:var(--ut-surface);border:1px solid var(--ut-border);min-width:0}.utc-auth-tabs{display:flex;gap:22px;border-bottom:1px solid var(--ut-border);margin-bottom:25px}.utc-auth-tabs a{padding-bottom:14px;text-decoration:none;font:700 12px/1.5 var(--ut-font-label);text-transform:uppercase;color:var(--ut-muted)}.utc-auth-tabs a[aria-current]{color:var(--ut-accent);border-bottom:2px solid var(--ut-accent)}.utc-auth-form{display:grid;gap:10px;margin:0}.utc-auth-form>label{font:700 11px/1.5 var(--ut-font-label);margin-top:10px}.utc-auth-form input:not([type=checkbox]){display:block;width:100%;min-width:0;min-height:46px;padding:11px 12px;background:var(--ut-bg);border:1px solid var(--ut-border);border-radius:0;color:var(--ut-text);font:400 14px/1.5 var(--ut-font-body);box-shadow:none}.utc-auth-password{display:flex;min-width:0;background:var(--ut-bg);border:1px solid var(--ut-border)}.utc-auth-password input:not([type=checkbox]){flex:1;border:0}.utc-auth-password>button{padding:8px 13px;min-width:56px;border:0;background:transparent;color:var(--ut-muted);font:700 10px/1.5 var(--ut-font-label);cursor:pointer}.utc-auth-password:focus-within{outline:2px solid var(--ut-accent);outline-offset:1px}.utc-auth-help,.utc-auth-form .woocommerce-privacy-policy-text{font-size:12px;line-height:1.6;color:var(--ut-muted);margin:0 0 7px}.utc-auth-form .utc-auth-check{display:flex;align-items:start;gap:9px;margin:10px 0;font:400 12px/1.6 var(--ut-font-body);color:var(--ut-muted)}.utc-auth-check input{flex:0 0 16px;width:16px;height:16px;margin:2px 0;accent-color:var(--ut-accent)}.utc-auth-form a,.utc-auth-notice a{color:var(--ut-text);text-underline-offset:3px;text-decoration-color:var(--ut-accent)}.utc-auth-login-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.utc-auth-submit,.utc-auth-secondary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:46px;padding:12px 16px;margin-top:12px;border:1px solid var(--ut-accent);border-radius:0;background:var(--ut-accent);color:var(--ut-bg);font:700 11px/1.5 var(--ut-font-label);text-transform:uppercase;cursor:pointer}.utc-auth-submit:hover{background:var(--ut-text);border-color:var(--ut-text)}.utc-auth-notice{padding:16px 18px;margin:0 0 22px;background:var(--ut-surface);border:1px solid var(--ut-border);border-left:2px solid var(--ut-accent);color:var(--ut-text);font-size:13px;line-height:1.65}.utc-auth-notice p{margin:8px 0;color:var(--ut-muted)}.utc-auth-notice form{margin:0}.utc-auth-secondary{display:inline-flex;min-height:38px;padding:8px 12px;font-size:10px;background:var(--ut-bg);color:var(--ut-text);border-color:var(--ut-border)}.utc-auth-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.utc-auth :is(a,input,button):focus-visible,.utc-auth-notice :is(a,button):focus-visible{outline:2px solid var(--ut-accent);outline-offset:3px}
@media(max-width:820px){.utc-auth{grid-template-columns:1fr;max-width:520px;gap:28px;padding:30px 0 60px}.utc-auth-intro h1{font-size:clamp(44px,8vw,65px);margin-bottom:17px}.utc-auth-eyebrow{margin-bottom:17px}.utc-auth-intro>p:not(.utc-auth-eyebrow){font-size:14px}.utc-auth-intro>a{margin-top:5px}}@media(max-width:380px){.utc-auth-panel{padding:18px}.utc-auth-login-tools{align-items:start;gap:8px}.utc-auth-login-tools>a{padding-top:12px}.utc-auth-notice{padding:13px}}
/* Set-password screen: live validation feedback. Colour is never the only signal (the text states the problem). */
.utc-auth{--utc-bad:#ff9a8a}
.utc-auth-status{min-height:1.6em;margin:2px 0 0;font-size:12px;line-height:1.6;color:var(--ut-muted)}
.utc-auth-status[data-state=ok]{color:var(--ut-text)}
.utc-auth-status[data-state=bad]{color:var(--utc-bad)}
.utc-auth-panel>a.utc-auth-submit{text-decoration:none}
/* Touch targets: every link/button on the auth screens is at least 44px tall (AGENTS.md design rules). Visual weight is unchanged. */
.utc-auth-tabs a{display:inline-flex;align-items:flex-end;min-height:44px}
.utc-auth-intro>a{display:inline-flex;align-items:center;min-height:44px}
.utc-auth-login-tools>a{display:inline-flex;align-items:center;min-height:44px}
.utc-auth-password>button{min-height:44px;font-size:11px}
.utc-auth-notice a{display:inline-block;padding:12px 0;margin:-12px 0}
.utc-auth-check a{display:inline-block;padding:15px 0;margin:-15px 0}

/* Field-level errors: the text says what is wrong; the border is only a second signal. */
.utc-auth-field-error{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--utc-bad)}
.utc-auth-form input[aria-invalid="true"]{border-color:var(--utc-bad)}
.utc-auth-form input[aria-invalid="true"]:focus-visible{outline:2px solid var(--utc-bad);outline-offset:2px}
.utc-auth-notice a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.utc-auth-password:has(input[aria-invalid="true"]){border-color:var(--utc-bad)}
