/* Theme layer, ported VERBATIM from the current app.
 *
 * This was NOT in week.html -- the Worker's html() helper in core.js injected it into every page, so
 * copying week.html alone missed it entirely. It is a substantial part of the UI:
 *
 *   - light and dyslexia-friendly palettes (the dark palette is app.css's own :root)
 *   - a MOBILE-FIRST layer: 44px minimum tap targets, a scrollable nav, single-column grids,
 *     a sticky action footer, tighter table padding
 *   - a print layer, because the ops brief and reports are meeting handouts
 *   - styles for the floating theme picker
 *
 * The dyslexia theme follows British Dyslexia Association guidance: cream low-glare background,
 * dark-grey rather than black ink, wider letter/word/line spacing, no italics.
 *
 * Loaded as a separate stylesheet rather than injected, because this app's CSP is
 * `script-src 'self'` with no 'unsafe-inline' -- the original had no CSP and could inject freely.
 */

:root[data-theme="light"]{
  --bg:#f4f6f3; --card:#ffffff; --line:#e2e7e1; --line2:#c6d1c7;
  --ink:#17211d; --dim:#4d5f56; --dim2:#718178; --acc:#0e7a55;
  --warn:#9a6a00; --crit:#c22f2f; --info:#1f5fa8; --wknd:#f3e6d3; --mgr:#7a3fa8;
  --fut:#e8eef6;
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100;
  --s5:#e87ba4; --s6:#008300; --s7:#4a3aa7; --s8:#e34948;
  --track:#e8ece7; --empty:#eef1ec; --tipbg:#ffffff;
}
:root[data-theme="dyslexia"]{
  --bg:#f7f0df; --card:#fdf8ec; --line:#e6dcc3; --line2:#cfc2a2;
  --ink:#3a3a33; --dim:#5c5a4c; --dim2:#7b7866; --acc:#0e6b4d;
  --warn:#815a00; --crit:#b03434; --info:#23557e; --wknd:#efdfc2; --mgr:#6d3f92;
  --fut:#e7ecef;
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100;
  --s5:#e87ba4; --s6:#008300; --s7:#4a3aa7; --s8:#e34948;
  --track:#ece3cd; --empty:#f1e9d5; --tipbg:#fdf8ec;
}
:root[data-theme="dyslexia"] body{letter-spacing:.015em;word-spacing:.08em;line-height:1.75}
:root[data-theme="dyslexia"] p,:root[data-theme="dyslexia"] li,:root[data-theme="dyslexia"] td{line-height:1.8}
:root[data-theme="dyslexia"] em,:root[data-theme="dyslexia"] i,:root[data-theme="dyslexia"] .quote,
:root[data-theme="dyslexia"] td.req{font-style:normal}
:root[data-theme="light"] .pill.p-ok,:root[data-theme="dyslexia"] .pill.p-ok,
:root[data-theme="light"] .p-ok,:root[data-theme="dyslexia"] .p-ok{background:#d8eee2;color:#0b6a4a}
:root[data-theme="light"] .p-warn,:root[data-theme="dyslexia"] .p-warn{background:#f3e6c2;color:#6f4f00}
:root[data-theme="light"] .p-crit,:root[data-theme="dyslexia"] .p-crit{background:#f6dcdc;color:#a12c2c}
:root[data-theme="light"] .p-info,:root[data-theme="dyslexia"] .p-info{background:#dbe7f5;color:#1c5490}
:root[data-theme="light"] .p-mgr,:root[data-theme="dyslexia"] .p-mgr{background:#ecdcf7;color:#6d3f92}
:root[data-theme="light"] input.h.has,:root[data-theme="dyslexia"] input.h.has{background:#e2efe8;border-color:#b7d4c5}
:root[data-theme="light"] .badge span,:root[data-theme="dyslexia"] .badge span{background:#d8eee2;color:#0b6a4a}
:root[data-theme="light"] .summary,:root[data-theme="dyslexia"] .summary,
:root[data-theme="light"] .chip,:root[data-theme="dyslexia"] .chip,
:root[data-theme="light"] .mi.on,:root[data-theme="dyslexia"] .mi.on,
:root[data-theme="light"] .pull,:root[data-theme="dyslexia"] .pull{background:var(--card)}
:root[data-theme="light"] .tip,:root[data-theme="dyslexia"] .tip{background:var(--tipbg);color:var(--ink);box-shadow:0 4px 18px rgba(0,0,0,.18)}
:root[data-theme="light"] .gl,:root[data-theme="dyslexia"] .gl{stroke:var(--line)}
:root[data-theme="light"] tbody tr:hover td,:root[data-theme="dyslexia"] tbody tr:hover td{background:rgba(14,122,85,.07)}
:root[data-theme="light"] .bar2,:root[data-theme="dyslexia"] .bar2,
:root[data-theme="light"] .mini,:root[data-theme="dyslexia"] .mini{background:var(--track)}
:root[data-theme="light"] td.cell:hover,:root[data-theme="dyslexia"] td.cell:hover{background:rgba(14,122,85,.08)}
:root[data-theme="light"] td.int,:root[data-theme="dyslexia"] td.int,
:root[data-theme="light"] th.int,:root[data-theme="dyslexia"] th.int{background:var(--empty)}
:root[data-theme="light"] .dot,:root[data-theme="dyslexia"] .dot{border-color:var(--line2)}
:root[data-theme="light"] .dot.on,:root[data-theme="dyslexia"] .dot.on{background:var(--acc)}
:root[data-theme="light"] .dot.mgr,:root[data-theme="dyslexia"] .dot.mgr{background:var(--mgr)}
:root[data-theme="light"] pre,:root[data-theme="dyslexia"] pre{background:var(--empty);color:var(--ink)}
:root[data-theme="light"] .kpi .n,:root[data-theme="dyslexia"] .kpi .n{color:var(--ink)}
:root[data-theme="light"] .n.crit,:root[data-theme="dyslexia"] .n.crit{color:var(--crit)}
:root[data-theme="light"] .n.warn,:root[data-theme="dyslexia"] .n.warn{color:var(--warn)}
:root[data-theme="light"] .n.ok,:root[data-theme="dyslexia"] .n.ok{color:var(--acc)}
:root[data-theme="light"] .n.info,:root[data-theme="dyslexia"] .n.info{color:var(--info)}
:root[data-theme="light"] .btn-p,:root[data-theme="dyslexia"] .btn-p{background:var(--acc);color:#fff}
:root[data-theme="light"] .tab.on,:root[data-theme="dyslexia"] .tab.on{background:var(--acc);color:#fff}
:root[data-theme="light"] .push,:root[data-theme="dyslexia"] .push{background:var(--acc);color:#fff}
/* ---- mobile-first layer: applied on phones to every page ---- */
@media (max-width:640px){
  .wrap{padding:10px 10px 104px !important}
  header{padding-bottom:8px}
  nav{overflow-x:auto;white-space:nowrap;max-width:62vw;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  nav::-webkit-scrollbar{display:none}
  nav a{padding:8px 2px}
  h1{font-size:19px !important}
  select,button,.btn,input[type=text],input[type=number],input[type=date]{min-height:44px}
  button.sm,.rm,.ackbtn,.tab,.schip,.mday{min-height:34px}
  .kpis{grid-template-columns:1fr 1fr !important}
  .cols{grid-template-columns:1fr !important}
  .menu{grid-template-columns:1fr 1fr !important}
  .grid2{grid-template-columns:1fr 1fr !important}
  .addrow{grid-template-columns:1fr 1fr !important}
  .weeknav{margin-left:0;width:100%;justify-content:space-between}
  .bar{gap:8px}
  th,td{padding:7px 6px}
  .panel{padding:13px 13px}
  .legend{gap:9px;font-size:11.5px}
  #ib-themebar{right:8px;bottom:8px;padding:5px 8px;font-size:11px}
  .foot{position:sticky;bottom:0;background:var(--bg);padding:10px 0;z-index:40}
  .btn-p{width:100%}
  .gridwrap{max-height:none !important}
}
/* ---- print layer: the ops brief and reports are meeting handouts ---- */
@media print{
  :root,:root[data-theme="light"],:root[data-theme="dyslexia"]{
    --bg:#fff; --card:#fff; --line:#d5d5d5; --line2:#bbb; --ink:#111; --dim:#333;
    --dim2:#555; --acc:#0a5c40; --warn:#7a5600; --crit:#a12c2c; --info:#1c5490;
    --track:#eee; --empty:#f4f4f4; --wknd:#f0e7d8;
  }
  body{background:#fff !important;color:#111 !important}
  #ib-themebar,nav,.tabs,.ackbtn,.addrow,.syncbar,.weeknav button,.ctl select,
  .texlbl,button.sm,.btn,.rm,.stickychips,.menu{display:none !important}
  .panel,.shot,.gridwrap,.kpis{border-color:#ccc !important;box-shadow:none !important;background:#fff !important}
  .alert,.row,.mcard,tr{break-inside:avoid}
  .panel,.shot{break-inside:avoid-page}
  a{color:#111 !important;text-decoration:none}
  .status{display:none}
}
#ib-themebar{position:fixed;right:14px;bottom:14px;z-index:9999;display:flex;gap:6px;align-items:center;
  background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:6px 10px;
  font:12px system-ui,sans-serif;color:var(--dim);box-shadow:0 4px 16px rgba(0,0,0,.25)}
#ib-themebar select{background:transparent;color:var(--ink);border:none;font:inherit;outline:none;cursor:pointer}
#ib-themebar select option{background:var(--card);color:var(--ink)}
@media print{#ib-themebar{display:none}}
