/* ASB Workforce – shared styles for /app, /reset-password, /auth/callback, /download (tokens copied from the landing page) */
html{color-scheme:light}body{margin:0}
:root{
  --bg:#F8F9FC; --surface:#FFFFFF; --ink:#12172A; --muted:#566079; --line:#E1E5F0;
  --accent:#2457F5; --accent-ink:#FFFFFF; --soft:#EDF1FD; --ok:#0B7A4B;
  --f-display:'Bricolage Grotesque','Cairo',system-ui,sans-serif; --f-body:'Cairo',system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0B1020; --surface:#141B30; --ink:#F2F4FA; --muted:#9AA6C0; --line:#25304A; --accent:#6C8DFF; --accent-ink:#0B1020; --soft:#131B30; --ok:#4ADE9A; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B1020; --surface:#141B30; --ink:#F2F4FA; --muted:#9AA6C0; --line:#25304A; --accent:#6C8DFF; --accent-ink:#0B1020; --soft:#131B30; --ok:#4ADE9A; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.65;padding:0 max(16px,env(safe-area-inset-left,0px))}
html[dir=rtl] body{font-size:17px}
.wrap{max-width:480px;margin:0 auto;padding-block:24px 48px}
h1{font-family:var(--f-display);font-size:28px;line-height:1.2;margin:24px 0 8px;font-weight:800}
html[dir=rtl] h1{font-family:var(--f-body)}
p{margin:0 0 12px;color:var(--muted)}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}
html[dir=rtl] .brand{font-family:var(--f-body)}
.logo{width:36px;height:36px;border-radius:10px;background:var(--accent);display:grid;place-items:center}
.logo svg{width:22px;height:22px;stroke:var(--accent-ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lang{font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;min-height:40px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:20px;display:grid;gap:14px}
label{display:grid;gap:6px;font-weight:600;color:var(--ink);font-size:14px}
input{font:inherit;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:12px;font:inherit;font-weight:700;text-decoration:none;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.msg{border-radius:12px;padding:12px 14px;border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.msg.ok{border-color:var(--ok)}.msg.err{border-color:#C2410C}
[hidden]{display:none!important}
.small{font-size:13px}
