:root { color-scheme: light dark; --bg:#f3f6f4; --card:#fff; --ink:#193a31; --muted:#5b6f68; --line:#d5dfda; --brand:#1d5c46; --err:#b42318; }
@media (prefers-color-scheme: dark) { :root { --bg:#0f1a17; --card:#16241f; --ink:#e7efeb; --muted:#9db1a9; --line:#2b3d36; --brand:#8fc7ae; --err:#f97066; } }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; background:var(--bg); color:var(--ink);
  font-family:"IBM Plex Sans Arabic", system-ui, sans-serif; padding:16px; }
.card { width:100%; max-width:380px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:28px; }
h1 { margin:0 0 4px; font-size:1.35rem; }
.sub { margin:0 0 22px; color:var(--muted); font-size:.9rem; }
form { display:grid; gap:8px; }
label { font-size:.9rem; font-weight:600; margin-top:6px; }
input { font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:transparent; color:inherit; }
input:focus { outline:2px solid var(--brand); outline-offset:1px; }
button { margin-top:14px; font:inherit; font-weight:600; padding:11px; border:0; border-radius:8px; background:var(--brand); color:var(--card); cursor:pointer; }
button:disabled { opacity:.6; cursor:progress; }
.error { color:var(--err); margin:4px 0 0; font-size:.9rem; }
.foot { margin:18px 0 0; color:var(--muted); font-size:.8rem; }
