/* Winrank identity and account access. */
.logo.winrank-brand{gap:9px;letter-spacing:-1px;flex-shrink:0}
.winrank-brand img{display:block;object-fit:contain;flex-shrink:0}
.logo.winrank-brand span{color:#211b35}
.auth-page{--ink:#211b35;--muted:#6c667c;--green:#6241ce;--line:#e5e0ef;background:#faf8ff;min-height:100svh;display:flex;flex-direction:column}
.auth-page main{width:100%;max-width:1140px;flex:1;padding:48px 32px;display:flex;align-items:center}
.auth-header{padding-inline:max(5vw,24px);justify-content:space-between;background:#fff;border-color:#e5e0ef}
.auth-header .auth-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:700;color:#554b68}
.auth-layout{width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.auth-intro{padding-block:20px}
.auth-page .eyebrow{color:#6241ce;letter-spacing:1.2px;font-size:10px;margin-bottom:14px}
.auth-intro h2{font-size:clamp(30px,3.5vw,44px);line-height:1.18;letter-spacing:-1.8px;margin-bottom:20px}
.auth-intro h2 span{color:#6241ce}
.auth-intro>p:not(.eyebrow){max-width:400px;font-size:15px;line-height:1.65;color:var(--muted)}
.auth-benefits{list-style:none;margin:28px 0;padding:0;display:grid;gap:20px}
.auth-benefits li{display:flex;gap:14px;align-items:flex-start}
.auth-benefits li>span{width:40px;height:40px;border:1px solid #211b35;border-radius:12px;background:#d9ffc1;color:#211b35;display:grid;place-items:center;font-size:23px;flex-shrink:0}
.auth-benefits li:nth-child(2)>span{background:#ffe98a}
.auth-benefits li:nth-child(3)>span{background:#e0d6ff}
.auth-benefits b{display:block;font-size:14px;margin-bottom:3px}
.auth-benefits small{display:block;font-size:13px;line-height:1.5;color:var(--muted)}
.auth-intro .auth-next{border-top:1px solid var(--line);padding-top:20px;font-size:12px}
.auth-next span{display:block;color:#6241ce;font:500 12px 'DM Mono',monospace;margin-bottom:8px}
.auth-card{min-width:0;background:#fff;padding:32px;border:1px solid #e1dbea;border-radius:20px;box-shadow:0 8px 32px #33225108}
.auth-card h1{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0 0 12px}
.auth-copy{font-size:14px;line-height:1.65;color:var(--muted);margin-bottom:24px}
.auth-access-note{font-size:12px;line-height:1.6;padding:12px;border-radius:8px;background:#f4f0ff}
.auth-form{display:grid;gap:18px}
.auth-page .auth-google{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 18px;border:1px solid #747775;border-radius:9px;background:#fff;color:#1f1f1f;font-family:Arial,sans-serif;font-size:14px;font-weight:600;text-decoration:none}
.auth-google:hover{background:#f8f8fa;box-shadow:0 1px 3px #211b3518}
.auth-google svg{flex-shrink:0}
.auth-card .auth-signup-terms{margin-top:20px;text-align:center}
.auth-email-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:0 0 20px;background:#f7f4ff;border:1px solid var(--line);border-radius:9px}
.auth-email-summary div{min-width:0}
.auth-email-summary span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.auth-email-summary strong{display:block;font-size:13px;overflow-wrap:anywhere}
.auth-page .auth-email-summary button{flex-shrink:0;background:transparent;border:0;border-radius:6px;color:#6241ce;padding:10px 0;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--muted);font-size:12px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-field{display:grid;gap:7px}
.auth-field label{font-size:13px;font-weight:700}
.auth-field input{min-height:48px;border-color:#d7d0e3;border-radius:9px;font-size:16px;line-height:1.4;padding:11px 13px}
.auth-field input::placeholder{color:#827c8f;opacity:1}
.auth-field small{color:var(--muted);font-size:11px;line-height:1.6}
.auth-field .auth-field-error{color:#9b342d;font-weight:600}
.auth-field input[aria-invalid="true"]{border-color:#b34646}
.auth-password{position:relative}
.auth-password input{padding-right:70px}
.auth-page .auth-toggle{position:absolute;top:2px;right:3px;bottom:2px;min-width:60px;background:transparent;color:#6241ce;padding:0 10px;border-radius:7px;font-size:12px;align-self:auto}
.auth-toggle[hidden]{display:none}
.auth-page a{color:#6241ce;text-underline-offset:3px}
.auth-page .auth-submit{width:100%;min-height:48px;gap:12px;border:1px solid #5131b2;border-radius:9px;background:#6241ce;color:#fff;font-size:14px}
.auth-submit:hover{background:#5131b2}
.auth-submit:disabled{opacity:.7;cursor:wait}
.auth-page :is(a,button,input):focus-visible{outline:3px solid #b19aef;outline-offset:3px}
.auth-terms{font-size:11px;line-height:1.65;color:var(--muted);margin:0}
.auth-switch{font-size:13px;text-align:center;border-top:1px solid var(--line);margin:24px 0 0;padding-top:20px}
.auth-switch a{font-weight:800}
.auth-support{font-size:12px;text-align:center;color:var(--muted);margin:16px 0 0}
.auth-card .flash{margin:0 0 20px;font-size:13px;line-height:1.6;border:1px solid #efc6c6}
.auth-page .legal-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:20px max(5vw,24px);background:#fff;font-size:12px;color:var(--muted)}
.auth-page .legal-footer nav{height:auto;padding:0;border:0;background:transparent;gap:24px;flex-wrap:wrap}
.auth-page .legal-footer a{color:#554b68;font-size:12px;min-height:32px;display:inline-flex;align-items:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.auth-layout{gap:32px}.auth-card{padding:26px}.auth-intro h2{font-size:32px}}
@media(max-width:720px){.auth-page main{padding:28px 20px;max-width:500px}.auth-layout{grid-template-columns:1fr;gap:0}.auth-intro{display:none}.auth-card{padding:26px}.auth-card h1{font-size:28px}.auth-header{padding-inline:20px}.auth-header .auth-back{font-size:12px}.auth-page .legal-footer{padding:16px 20px;flex-wrap:wrap;justify-content:center}.auth-page .legal-footer nav{gap:20px}.auth-page .logo.winrank-brand{display:inline-flex}}
@media(max-width:380px){.auth-page main{padding:24px 14px}.auth-card{padding:22px}.auth-card h1{font-size:26px}}
