:root { --bg:#f4f6f8; --card:#fff; --ink:#14202b; --muted:#5b6b79; --line:#d9e0e6; --brand:#0b7a5c; --brand-ink:#fff; --err:#b3261e; --ok:#0b7a5c; }
@media (prefers-color-scheme: dark) { :root { --bg:#0e151b; --card:#16202a; --ink:#e8eef3; --muted:#9db0bf; --line:#2a3947; --brand:#27b48b; --brand-ink:#04251c; --err:#ff8a80; --ok:#27b48b; } }
* { box-sizing: border-box; }
html { font-size: 16px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family: system-ui, "Segoe UI", Tahoma, "Noto Sans Arabic", Arial, sans-serif; line-height:1.7; min-height:100vh; display:flex; align-items:center; justify-content:center; padding:16px; }
.card { width:100%; max-width:420px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:28px 24px; }
.brand { font-size:1.6rem; font-weight:700; color:var(--brand); margin:0 0 4px; }
h1 { font-size:1.15rem; margin:0 0 18px; font-weight:600; }
label { display:block; font-size:.9rem; color:var(--muted); margin:14px 0 4px; }
input, select { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--ink); font:inherit; }
input[type=email], input[type=password], input[type=text] { direction:ltr; text-align:left; }
input:focus, select:focus, button:focus-visible, a:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.check { display:flex; gap:8px; align-items:center; margin:10px 0 0; color:var(--ink); }
.check input { width:auto; }
button { width:100%; margin-top:20px; padding:12px; border:0; border-radius:9px; background:var(--brand); color:var(--brand-ink); font:inherit; font-weight:600; cursor:pointer; }
button[disabled] { opacity:.6; cursor:wait; }
button.secondary { background:transparent; color:var(--ink); border:1px solid var(--line); }
.msg { min-height:1.4em; margin-top:14px; font-size:.92rem; }
.msg.err { color:var(--err); } .msg.ok { color:var(--ok); }
.links { margin-top:16px; font-size:.9rem; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
a { color:var(--brand); }
.muted { color:var(--muted); font-size:.9rem; }
.pill { display:inline-block; padding:2px 10px; border:1px solid var(--line); border-radius:999px; font-size:.85rem; color:var(--muted); }
.nav { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.nav a, .nav button { width:auto; margin:0; padding:9px 14px; text-decoration:none; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:transparent; font-weight:500; }
