/* Branded Life Pins authentication cards. */
:root { --auth-navy: #333E54; --auth-green: #58AB4B; --auth-paper: #F4F6F2; }
html[data-theme="pin-navy"], html[data-theme="leaf-light"] { min-height: 100%; background: var(--auth-paper); }
body.auth-page { min-height: 100vh; margin: 0; color: #243044; background: var(--auth-paper); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.auth-shell { display: grid; min-height: 100vh; place-items: center; padding: 24px; }
.auth-card { width: min(100%, 440px); padding: 30px; border: 1px solid #E2E7DF; border-radius: 20px; background: #fff; box-shadow: 0 16px 50px rgba(36, 48, 68, .12); }
.auth-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 24px; color: var(--auth-navy); text-decoration: none; }
.auth-brand img { display: block; width: auto; height: 72px; max-width: 100%; object-fit: contain; }
.auth-brand small { display: block; color: #667085; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.auth-card h1 { margin: 0 0 18px; color: var(--auth-navy); font-size: 1.45rem; }
.auth-card input { width: 100%; min-height: 46px; margin: 6px 0 14px; padding: 10px 12px; border: 1px solid #CAD2C7; border-radius: 10px; box-sizing: border-box; }
.auth-card button { width: 100%; min-height: 46px; border: 0; border-radius: 10px; color: #fff; background: var(--auth-green); font-weight: 750; }
.auth-card form button { display: block; box-sizing: border-box; padding: 10px 16px; }
.auth-card .auth-google-button { display: flex; box-sizing: border-box; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; padding: 10px 16px; border: 1px solid #CAD2C7; border-radius: 10px; color: #243044; background: #fff; font-weight: 750; text-decoration: none; }
.auth-google-button svg { width: 20px; height: 20px; flex: 0 0 20px; }
.auth-card a { color: #38752F; }
