:root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #18302e; background: #f5f6f5; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
button, input { font: inherit; }
.ppp-auth-body { min-height: 100vh; background: #f5f6f5; }
.ppp-auth-shell { width: min(100% - 2rem, 410px); margin: 0 auto; padding: max(2rem, 8vh) 0 3rem; }
.ppp-auth-brand { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; margin: 0 auto 2rem; border-radius: .8rem; background: #123f3a; color: white; text-decoration: none; font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.ppp-auth-copy { text-align: center; margin-bottom: 1.5rem; }
.ppp-auth-copy h1 { margin: 0; font-size: clamp(1.8rem, 7vw, 2.25rem); line-height: 1.1; letter-spacing: -.035em; }
.ppp-auth-copy p { margin: .65rem auto 0; max-width: 23rem; color: #647774; line-height: 1.5; font-size: .94rem; }
.ppp-auth-card { padding: 1.35rem; border: 1px solid #d9ded8; border-radius: .95rem; background: white; }
.ppp-auth-card label { display: block; margin: 0 0 .4rem; font-size: .85rem; font-weight: 750; }
.ppp-auth-card input { width: 100%; min-height: 3.15rem; margin-bottom: 1rem; padding: 0 .85rem; border: 1.5px solid #d9ded8; border-radius: .72rem; background: white; color: #18302e; }
.ppp-auth-card input:focus { outline: 0; border-color: #21665d; box-shadow: 0 0 0 3px rgba(33,102,93,.11); }
.ppp-auth-card button, .ppp-auth-button { display: grid; place-items: center; width: 100%; min-height: 3.2rem; border: 0; border-radius: .72rem; background: #123f3a; color: white; text-decoration: none; font-weight: 750; cursor: pointer; }
.ppp-auth-help { display: block; margin-top: 1rem; color: #21665d; text-align: center; text-decoration: none; font-size: .82rem; font-weight: 700; }
.ppp-auth-switch { margin: 1.25rem 0 0; color: #647774; text-align: center; font-size: .84rem; }
.ppp-auth-switch a { color: #21665d; font-weight: 750; text-decoration: none; }
.ppp-auth-error { margin-bottom: 1rem; padding: .75rem .85rem; border-radius: .65rem; background: #f8e8e6; color: #8e342e; font-size: .84rem; line-height: 1.4; }
.ppp-auth-hint { margin: -.65rem 0 1rem; color: #647774; font-size: .76rem; }
.ppp-auth-card input[readonly] { background: #f5f6f5; color: #647774; }
.ppp-invite-card { padding: 1.8rem 1.35rem; text-align: center; }
.ppp-invite-mark { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; margin: 0 auto 1rem; border-radius: 50%; background: #e2eee8; color: #21665d; }
.ppp-invite-card h2 { margin: 0; font-size: 1.15rem; }
.ppp-invite-card p { margin: .65rem 0 1.35rem; color: #647774; font-size: .9rem; line-height: 1.55; }
@media (max-width: 480px) { .ppp-auth-shell { width: min(100% - 1rem, 410px); padding-top: max(1.5rem, 6vh); } .ppp-auth-card { border-radius: .85rem; } }
