.signin-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}
.signin-header{width:min(1240px,calc(100% - 72px));min-height:76px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.signin-home{font-size:14px;color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.signin-home:hover{color:var(--gold)}
.signin-main{flex:1;display:grid;place-items:center;padding:20px 24px 28px}
.signin-card{width:min(100%,480px);background:linear-gradient(155deg,var(--surface-alt),var(--surface));border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:20px;padding:28px;box-shadow:0 18px 40px #0000000a}
.signin-heading{text-align:left;margin-bottom:20px}
.signin-heading .eyebrow{margin-bottom:8px}
.signin-heading h1{font-size:clamp(32px,5vw,38px);letter-spacing:-.04em;margin:0 0 10px}
.signin-heading>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.signin-preview-note{border:1px solid var(--gold);background:var(--gold-soft);color:var(--ink);border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.5;margin:0 0 22px}
#signin-form label,.recovery-dialog label{display:block;font-size:14px;font-weight:600;margin:0 0 6px;line-height:1.4}
#signin-form>input,.recovery-dialog input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:16px}
#signin-form>input:focus,.recovery-dialog input:focus{border-color:var(--gold);outline:3px solid color-mix(in srgb,var(--gold) 30%,transparent);outline-offset:1px}
#signin-form>input[aria-invalid="true"],.recovery-dialog input[aria-invalid="true"]{border-color:#a64141}
.password-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 6px}
.password-label label{margin:0!important}
.password-label button,.forgot-link{border:0;background:transparent;color:var(--gold);font-weight:600;font-size:13px;padding:4px;min-height:32px}
.forgot-link{display:block;margin:4px 0 8px auto}
.signin-submit,.provider-button{width:100%;min-height:48px;border-radius:10px;font:600 15px/1.4 'Public Sans',system-ui,sans-serif;padding:11px 18px}
.signin-submit{border:1px solid var(--gold);background:var(--gold);color:var(--bg)}
[data-account-mode="signup"] #signin-submit{margin-top:18px}
.signin-submit:hover,.provider-button:hover{filter:brightness(1.06)}
.signin-submit:disabled{opacity:.58}
.signin-message{min-height:24px;color:var(--muted);font-size:13px;line-height:1.5;margin:10px 0 0}
.signin-message:empty{min-height:0;margin:0}
.signin-divider{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px;margin:12px 0}
.signin-divider::before,.signin-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.provider-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:center}
.tester-note{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
.request-link{text-align:center;color:var(--muted);font-size:13px;margin:12px 0 0}.request-link a{color:var(--gold);font-weight:600}
.recovery-overlay{position:fixed;inset:0;z-index:50;background:#07111dcc;display:grid;place-items:center;padding:20px}
.recovery-dialog{position:relative;width:min(100%,480px);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:20px;padding:34px;box-shadow:0 30px 90px #0008}
.recovery-dialog .eyebrow{margin-bottom:10px}.recovery-dialog h2{margin-bottom:10px}.recovery-dialog>p:not(.eyebrow,.signin-message){color:var(--muted);margin:0 0 20px}.recovery-dialog input{margin-bottom:18px}
.recovery-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:24px;line-height:1}
@media(max-width:620px){.signin-header{width:calc(100% - 36px);min-height:72px}.signin-header .brand img{width:44px;height:36px}.signin-header .brand{font-size:16px}.signin-home{font-size:12px}.signin-main{display:block;padding:20px 18px 32px}.signin-card{padding:24px 22px;border-radius:16px;margin-inline:auto}.signin-heading h1{font-size:32px}.recovery-dialog{padding:30px 22px}}
@media(max-width:360px){.signin-header{align-items:flex-start;padding-block:14px}.signin-home{max-width:72px;text-align:right}.signin-card{padding-inline:18px}.signin-main{padding-inline:10px}}
