/* FSD OS base tokens. System fonts only: nothing is loaded from outside the site. */
:root{
  --bg:#f5f4ef; --panel:#ffffff; --panel2:#ecebe4; --line:#d9d7cc; --fg:#1b1d22; --muted:#62656d;
  --accent:#e9b400; --accent-ink:#4a3800; --navy:#15213a; --navy-ink:#ffffff;
  --good:#1f7a45; --good-bg:#e1f3e8; --warn:#9a5c00; --warn-bg:#fbeed6; --bad:#b4262a; --bad-bg:#f9e2e2; --info-bg:#e6ecf7; --info:#24427a;
  --sans:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Arabic","Geeza Pro",Tahoma,sans-serif;
  --ar:"Noto Sans Arabic","Segoe UI","Geeza Pro",Tahoma,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#13151a; --panel:#1b1e25; --panel2:#242830; --line:#343843; --fg:#ecebe4; --muted:#9a9ea8;
  --accent:#f0c020; --accent-ink:#2a2000; --navy:#0d1322; --navy-ink:#ecebe4;
  --good:#5fcf8a; --good-bg:#15321f; --warn:#f0a93c; --warn-bg:#3a2a0e; --bad:#f07a7a; --bad-bg:#3d1a1a; --info-bg:#1c2740; --info:#9db8ec; color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.5}
[hidden]{display:none!important}
h1{font-size:22px;font-weight:600;margin:0 0 4px;text-wrap:balance}
h2{font-size:15px;font-weight:600;margin:28px 0 10px;text-wrap:balance}
h3{font-size:13.5px;font-weight:600;margin:0 0 8px}
button{font:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--fg);padding:6px 12px;font-weight:500}
button:hover{border-color:var(--muted)}
button.pri{background:var(--accent);color:var(--accent-ink);border-color:transparent}
button.sm{padding:3px 9px;font-size:12px}
button:disabled{opacity:.45;cursor:not-allowed}
input,select,textarea{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.badge{width:28px;height:28px;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:11px;display:grid;place-items:center;border-radius:4px;letter-spacing:.04em;flex:none}
.pill{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;white-space:nowrap}
.pill.good{background:var(--good-bg);color:var(--good)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.neu{background:var(--panel2);color:var(--muted)}.pill.info{background:var(--info-bg);color:var(--info)}
.err{color:var(--bad);font-size:13px;min-height:1em}
.muted{color:var(--muted)}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px))}
.auth form,.auth .box{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;gap:12px}
.auth .brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.auth .brand b{font-size:16px}
.auth label{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.auth input{min-height:44px;font-size:16px}
.auth button.pri{min-height:46px;font-size:15px}
.auth .qr{background:#fff;padding:10px;border-radius:8px;justify-self:center}
.auth .qr img{display:block;width:180px;height:180px}
.auth code{font-family:var(--mono);font-size:12px;word-break:break-all;background:var(--panel2);padding:6px 8px;border-radius:6px;display:block}
@media (prefers-reduced-motion:no-preference){.bar i{transition:width .4s ease}}
a.btnlink{display:grid;place-items:center;min-height:48px;border-radius:8px;border:1px solid var(--line);text-decoration:none;color:var(--fg);font-weight:500;background:var(--panel)}
a.btnlink.pri{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-family:var(--ar)}
