/* Semantic palette shared by every Reign OS workspace. Branded sign-in,
   camera previews and photography deliberately retain their original colors. */
:root {
  color-scheme: light;
  --ink:#101010; --on-ink:#ffffff; --on-ink-muted:#c8c8c2;
  --paper:#f4f4f1; --card:#ffffff; --soft:#f7f7f5; --inset:#ecece8;
  --line:#deded9; --control-border:#777770;
  --muted:#62625c; --subtle:#686862; --secondary-ink:#4f4f4a;
  --disabled-bg:#dcdcd7; --disabled-ink:#70706a;
  --signal:#0a7050; --signal-soft:#e7f2ee; --signal-border:#a3c5b7; --on-signal:#ffffff;
  --amber:#81540b; --warning-bg:#fff4df; --warning-border:#c99b58;
  --danger:#a32c20; --danger-bg:#fff0ed; --danger-border:#d7b1aa;
  --danger-fill:#c93e34; --on-danger:#ffffff;
  --info:#49647e; --info-bg:#edf2f7;
  --focus:#707070; --hover:rgba(0,0,0,.04);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink:#f2f2ed; --on-ink:#141413; --on-ink-muted:#50504b;
  --paper:#151514; --card:#20201e; --soft:#272725; --inset:#333330;
  --line:#43433e; --control-border:#85857d;
  --muted:#b1b1a8; --subtle:#aaa9a0; --secondary-ink:#cecec5;
  --disabled-bg:#383834; --disabled-ink:#96968c;
  --signal:#79d7af; --signal-soft:#193a2e; --signal-border:#408565; --on-signal:#10291f;
  --amber:#efc078; --warning-bg:#392d19; --warning-border:#9d7841;
  --danger:#ffaaa0; --danger-bg:#432722; --danger-border:#a4665d;
  --danger-fill:#c93e34; --on-danger:#ffffff;
  --info:#abc9ed; --info-bg:#263447;
  --focus:#b7b7b7; --hover:rgba(255,255,255,.06);
}
html[data-app-surface="dark"] { color-scheme:dark; }
.splash,.gate,.enroll-shell,.complete,.inventory-gate,.inventory-static-boot { color-scheme:dark; }
:root :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--focus);outline-offset:3px; }
:root[data-focus-input="pointer"] :is(input,select,textarea):focus { outline:none;box-shadow:none; }
:root :is(input,select,textarea) { accent-color:var(--signal); }
:root :is(input,textarea)::placeholder { color:var(--muted);opacity:1; }
:root :is(select,textarea) { color:inherit; }
:root[data-theme="dark"] .brand-lockup img,
:root[data-theme="dark"] .inventory-appbar .inventory-brand img { filter:invert(1); }
.appearance-settings { max-width:580px;margin:24px auto 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card); }
.appearance-settings legend { padding:0 6px;font-size:15px;font-weight:600; }
.appearance-settings p,.appearance-settings>small { margin:0;color:var(--muted);font-size:12px;line-height:1.5; }
.appearance-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 10px; }
.appearance-options label { min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--control-border);border-radius:8px;font-size:13px;cursor:pointer; }
.appearance-options label:has(:checked) { border-color:var(--ink);background:var(--ink);color:var(--on-ink); }
.appearance-options input { margin:0;accent-color:var(--on-ink); }
.appearance-options input:focus-visible { outline-color:currentColor; }
.appearance-settings .appearance-status { min-height:18px;margin-top:10px; }
.appearance-settings .settings-error { color:var(--danger); }
.success-mark { color:var(--on-signal); }
.shift-actions .clock-in { background:var(--card);color:var(--ink); }
.shift-actions .clock-in span { color:var(--ink); }
.shift-actions .clock-in small { color:var(--muted); }
.shift-actions .regular-bar { background:var(--signal-soft); }
.shift-actions .front-desk { background:var(--info-bg); }
.shift-actions .other-projects,.shift-actions .event-outreach { background:var(--inset); }
.fd-event-placeholder span { color:#aaa9a3; }
.enroll-shell :is(input,textarea)::placeholder { color:#aaa9a3; }
.gate .quiet-action,.enroll-shell .quiet-action,.complete>small { color:#aaa9a3; }
.enroll-shell .form-error,.gate .form-error { color:#ff9b8f; }
