:root{--color-bg: #faf8f5;--color-text: #2d2a26;--color-muted-bg: #f0ece6;--color-muted-text: #8a8279;--color-border: #e0dbd3;--color-accent: #c47a5a;--color-accent-lt: #e0a882;--color-teal: #5b7e8a;--color-teal-dk: #4a6d78;--color-dark: #3a3631;--color-error-bg: #fce4ec;--color-error: #c62828;--color-success-bg: #e8f5e9;--color-success: #2e7d32;--radius-card: 18px;--radius-btn: 10px;--font-body: "DM Sans", "Segoe UI", system-ui, sans-serif;--font-display: "Fraunces", "Georgia", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);background:linear-gradient(160deg,var(--color-bg) 0%,var(--color-muted-bg) 100%);color:var(--color-text);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px}.card{background:#fff;border-radius:var(--radius-card);box-shadow:0 4px 24px #00000014,0 1px 4px #0000000a;border:1px solid var(--color-border);width:100%;max-width:420px;padding:44px 40px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-text);justify-content:center;margin-bottom:32px}.logo__icon{width:34px;height:34px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-lt));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px}.logo__name{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.5px}.card__title{font-family:var(--font-display);font-size:26px;font-weight:700;text-align:center;margin-bottom:8px;line-height:1.2}.card__sub{font-size:14px;color:var(--color-muted-text);text-align:center;margin-bottom:32px;line-height:1.6}.form{display:flex;flex-direction:column;gap:16px}label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-muted-text);margin-bottom:6px}input[type=email]{width:100%;padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-btn);font-size:15px;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s,box-shadow .15s}input[type=email]:focus{border-color:var(--color-teal);box-shadow:0 0 0 3px #5b7e8a26}input[type=email]::placeholder{color:#b8b2aa}.btn-submit{width:100%;padding:13px;background:linear-gradient(135deg,var(--color-teal),var(--color-teal-dk));color:#fff;font-family:var(--font-body);font-size:15px;font-weight:600;border:none;border-radius:var(--radius-btn);cursor:pointer;box-shadow:0 2px 8px #5b7e8a4d;transition:transform .1s,box-shadow .1s,opacity .15s}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #5b7e8a66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.alert{display:none;padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.5}.alert.is-visible{display:block}.alert--error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #ef9a9a}.alert--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #a5d6a7}.alert__icon{font-size:18px;vertical-align:middle;margin-right:6px}.success-screen{display:none;text-align:center}.success-screen.is-visible{display:block}.success-screen__icon{font-size:52px;margin-bottom:20px;display:block}.success-screen__title{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:10px}.success-screen__body{font-size:14px;color:var(--color-muted-text);line-height:1.6;margin-bottom:24px}.success-screen__email{font-weight:600;color:var(--color-text)}.btn-resend{background:none;border:1.5px solid var(--color-border);padding:10px 20px;border-radius:var(--radius-btn);font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-muted-text);cursor:pointer;transition:border-color .15s,color .15s}.btn-resend:hover{border-color:var(--color-text);color:var(--color-text)}.card__footer{margin-top:24px;text-align:center;font-size:13px;color:var(--color-muted-text)}.card__footer a{color:var(--color-teal);font-weight:600;text-decoration:none;transition:color .15s}.card__footer a:hover{color:var(--color-teal-dk)}.page-footer{margin-top:28px;font-size:12px;color:var(--color-muted-text);text-align:center}.page-footer a{color:var(--color-muted-text);text-decoration:none}.page-footer a:hover{color:var(--color-text)}@media(max-width:480px){.card{padding:32px 24px}}
