/* Default application theme. Coverage and approval remain independent signals. */
:root {
  color-scheme: dark;
  --bg: #111715;
  --surface: #19221e;
  --raised: #233029;
  --field: #121b16;
  --text: #e8f0e9;
  --muted: #acbcb0;
  --line: #35473b;
  --green: #a4d9b1;
  --amber: #3e311b;
  color: var(--text);
  background: var(--bg);
}
body { background: var(--bg); color: var(--text); }
.top, .work, dialog { background: var(--surface); color: var(--text); }
.work { box-shadow: 0 8px 28px #0002; }
.brand { color: var(--green); }
.sandbox, .save, .eyebrow, .sub, .toolbar p, .legend, .stat small,
.person small, .foot, .lower, .hint, .crewoption small, .empty-state,
th, th small, .rolebutton span { color: var(--muted); }
.lower b, th b { color: var(--text); }
.save:before { color: var(--green); }
.secondary { background: var(--raised); border-color: var(--line); color: var(--text); }
.primary { background: var(--green); color: #122619; }
.primary:hover { background: #b8e7c3; }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid #e5bc68; outline-offset: 3px;
}
.stat { background: #20372a; }
.stat:nth-child(2) { background: var(--surface); border-color: var(--line); }
.stat:nth-child(3) { background: var(--amber); }
.stat strong > span { color: var(--muted) !important; }
.filters { background: var(--bg); }
.filters .selected { background: var(--raised); color: var(--text); }
th { background: #17231c; }
td { border-bottom-color: #29372e; }
tr.groupstart td { border-top-color: #49614f; }
.driver { color: #c0d4c4; border-color: #49614f; background: #213428; }
.avatar { color: #c4d9c9; background: #2a3e30; }
.opening .person button { color: #d4decf; }
.opening .avatar { background: #403521; color: #ebcb85; }
.opening.priority .avatar { background: #314b37; color: #c8e8cc; }
.cell { background: var(--raised); color: var(--text); border-color: var(--line); }
.cell small { color: var(--muted); }
.cell.coverage-booked {
  background: #254633; color: #ddf2e2;
  border-color: #507f5e; border-top-color: #9ed7ad;
}
.cell.coverage-open { background: #1b261f; color: #d3ded5; border-color: #829987; }
.day-rate { color: #c5d9cb; }
.approval-tag.is-approved { background: #182c20; color: #b5d1bf; }
.approval-tag.is-requested { background: #47371a; color: #ffdc91; border-color: #8e7037; }
.inactive-day { background: #141d18; }
.booked-swatch { background: #345b41; border-color: #9ed7ad; }
.open-swatch { background: #1b261f; border-color: #829987; }
.request-swatch, .dot { background: #b8944a; border-color: #e9c375; }
.quietdot { background: #718b77; }
.daytabs button { background: var(--raised); color: var(--text); }
.daytabs .selected { background: var(--green); color: #122619; }
dialog::backdrop { background: #050b08b8; }
.field input, .field select, .field textarea, .search {
  background: var(--field); border-color: #526458; color: var(--text);
}
input::placeholder, textarea::placeholder { color: #a5b4a9; opacity: 1; }
input[type=checkbox], input[type=radio] { accent-color: var(--green); }
.field input[type=checkbox], .field input[type=radio] {
  display: inline-block; width: auto; margin: 0 5px 0 0; padding: 0;
}
.choices label, .crewoption, .menulist button, pre { background: var(--raised); color: var(--text); }
.newperson summary { color: var(--green); }
.alert { background: var(--amber); color: #ffdc91; }
.danger { color: #f0ae9c; }
#toast { background: var(--green); color: #122619; box-shadow: 0 4px 20px #0005; }
::selection { background: #60886c; color: white; }
