:root{--font-sans: "Plus Jakarta Sans", "Avenir Next", "Avenir", "Proxima Nova", "Inter", "Segoe UI", sans-serif;--color-bg-primary: #f8f9f7;--color-primary: #164028;--color-primary-light: #7a8c54;--muted: #4d5a50}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:#f7f7f4}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #d8d8d4;border-radius:16px;padding:28px}.register-page{background:var(--color-bg-primary)}.register-card{width:min(480px,100%);background:transparent;border:0;padding:0}.forgot-page{background:var(--color-bg-primary)}.forgot-card{width:min(480px,100%);background:transparent;border:0;padding:0}.confirmation-page{background:var(--color-bg-primary)}.confirmation-card{width:min(480px,100%);background:transparent;border:0;padding:0;text-align:left}.auth-card h1{margin:0;max-width:none;text-align:center;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:500;color:#111}.register-card .register-title{text-align:left;color:var(--color-primary);font-size:clamp(1.38rem,2vw,1.85rem);line-height:1.12;letter-spacing:-.01em;font-weight:500}.register-card .register-intro{text-align:left}.forgot-card h1,.confirmation-card .confirmation-title{text-align:left;color:var(--color-primary);font-size:clamp(1.38rem,2vw,1.85rem);line-height:1.12;letter-spacing:-.01em;font-weight:500}.forgot-card .forgot-intro{text-align:left;margin-top:18px;color:var(--color-primary);font-weight:500}.forgot-card .forgot-intro-secondary{text-align:left;margin-top:6px;color:var(--muted);font-weight:400}.register-card .forgot-intro{text-align:left;margin-top:18px;color:var(--color-primary);font-weight:500}.register-card .forgot-intro-secondary{text-align:left;margin-top:6px;color:var(--muted);font-weight:400}.auth-intro{margin:10px 0 0;text-align:center;color:#5b5b5b;font-size:.95rem;line-height:1.5}.auth-google-btn{position:relative;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid #111;border-radius:8px;background:#fff;font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:#111;cursor:pointer;transition:background .15s ease;margin-top:20px}.auth-google-btn:hover{background:#f5f5f0}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#d8d8d4}.auth-divider span{font-size:.82rem;color:var(--muted);white-space:nowrap}.auth-form{margin-top:20px;display:grid;gap:12px}.auth-field{display:grid;gap:6px}.auth-form label{font-size:.88rem;font-weight:400;color:var(--muted)}.auth-form input{width:100%;border:1px solid #111;border-radius:8px;padding:9px 11px;font-family:var(--font-sans);font-size:.93rem;color:#111;background:#fff}.auth-form input:focus{outline:2px solid rgba(22,64,40,.25);outline-offset:1px}.auth-form input:disabled{opacity:.65}.auth-input-wrap{position:relative}.auth-input-wrap input{padding-right:68px}.auth-inline-action{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#5b5b5b;font-size:.72rem;font-weight:600;letter-spacing:.04em;cursor:pointer}.auth-error{margin:2px 0 0;border:1px solid #f4d0d3;border-radius:10px;background:#fff3f4;color:#a62934;padding:10px 12px;font-size:.88rem}.auth-submit{margin-top:4px;border:0;border-radius:10px;padding:12px;font-family:var(--font-sans);font-size:.98rem;font-weight:500;color:#fff;background:#a62934;cursor:pointer;transition:transform .18s ease,opacity .18s ease}.register-submit,.forgot-submit{background:var(--color-primary);margin-top:10px}.confirmation-status{text-align:left;margin-top:18px;color:var(--color-primary);font-weight:500}.confirmation-message{text-align:left;margin-top:8px;color:var(--muted);max-width:44ch}.confirmation-submit{background:var(--color-primary);margin-top:14px;display:block;width:100%}.confirmation-card .auth-back-home{display:block;width:fit-content;margin:14px auto 0}.auth-submit:hover:not(:disabled){transform:translateY(-2px)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-footnote{margin:18px 0 0;text-align:center;color:#5b5b5b;font-size:.9rem}.auth-link-button{border:0;background:transparent;color:#a62934;font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:transform .18s ease,color .18s ease}.register-login-link{color:#a62934}.register-login-link:hover{transform:translateY(-2px);color:#8f1f29}.auth-confirmed{text-align:center}.auth-success-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:999px;display:grid;place-items:center;font-size:.82rem;font-weight:600;letter-spacing:.06em;color:#164028;background:#1640281f}.auth-back-home{display:block;width:fit-content;margin:14px auto 0;color:#a62934;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;transition:transform .18s ease,color .18s ease}.auth-back-home:hover{transform:translateY(-2px);color:#8f1f29}.auth-highlight-email{color:var(--color-primary);font-weight:500}.auth-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#00000080;padding:16px}.auth-popup{width:min(380px,100%);border-radius:14px;border:1px solid #d8d8d4;background:#fff;padding:20px;text-align:center}.auth-popup-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:999px;display:grid;place-items:center;background:#fef3c7;color:#92400e;font-size:1rem;font-weight:600}.auth-popup h2{margin:0;max-width:none;font-size:1.3rem;color:#111}.auth-popup p{margin:8px 0 0;color:#5b5b5b;font-size:.92rem;line-height:1.45}.auth-popup-close{margin-top:14px;width:100%;border:0;border-radius:10px;padding:10px 12px;background:#f3f4f6;color:#374151;font-family:var(--font-sans);font-size:.92rem;font-weight:500;cursor:pointer}
