:root{--wa:#00a884;--wa-mid:#008069;--wa-deep:#075e54;--ink:#111b21;--muted:#667781;--line:#e9edef;--card:#fff;--danger:#ea4335;--font:"Plus Jakarta Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font);color:var(--ink);display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#008069 0 140px,transparent 140px),linear-gradient(180deg,#d1f4eb 0,#e8f5f1 40%,#f0f2f5 100%)}.card{width:min(380px,100%);background:var(--card);border:1px solid rgba(233,237,239,.95);border-radius:18px;padding:36px 28px 28px;box-shadow:0 12px 40px rgba(11,20,26,.14);text-align:center}.brand-mark{width:56px;height:56px;border-radius:16px;margin:0 auto 28px;background:linear-gradient(145deg,#25d366,var(--wa-mid));display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,168,132,.28)}.brand-mark svg{width:28px;height:28px;fill:#fff}form{text-align:left}label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}input{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:inherit;margin-bottom:14px;background:#fff}input:focus{outline:0;border-color:var(--wa);box-shadow:0 0 0 3px rgba(0,168,132,.16)}button{width:100%;height:50px;border:0;border-radius:12px;font:inherit;font-weight:800;cursor:pointer;margin-top:4px;background:linear-gradient(180deg,#1daa61,var(--wa));color:#053b29;box-shadow:0 8px 18px rgba(0,168,132,.24)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.err{min-height:1.2em;margin-top:12px;color:var(--danger);font-size:13px;font-weight:700;text-align:center}