.auth-page{min-height:100vh;background:var(--paper)}
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(500px,.92fr) minmax(520px,1.08fr)}
.auth-main{display:flex;flex-direction:column;padding:34px clamp(32px,6vw,92px) 48px;background:var(--paper)}
.auth-main .logo{align-self:flex-start;margin:0 0 72px;font-size:1.65rem}
.auth-card{width:min(100%,480px);margin:auto}
.auth-card h1{font-size:clamp(3rem,5vw,4.8rem);margin-bottom:18px}
.auth-card>.lede{font-size:1.12rem;margin-bottom:38px}
.auth-form{display:grid;gap:22px}
.field{display:grid;gap:8px}
.field-row{display:flex;justify-content:space-between;align-items:center;gap:20px}
.field label,.field-label{font-weight:700;font-size:.86rem}
.field-row a,.auth-link{color:#bf452c;font-weight:700;font-size:.84rem}
.input-wrap{position:relative}
.auth-input{width:100%;height:56px;padding:0 16px;border:1px solid rgba(23,23,19,.2);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;outline:none;transition:.2s border-color,.2s box-shadow,.2s background}
.auth-input::placeholder{color:#99978f}
.auth-input:hover{border-color:rgba(23,23,19,.38)}
.auth-input:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,104,70,.2)}
.auth-input[aria-invalid=true]{border-color:#c6402d;background:#fff9f6;box-shadow:0 0 0 3px rgba(198,64,45,.12)}
.password-input{padding-right:76px}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:58px;min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}
.password-toggle:hover{background:#ece9df;color:var(--ink)}
.password-toggle:focus-visible,.role-option:focus-visible,.auth-link:focus-visible,.auth-main .logo:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.field-help{margin:0;color:var(--muted);font-size:.78rem}
.field-error{display:none;margin:0;color:#a72f20;font-size:.78rem;font-weight:700}
.field-error.visible{display:block}
.auth-submit{width:100%;border:0;cursor:pointer;margin-top:6px}
.auth-submit:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.auth-submit[disabled]{opacity:.62;cursor:wait;transform:none}
.auth-divider{height:1px;background:var(--line);margin:8px 0}
.account-prompt{text-align:center;margin:4px 0 0;color:var(--muted)}
.account-prompt a{color:var(--ink);font-weight:700}
.auth-trust{text-align:center;color:#929087;font-size:.76rem;margin:32px 0 0}
.auth-visual{margin:14px 14px 14px 0;border-radius:30px;background:var(--dark);color:var(--white);padding:clamp(38px,5vw,78px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-visual:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:var(--accent);filter:blur(0);right:-180px;top:-180px;opacity:.95}
.auth-visual-copy{position:relative;z-index:1;max-width:650px}
.auth-visual-copy .eyebrow{color:#d4d5cf}
.auth-visual-copy h2{font-size:clamp(3.4rem,6vw,6.6rem);margin-bottom:20px}
.auth-visual-copy h2 em{color:var(--accent);font-style:normal}
.auth-proof{margin-top:auto;position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:end}
.auth-match{background:var(--white);color:var(--ink);border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.auth-match .person{margin:18px 0}.auth-match .portrait{width:64px;height:64px}
.auth-match .score{background:var(--acid)}
.auth-reason{background:#eeebe3;border-radius:14px;padding:14px;font-size:.82rem;margin-bottom:16px}
.auth-mini{display:grid;gap:12px}
.auth-mini-card{background:#31352d;border-radius:18px;padding:20px;display:grid;gap:10px}
.auth-mini-card small{color:#aeb1a8;letter-spacing:.1em;font-size:.66rem}
.auth-chain{display:flex;align-items:center}.auth-chain i{height:1px;background:var(--accent);flex:1}.auth-chain .portrait{width:42px;height:42px}
.role-group{border:0;padding:0;margin:2px 0 0;min-width:0}
.role-options{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.role-option{position:relative;cursor:pointer}
.role-option input{position:absolute;opacity:0;pointer-events:none}
.role-option span{display:block;padding:10px 15px;border:1px solid var(--line);border-radius:30px;background:var(--white);font-size:.82rem;font-weight:700;transition:.2s}
.role-option input:checked+span{background:var(--ink);border-color:var(--ink);color:white}
.terms{font-size:.75rem;color:var(--muted);line-height:1.5;text-align:center;margin:0}
.terms a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.auth-success{display:none;text-align:center;padding:18px 0}.auth-success.visible{display:block}.auth-success-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--acid);font-size:2rem;font-weight:700;margin:0 auto 28px}.auth-success h1{font-size:clamp(3rem,5vw,4.8rem)}.auth-success .lede{margin-inline:auto}.auth-success .btn{width:100%;margin:14px 0}.auth-success button.auth-link{border:0;background:none;cursor:pointer}
.auth-status{min-height:20px;margin:0;text-align:center;color:var(--muted);font-size:.78rem}
@media(max-width:1024px){.auth-layout{grid-template-columns:minmax(460px,.95fr) 1.05fr}.auth-main{padding-inline:48px}.auth-visual{padding:38px}.auth-proof{grid-template-columns:1fr}.auth-mini{display:none}}
@media(max-width:768px){.auth-layout{display:block}.auth-main{min-height:100vh;padding:28px 26px 42px}.auth-main .logo{margin-bottom:50px}.auth-card{margin:auto}.auth-visual{display:none}}
@media(max-width:430px){.auth-main{padding:24px 18px 34px}.auth-main .logo{margin-bottom:38px}.auth-card h1{font-size:3rem}.auth-card>.lede{margin-bottom:30px}.auth-form{gap:19px}.auth-input{height:54px}.role-options{gap:7px}.role-option span{padding:9px 12px}.auth-trust{margin-top:24px}}
@media(max-width:375px){.auth-main{padding-inline:14px}.field-row{align-items:flex-start}.auth-card h1{font-size:2.75rem}}
@media(prefers-reduced-motion:reduce){.auth-input,.role-option span{transition:none}}
.auth-status.error{color:#a63124}
