:root{
  --bg:#f7f9fc;--panel:#fff;--ink:#2b3445;--ink-soft:#6b7689;--line:#e7ecf3;
  --accent:#e8833a;--accent-soft:#fdf1e7;--green:#3aa776;--green-soft:#e8f6ef;
  --rose:#d3607a;--rose-soft:#fbecf0;--shadow:0 1px 2px rgba(43,52,69,.06),0 8px 30px rgba(43,52,69,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer;border:none}
.wm{font-weight:800;letter-spacing:.3px;color:#1c2129;font-family:Arial,Helvetica,sans-serif;line-height:1}
.wm sup{font-size:.58em;vertical-align:super;margin:0 .5px}
.spark{flex:0 0 auto}

.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#fef7f0,#f7f9fc)}
.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:30px;width:100%;max-width:380px}
.brand-lock{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:18px}
.auth-card h1{font-size:18px;text-align:center;margin-bottom:4px}
.auth-card .sub{font-size:13px;color:var(--ink-soft);text-align:center;margin-bottom:18px}
.auth-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;margin-top:10px;font-size:16px;background:#fff;color:var(--ink)}
.auth-card input:focus{outline:none;border-color:var(--accent)}
.btn{background:var(--accent);color:#fff;padding:12px 16px;border-radius:10px;font-weight:700;font-size:15px;width:100%;margin-top:14px;box-shadow:var(--shadow)}
.btn:hover{filter:brightness(.97)}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.msg{margin-top:16px;font-size:13.5px;line-height:1.5;text-align:center;color:var(--ink-soft);min-height:18px}
.msg.ok{color:var(--green);background:var(--green-soft);padding:12px;border-radius:10px}
.msg.err{color:#b03a58;background:var(--rose-soft);padding:12px;border-radius:10px}
.tabs{display:flex;gap:6px;margin-bottom:16px;background:var(--bg);padding:4px;border-radius:11px}
.tabs button{flex:1;padding:9px;border-radius:8px;font-weight:700;font-size:13px;color:var(--ink-soft);background:transparent}
.tabs button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
