* { box-sizing:border-box; }
body { margin:0; padding:48px 24px; background:#f1f5f3; color:#253832; font:16px/1.6 system-ui,sans-serif; }
.registration-card { max-width:530px; margin:0 auto; padding:36px 40px; border:1px solid #d2e0da; border-radius:18px; background:white; box-shadow:0 12px 35px #193d2910; }
.brand { font-size:24px; font-weight:700; text-decoration:none; }
.brand small { display:block; font-size:11px; letter-spacing:2px; color:#71867c; }
h1 { font-size:26px; margin:28px 0 8px; }
p { color:#60766e; }
label { display:block; margin:18px 0; font-weight:600; }
input { display:block; width:100%; margin-top:7px; padding:12px; border:1px solid #b9cec7; border-radius:8px; font:inherit; }
input:focus { outline:2px solid #307e6a; outline-offset:2px; }
button,.primary-link { display:block; width:100%; padding:12px; background:#176c5d; color:white; border:0; border-radius:8px; font:inherit; text-align:center; cursor:pointer; text-decoration:none; }
button:disabled { opacity:.6; cursor:wait; }
a { color:#176c5d; }
.notice { background:#f2f7f4; padding:12px; border-radius:8px; font-size:14px; }
#registration-error,#login-error { color:#a23c32; }
[hidden] { display:none!important; }
.phone-verification { padding:4px 0; }
.phone-verification label { margin-bottom:10px; }
.sms-send { width:auto; font-size:14px; background:#e7f3ee; color:#176c5d; }
.sms-status { margin:8px 0; font-size:13px; }
