* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: grid; place-items: center; padding: 28px; color: #263c34; background: #f4f4ee; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; }
main { width: min(100%, 420px); padding: 40px 32px 26px; background: #fffefa; border: 1px solid #e1e5dc; border-radius: 20px; box-shadow: 0 16px 60px #203b2810; }
.mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: #244f42; color: white; font-size: 27px; font-weight: 700; }
.eyebrow { margin: 25px 0 12px; color: #61726a; font-size: 14px; letter-spacing: 2px; }
h1 { margin: 0; font-size: 34px; line-height: 1.5; letter-spacing: -.5px; }
.description { margin: 18px 0 30px; color: #718077; font-size: 15px; line-height: 1.8; }
label { display: block; margin: 0 0 10px; font-size: 14px; font-weight: 600; }
input, button { width: 100%; min-height: 50px; border-radius: 9px; font: inherit; }
input { padding: 12px 14px; border: 1px solid #cdd7d0; outline: none; background: white; }
input:focus { border-color: #346851; box-shadow: 0 0 0 3px #3468511a; }
button { display: flex; justify-content: space-between; align-items: center; padding: 13px 18px; margin-top: 18px; border: 0; color: white; background: #285543; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .6; cursor: wait; }
#error { min-height: 20px; margin-bottom: 0; color: #a93b39; font-size: 13px; }
.footnote { margin: 22px 0 0; color: #88958c; text-align: center; font-size: 12px; }
@media (max-width: 430px) { body { padding: 18px; } main { padding: 30px 24px 24px; } h1 { font-size: 30px; } }
