:root{--ink:#292625;--muted:#746d69;--paper:#fffdf9;--cream:#f7f0e7;--berry:#a63f5f;--line:#e8dfd4}*{box-sizing:border-box}body{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--cream),#f3e2e7);color:var(--ink);font-family:"DM Sans",sans-serif}.auth-card{width:min(440px,100%);padding:42px;background:var(--paper);border:1px solid var(--line);box-shadow:0 28px 80px #4c25331c}.auth-brand{display:block;width:145px;height:50px;overflow:hidden;margin-bottom:34px}.auth-brand img{width:145px;transform:translateY(-12px)}.eyebrow{color:var(--berry);font-size:10px;font-weight:700;letter-spacing:.16em}.auth-card h1{margin:8px 0 12px;font:600 34px "Playfair Display"}.auth-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.auth-card form{margin-top:28px}.auth-card label{display:block;margin-bottom:17px;font-size:11px;font-weight:700}.auth-card input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:#fff;font:inherit}.auth-card form button{width:100%;margin-top:8px;padding:13px;border:0;background:var(--berry);color:#fff;font:700 12px "DM Sans";cursor:pointer}.auth-card form button:disabled{opacity:.6}.auth-toggle{display:block;margin:22px auto 0;border:0;background:none;color:var(--berry);font:700 11px "DM Sans";cursor:pointer}.auth-message{padding:11px;background:#f7e9ed;color:#7d2947!important}.auth-message.success{background:#e6eee3;color:#3d7b4d!important}

/* Mode switching hides fields and links; class display rules must not override it. */
[hidden]{display:none!important}
.auth-forgot{margin-top:14px;color:var(--muted)}

/* Terms acceptance line shown when creating an account. */
.auth-legal{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}
.auth-legal a{color:var(--berry)}
