/* Account access uses the public site's tokens and the workspace's clear controls. */
.public-auth { min-height:100dvh; display:flex; flex-direction:column; background:var(--public-bg); color:var(--public-text); font-family:"Geist",ui-sans-serif,system-ui,sans-serif; font-size:15px; line-height:1.5; }
.auth-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:28px; }
.auth-header-links { display:flex; align-items:center; gap:24px; }
.auth-home-link { color:var(--public-muted); font-size:14px; }
.auth-home-link:hover { color:var(--public-text); }
.public-auth [data-controller="theme"]:hover { color:var(--public-text); }
.auth-main { display:flex; align-items:center; justify-content:center; flex:1; padding-block:48px 64px; }
.auth-panel { width:100%; max-width:440px; min-width:0; }
.auth-card { border:1px solid var(--public-border); border-radius:var(--mir-radius-lg); padding:36px; background:var(--public-surface); box-shadow:var(--mir-shadow); }
.public-auth .auth-title { font-size:28px; line-height:1.2; letter-spacing:-.8px; font-weight:600; margin:0; }
.auth-description { color:var(--public-muted); margin:12px 0 0; line-height:1.6; font-size:14px; }
.auth-form { margin-top:28px; display:grid; gap:20px; }
.auth-label { display:block; color:var(--public-text); font-size:14px; font-weight:500; }
.auth-input { display:block; width:100%; min-width:0; min-height:48px; margin-top:8px; padding:11px 12px; border:1px solid var(--public-border); border-radius:var(--mir-radius-sm); color:var(--public-text); background:var(--public-bg); font-size:16px; line-height:1.5; }
.auth-input::placeholder { color:var(--public-muted); }
.auth-input:focus { border-color:var(--public-accent); box-shadow:0 0 0 3px var(--mir-focus-halo); }
.auth-password { position:relative; margin-top:8px; }
.auth-password .auth-input { margin-top:0; }
.auth-input--password { padding-right:52px; }
.auth-password-toggle { position:absolute; inset:0 0 0 auto; width:48px; display:flex; align-items:center; justify-content:center; color:var(--public-muted); border-radius:0 var(--mir-radius-sm) var(--mir-radius-sm) 0; }
.auth-password-toggle:hover { color:var(--public-text); }
.auth-password-toggle svg { width:20px; height:20px; }
.auth-password-toggle [hidden] { display:none !important; }
.auth-checkbox { display:flex; align-items:center; gap:10px; min-height:44px; }
.auth-checkbox-input { width:18px; height:18px; border:1px solid var(--public-border); border-radius:var(--mir-radius-sm); }
.auth-checkbox-label { color:var(--public-muted); font-size:14px; padding-block:10px; cursor:pointer; }
.auth-hint { font-size:12px; color:var(--public-muted); margin:6px 0 0; line-height:1.6; }
.auth-submit { width:100%; min-height:48px; }
.auth-links { display:grid; gap:8px; border-top:1px solid var(--public-border); padding-top:20px; margin-top:24px; font-size:14px; }
.auth-links p { margin:0; }
.auth-link { color:var(--public-accent); font-weight:500; display:inline-flex; align-items:center; min-height:44px; }
.auth-link:hover { text-decoration:underline; text-underline-offset:4px; }
.auth-muted { color:var(--public-muted); }
.auth-message { border:1px solid var(--public-border); border-left:3px solid var(--public-accent); border-radius:var(--mir-radius-sm); background:var(--public-surface); color:var(--public-text); padding:16px; margin:0 0 20px; font-size:14px; line-height:1.6; }
.auth-form .auth-message { margin-bottom:0; }
.auth-message--error { border-left-color:var(--mir-danger); background:var(--mir-danger-soft); }
.auth-error-heading { font-weight:600; margin:0; }
.auth-error-list { padding-left:20px; margin:8px 0 0; list-style:disc; }
.auth-error-list li + li { margin-top:4px; }
.auth-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-block:24px; border-top:1px solid var(--public-border); color:var(--public-muted); font-size:12px; }
.auth-footer nav { display:flex; gap:24px; }
.auth-footer a { display:inline-flex; align-items:center; min-height:44px; }
.auth-footer a:hover { color:var(--public-text); }
.public-auth :focus-visible { outline:2px solid var(--public-accent); outline-offset:3px; }
@media(max-width:760px) { .auth-header { padding-block:20px; gap:16px; } .auth-header-links { gap:12px; } .auth-home-link { display:none; } .auth-main { padding-block:32px 48px; } .auth-card { padding:28px 24px; } .auth-footer { gap:12px; padding-block:20px; } }
@media(max-width:380px) { .auth-header .public-brand { font-size:15px; gap:8px; } .auth-header [data-controller="theme"] { padding-inline:10px; } .auth-header [data-theme-target="label"] { font-size:12px; } .auth-card { padding:24px 20px; } }
@media(max-width:380px) { .auth-header [data-theme-target="label"] { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; } .auth-header [data-controller="theme"] { width:44px; justify-content:center; } }
