.auth-page{background:var(--navy);flex-direction:column;min-height:100vh;display:flex;position:relative}.auth-page-main{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-page-card-wrap{width:100%;max-width:420px}.auth-card{border:1px solid var(--border);background:var(--navy2);text-align:center;border-radius:12px;padding:28px 24px;transition:border-color .2s;position:relative;overflow:hidden}.auth-card .auth-form{text-align:left}.auth-card:hover{border-color:#2d84f040}.auth-card:before{content:"";background:linear-gradient(90deg, transparent, var(--blue3), transparent);opacity:0;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.auth-card:hover:before{opacity:1}.auth-card-logo{justify-content:center;margin-bottom:20px;display:flex}.auth-card-logo-img{object-fit:contain;width:auto;height:48px}.auth-card-title{font-family:var(--app-heading-font);font-size:var(--app-heading-size);font-weight:var(--app-heading-weight);letter-spacing:var(--app-heading-letter-spacing);color:var(--app-heading-color);margin:0 0 20px}.auth-places-left{color:var(--muted);text-align:center;margin:0 0 16px;font-size:.95rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.auth-input,.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{font-size:1rem;font-family:var(--sans);color:var(--white);background:var(--navy3);border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 14px}.auth-input::placeholder,.auth-form input::placeholder{color:var(--muted)}.auth-input:focus,.auth-form input:focus{border-color:var(--blue3);box-shadow:0 0 0 2px #2d84f040}.auth-error{color:var(--orange1);margin:0;font-size:.85rem}.auth-submit{font-size:1rem;font-weight:700;font-family:var(--sans);color:#fff;background:linear-gradient(135deg, var(--orange2) 0%, var(--orange) 100%);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:12px 20px;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #ff731859}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #ff731873}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{text-align:center;color:var(--muted);margin:16px 0 0;font-size:.9rem}.auth-oauth{font-size:1rem;font-weight:600;font-family:var(--sans);color:var(--white);background:var(--navy3);border:1px solid var(--border);cursor:pointer;border-radius:8px;width:100%;margin-top:8px;padding:12px 20px;transition:border-color .2s,background .2s}.auth-oauth:hover:not(:disabled){border-color:var(--blue3);background:var(--navy2)}.auth-oauth:disabled{opacity:.6;cursor:not-allowed}.auth-oauth-google{color:#3c4043;background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:12px;font-size:.95rem;font-weight:500;display:inline-flex;box-shadow:0 1px 2px #3c404314}.auth-oauth-google:hover:not(:disabled){background:#f8f9fa;border-color:#dadce0;box-shadow:0 1px 3px #3c40431f}.auth-oauth-google:active:not(:disabled){background:#f1f3f4}.auth-oauth-google-icon{flex-shrink:0;display:inline-flex}.auth-oauth-google-icon svg{display:block}.auth-legal-footer{text-align:center;margin-top:20px;padding:0 16px 28px}.auth-legal-footer--in-card{margin-top:18px;margin-bottom:4px;padding:0}.auth-legal-checkbox-label{cursor:pointer;color:var(--muted);flex-direction:row;align-items:flex-start;gap:12px;margin-top:4px;font-size:.9rem;line-height:1.45;display:flex}.auth-legal-checkbox-label--after-submit{margin-top:14px}.auth-legal-checkbox-label--centered{box-sizing:border-box;justify-content:center;width:100%}.auth-legal-checkbox-label--centered .auth-legal-checkbox-text{text-align:center;flex:0 auto;max-width:100%}.auth-checkbox-native{opacity:0;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.auth-checkbox-box{border:1px solid var(--border);background:var(--navy3,#161d2e);box-sizing:border-box;pointer-events:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.auth-legal-checkbox-label--custom:has(.auth-checkbox-native:checked) .auth-checkbox-box{background:linear-gradient(135deg, var(--orange2) 0%, var(--orange) 100%);border-color:var(--orange,#ff7318);box-shadow:0 2px 10px #ff731847}.auth-legal-checkbox-label--custom:has(.auth-checkbox-native:checked) .auth-checkbox-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;margin-bottom:2px;display:block;transform:rotate(45deg)}.auth-legal-checkbox-label--custom:has(.auth-checkbox-native:focus-visible) .auth-checkbox-box{outline:2px solid var(--blue4,#6eb0ff);outline-offset:2px}.auth-legal-checkbox-label--custom:has(.auth-checkbox-native:disabled){opacity:.55;cursor:not-allowed}.auth-legal-checkbox-text{flex:1;min-width:0}.auth-footer{text-align:center;color:var(--muted);margin-top:16px;font-size:.9rem}.auth-link{color:var(--blue4);text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-back-wrap{text-align:center;margin-top:16px;font-size:.9rem}.auth-back-wrap a{color:var(--blue4);text-decoration:none}.auth-back-wrap a:hover{text-decoration:underline}.auth-verify-desc{color:var(--muted);text-align:center;margin:0 0 16px;font-size:.95rem}.auth-resend{color:var(--blue4);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-family:inherit;font-size:.9rem;text-decoration:none;display:inline-block}.auth-resend:hover{text-decoration:underline}.auth-resend:disabled{opacity:.7;cursor:not-allowed}.auth-waitlist-section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.auth-waitlist-success{color:var(--blue4);text-align:center;margin:0;font-size:.95rem}.auth-submit-secondary{background:linear-gradient(135deg, var(--navy3) 0%, var(--navy2) 100%);box-shadow:0 2px 12px #0003}.auth-submit-secondary:hover:not(:disabled){border:1px solid var(--blue3);box-shadow:0 4px 16px #2d84f040}
