/* ==========================================================================
   trakr-app.css  ·  Trakr desktop house style (Xero-style layout)
   One stylesheet for every desktop page. Pages add no colours of their own.

   Rules:
   - Grey page, white panels with a thin border. No panel inside a panel.
   - Blue means clickable. Red means overdue. Everything else is grey/ink.
   - Two levels: top nav menu, then page. Deeper = tab or drawer.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* surfaces */
  --bg:#eef0f3;
  --panel:#fff;
  --line:#e3e6ea;
  --line-soft:#eef0f2;
  --hover:#f6f8fb;

  /* text */
  --ink:#1b2333;
  --ink-2:#4a5466;
  --ink-3:#7b8494;

  /* brand + meaning */
  --navy:#1d2b4f;       /* nav bar */
  --navy-2:#273a66;     /* nav hover */
  --accent:#e8a33a;     /* initials, badges on the nav only */
  --blue:#1f6fbf;       /* clickable */
  --blue-dark:#195a9c;
  --blue-soft:#e8f1fa;
  --red:#c0392b;        /* overdue only */
  --red-soft:#fbeceb;

  /* shape + type */
  --r:8px;
  --r-sm:6px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  --nav-h:56px;
  --page-x:32px;
  --page-w:1600px;     /* ONE content width for every page, centred like Xero, so nothing jumps between pages */
  --shadow-pop:0 8px 24px rgba(20,30,50,.16);
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* worked out on body, so a page that sets --page-w (e.g. .t-wide) lines up too */
body{--page-pad:max(var(--page-x), calc((100% - var(--page-w)) / 2 + var(--page-x)))}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0;font-weight:600;color:var(--ink)}
h1{font-size:22px}
h2{font-size:16px}
h3{font-size:14px}
small,.muted{color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
[hidden]{display:none!important}

/* ---------- 3. Top nav ---------- */
.t-nav{position:sticky;top:0;z-index:50;display:flex;align-items:stretch;height:var(--nav-h);padding:0 16px;background:var(--navy);color:#fff}
.t-nav__logo{display:flex;align-items:center;gap:8px;margin-right:18px;color:#fff;font-weight:700}
.t-nav__logo:hover{text-decoration:none}
.t-nav__mark{width:28px;height:28px;border-radius:6px}
.t-nav__word[hidden]{display:none}
.t-nav__img{height:28px;width:auto;max-width:180px;object-fit:contain;display:block}
.t-nav__mark{display:grid;place-items:center;background:#fff;color:var(--navy);font-weight:800}
.t-nav__menu{display:flex;align-items:stretch;margin:0;padding:0;list-style:none}
.t-nav__item{position:relative;display:flex}
.t-nav__link{display:flex;align-items:center;gap:6px;height:100%;padding:0 14px;border:0;border-bottom:3px solid transparent;background:none;color:#dbe2f0;font:500 14px var(--font);cursor:pointer}
.t-nav__link:hover,.t-nav__item.is-open>.t-nav__link{background:var(--navy-2);color:#fff;text-decoration:none}
.t-nav__item.is-active>.t-nav__link{border-bottom-color:#fff;color:#fff}
.t-nav__caret{width:8px;height:8px;opacity:.7}
.t-nav__right{display:flex;align-items:center;gap:8px;margin-left:auto}
.t-nav__icon{position:relative;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--navy-2);color:#dbe2f0;cursor:pointer}
.t-nav__icon:hover{color:#fff}
.t-nav__icon svg{width:16px;height:16px}
.t-nav__badge{position:absolute;top:-3px;right:-3px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--navy);font-size:10px;font-weight:700;line-height:18px;text-align:center}
.t-nav__me{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--accent);color:var(--navy);font:700 12px var(--font);cursor:pointer}

/* dropdown */
.t-drop{display:none;position:absolute;top:var(--nav-h);left:0;min-width:230px;padding:8px 0;border-radius:0 0 var(--r) var(--r);background:var(--panel);box-shadow:var(--shadow-pop);color:var(--ink)}
.t-nav__item.is-open .t-drop{display:block}
.t-nav__right .t-drop{left:auto;right:0;border-radius:var(--r)}
.t-drop a{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;color:var(--ink)}
.t-drop a:hover{background:var(--hover);color:var(--blue);text-decoration:none}
.t-drop__head{padding:10px 18px 4px;color:var(--ink-3);font-size:12px;font-weight:600}
.t-drop hr{margin:6px 0;border:0;border-top:1px solid var(--line)}

/* ---------- 4. Page header ---------- */
.t-head{display:flex;align-items:center;gap:24px;min-height:64px;padding:12px var(--page-pad);background:var(--panel);border-bottom:1px solid var(--line)}
.t-head__title{min-width:0}
.t-head__crumb{display:block;margin-bottom:2px;font-size:12.5px}
.t-head__title h1{display:flex;align-items:center;gap:10px}
.t-head__facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:4px;color:var(--ink-2);font-size:13px}
.t-head__actions{display:flex;align-items:center;gap:8px;margin-left:auto}

/* status tabs (list pages) and record tabs share one look */
.t-tabs{display:flex;align-self:stretch;gap:4px;margin:-12px 0;padding:0;list-style:none}
.t-tabs a{display:flex;align-items:center;gap:6px;height:100%;padding:0 12px;border-bottom:3px solid transparent;color:var(--ink-2);font-weight:500}
.t-tabs a:hover{color:var(--ink);text-decoration:none}
.t-tabs a.is-active{border-bottom-color:var(--blue);color:var(--ink)}
.t-tabs .count{color:var(--ink-3);font-weight:400}
/* record tabs sit on their own row under the header */
.t-subtabs{display:flex;gap:4px;padding:0 var(--page-pad);background:var(--panel);border-bottom:1px solid var(--line)}
.t-subtabs a{padding:12px 12px 10px;border-bottom:3px solid transparent;color:var(--ink-2);font-weight:500}
.t-subtabs a:hover{color:var(--ink);text-decoration:none}
.t-subtabs a.is-active{border-bottom-color:var(--blue);color:var(--ink)}

/* ---------- 5. Layout ---------- */
.t-main{max-width:var(--page-w);margin:0 auto;padding:24px var(--page-x) 48px}

.t-grid{display:grid;gap:20px}
.t-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.t-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.t-span-2{grid-column:span 2}
.t-stack>*+*{margin-top:20px}

/* ---------- 6. Panel (the only box) ---------- */
.t-panel{display:flex;flex-direction:column;min-width:0;padding:20px 24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.t-panel--flush{padding:0}
.t-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.t-panel--flush .t-panel__head{margin:0;padding:16px 24px}
.t-panel__foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px}
.t-panel__foot .t-more{margin-left:auto;font-size:13px}
.t-panel--flush .t-panel__foot{padding:12px 24px;border-top:1px solid var(--line-soft);color:var(--ink-3);font-size:13px}

/* ---------- 7. Big numbers ---------- */
.t-stats{display:flex;margin-bottom:14px}
.t-stat{flex:1;min-width:0;padding-right:16px}
.t-stat+.t-stat{padding-left:20px;border-left:1px solid var(--line)}
.t-stat__n{font-size:30px;font-weight:300;line-height:1.1;font-variant-numeric:tabular-nums}
.t-stat__l{color:var(--ink-2);font-size:13px}
.t-stat.is-late .t-stat__l,.t-stat.is-late .t-stat__n{color:var(--red)}
a.t-stat{color:inherit}
a.t-stat:hover{text-decoration:none}
a.t-stat:hover .t-stat__l{color:var(--blue)}
/* totals strip across the top of an overview page */
.t-totals{display:flex;padding:16px 24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.t-totals .t-stat__n{font-size:24px}

/* ---------- 8. "Needs you" list ---------- */
.t-needs{margin:0 -24px;padding:0;list-style:none}
.t-needs a{display:flex;align-items:center;gap:14px;padding:11px 24px;border-top:1px solid var(--line-soft);color:var(--ink)}
.t-needs a:hover{background:var(--hover);text-decoration:none}
.t-needs .n{width:32px;font-weight:600;font-variant-numeric:tabular-nums}
.t-needs .l{flex:1;min-width:0}
.t-needs .l small{display:block;font-size:12.5px}
.t-needs .go{color:var(--ink-3)}
.t-needs .is-late{box-shadow:inset 3px 0 0 var(--red)}
.t-needs .is-late small{color:var(--red)}

/* ---------- 9. Tables ---------- */
.t-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.t-table th{padding:8px 12px;border-bottom:1px solid var(--line);color:var(--ink-3);font-size:12px;font-weight:500;text-align:left;white-space:nowrap}
.t-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.t-table th:first-child,.t-table td:first-child{padding-left:0}
.t-table th:last-child,.t-table td:last-child{padding-right:0}
.t-panel--flush .t-table th:first-child,.t-panel--flush .t-table td:first-child{padding-left:24px}
.t-panel--flush .t-table th:last-child,.t-panel--flush .t-table td:last-child{padding-right:24px}
.t-table tbody tr:hover td{background:var(--hover)}
.t-table tr.is-link{cursor:pointer}
.t-table .r{text-align:right;white-space:nowrap}
.t-table .nowrap{white-space:nowrap}
.t-table .chk{width:36px}
.t1{font-weight:500}
.t2{max-width:260px;overflow:hidden;color:var(--ink-3);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.is-late,.t-late{color:var(--red)}
/* in dashboard cards the first column gives way, so the last column never spills out */
.t-grid .t-table td:first-child{width:100%;max-width:0}
.t-grid .t2{max-width:none}
.t-grid .t-table .t1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- 10. Toolbar (search + filters above a table) ---------- */
.t-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 24px;border-bottom:1px solid var(--line)}
.t-toolbar .t-field{margin:0}
.t-toolbar .grow{flex:1;min-width:220px}
.t-toolbar__links{display:flex;gap:16px;margin-left:auto;padding-bottom:8px;font-size:13px;font-weight:500}
.t-bulk{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--blue-soft);border-bottom:1px solid var(--line);font-size:13px}

/* ---------- 11. Buttons ---------- */
.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 16px;border:1px solid #c9d3df;border-radius:17px;background:var(--panel);color:var(--blue);font:600 13px var(--font);white-space:nowrap;cursor:pointer}
.t-btn:hover{border-color:var(--blue);text-decoration:none}
.t-btn--primary{border-color:var(--blue);background:var(--blue);color:#fff}
.t-btn--primary:hover{border-color:var(--blue-dark);background:var(--blue-dark)}
.t-btn--quiet{border-color:transparent;background:none}
.t-btn--sm{height:28px;padding:0 12px;font-size:12.5px}
.t-btn--icon{width:34px;padding:0}
.t-btn:disabled{opacity:.5;cursor:default}

/* ---------- 12. Pills ---------- */
.t-pill{display:inline-block;padding:1px 8px;border-radius:10px;background:#eef1f5;color:var(--ink-2);font-size:11.5px;font-weight:500;line-height:18px;white-space:nowrap}
.t-pill--live{background:var(--blue-soft);color:var(--blue)}
.t-pill--late{background:var(--red-soft);color:var(--red)}

/* ---------- 13. Forms ---------- */
.t-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.t-field label,.t-label{color:var(--ink-2);font-size:12.5px;font-weight:500}
.t-input,.t-select,.t-textarea{width:100%;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink);font:14px var(--font)}
.t-textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical}
.t-input:focus,.t-select:focus,.t-textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-soft)}
.t-search{padding-left:34px;background:#fafbfc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237b8494' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E") no-repeat 11px center}
.t-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px 24px;margin:0}
.t-facts dt{color:var(--ink-3);font-size:12.5px}
.t-facts dd{margin:2px 0 0;font-weight:500}

/* ---------- 14. Drawer (notes, quick edits, new item) ---------- */
.t-scrim{position:fixed;inset:0;z-index:80;background:rgba(20,30,50,.35)}
.t-drawer{position:fixed;top:0;right:0;bottom:0;z-index:90;display:flex;flex-direction:column;width:min(480px,100vw);background:var(--panel);box-shadow:-8px 0 24px rgba(20,30,50,.16)}
.t-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}
.t-drawer__body{flex:1;overflow:auto;padding:20px 24px}
.t-drawer__foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--line)}

/* ---------- 15. Empty state ---------- */
.t-empty{padding:40px 24px;color:var(--ink-3);text-align:center}
.t-empty h3{margin-bottom:4px}

/* ---------- 15a. Eve (AI assistant) ----------
   Nav button + a panel docked on the right. The page stays usable beside it:
   body.eve-open narrows the page instead of covering it. */
.t-nav__eve{position:relative;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--navy-2);color:var(--accent);cursor:pointer}
.t-nav__eve svg{width:18px;height:18px}
.t-nav__eve:hover,.eve-open .t-nav__eve{background:var(--accent);color:var(--navy)}
:root{--eve-w:420px}
body.eve-open>:not(.t-nav):not(.t-eve):not(.demo){margin-right:var(--eve-w)}
body.eve-open .t-main .t-panel{max-width:100%;overflow-x:clip}   /* never spill under Eve (clip, not hidden, so sticky headings still work) */
.t-eve{position:fixed;top:var(--nav-h);right:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:var(--eve-w);background:var(--panel);border-left:1px solid var(--line)}
.t-eve[hidden]{display:none}
.t-eve__head{display:flex;align-items:center;gap:10px;padding:14px 16px 14px 20px;border-bottom:1px solid var(--line)}
.t-eve__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--accent)}
.t-eve__mark svg{width:16px;height:16px}
.t-eve__head h2{flex:1}
.t-eve__tag{padding:1px 7px;border:1px solid var(--line);border-radius:10px;color:var(--ink-3);font-size:11px;font-weight:500}
.t-eve__ctx{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid var(--line-soft);background:#fafbfc;color:var(--ink-2);font-size:12.5px}
.t-eve__ctx b{color:var(--ink);font-weight:600}
.t-eve__body{flex:1;overflow:auto;padding:16px 20px}
.t-eve__hello{color:var(--ink-2)}
.t-eve__hello h3{margin-bottom:4px;color:var(--ink);font-size:16px}
.t-eve__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.t-eve__chip{padding:6px 12px;border:1px solid #c9d3df;border-radius:16px;background:#fff;color:var(--blue);font:500 13px var(--font);cursor:pointer;text-align:left}
.t-eve__chip:hover{border-color:var(--blue);background:var(--blue-soft)}
.t-eve__msg{margin:0 0 16px}
.t-eve__msg--you{display:flex;justify-content:flex-end}
.t-eve__msg--you span{max-width:85%;padding:8px 12px;border-radius:12px 12px 2px 12px;background:var(--blue);color:#fff}
.t-eve__msg--eve{color:var(--ink);line-height:1.55}
.t-eve__msg--eve p{margin:0 0 8px}
.t-eve__msg--eve ul{margin:0 0 8px;padding-left:18px}
.t-eve__src{margin-top:6px;padding-top:8px;border-top:1px solid var(--line-soft);color:var(--ink-3);font-size:12px}
.t-eve__src a{font-weight:500}
.t-eve__tools{display:flex;gap:4px;margin-top:6px}
.t-eve__tools button{width:26px;height:26px;border:0;border-radius:6px;background:none;color:var(--ink-3);cursor:pointer}
.t-eve__tools button:hover{background:var(--hover);color:var(--ink)}
.t-eve__propose{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fafbfc}
.t-eve__propose h4{margin:0 0 6px;font-size:13px}
.t-eve__propose .t-btn{margin-top:10px}
.t-eve__typing{display:flex;gap:4px;padding:6px 0}
.t-eve__typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:t-eve-dot 1s infinite}
.t-eve__typing i:nth-child(2){animation-delay:.15s}.t-eve__typing i:nth-child(3){animation-delay:.3s}
@keyframes t-eve-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.t-eve__foot{padding:12px 16px 10px;border-top:1px solid var(--line)}
.t-eve__input{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--line);border-radius:12px}
.t-eve__input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.t-eve__input textarea{flex:1;min-height:24px;max-height:120px;padding:5px 0;border:0;outline:0;resize:none;font:14px/1.4 var(--font);color:var(--ink)}
.t-eve__btn{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#eef1f5;color:var(--ink-2);cursor:pointer;flex:none}
.t-eve__btn svg{width:16px;height:16px}
.t-eve__btn--send{background:var(--blue);color:#fff}
.t-eve__btn.is-listening{background:var(--accent);color:var(--navy);animation:t-eve-pulse 1.2s infinite}
@keyframes t-eve-pulse{0%{box-shadow:0 0 0 0 rgba(232,163,58,.5)}100%{box-shadow:0 0 0 10px rgba(232,163,58,0)}}
.t-eve__note{margin-top:6px;color:var(--ink-3);font-size:11.5px;text-align:center}
@media (max-width:1100px){body.eve-open>:not(.t-nav):not(.t-eve):not(.demo){margin-right:0}.t-eve{box-shadow:-8px 0 24px rgba(20,30,50,.16)}}
@media (prefers-reduced-motion:reduce){.t-eve__typing i,.t-eve__btn.is-listening{animation:none}}

/* ---------- 15c. Status path + fixed footer bar ----------
   Every record page ends the same way: where it's at on the left, the last
   thing you do on the right. Fixed to the bottom on every tab, whatever the
   page length. Pages that use it add class "has-foot" to <body>. */
.path{display:flex}
.path span{padding:5px 18px 5px 22px;background:#eef1f5;color:var(--ink-2);font-size:12.5px;font-weight:500;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%)}
.path span:first-child{padding-left:14px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%)}
.path span+span{margin-left:-6px}
.path .done{background:var(--blue-soft);color:var(--blue)}
.path .now{background:var(--blue);color:#fff}
.t-foot{position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(20,30,50,.06)}
.t-foot__in{display:flex;align-items:center;gap:20px;max-width:var(--page-w);margin:0 auto;padding:12px var(--page-x)}
.t-foot__hint{color:var(--ink-3);font-size:13px}
.t-foot__actions{display:flex;gap:8px;margin-left:auto}
body.has-foot{padding-bottom:64px}
body.eve-open .t-foot{right:var(--eve-w)}
@media (max-width:900px){.t-foot__in{flex-wrap:wrap}.t-foot__hint{display:none}.path{overflow-x:auto;max-width:100%}}

/* ---------- 15d. Confirm dialog + toast ---------- */
.t-modal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:16px;background:rgba(20,30,50,.35)}
.t-modal[hidden]{display:none}
.t-modal__box{width:min(520px,100%);max-height:90vh;overflow:auto;background:var(--panel);border-radius:var(--r);box-shadow:var(--shadow-pop)}
.t-modal__head{padding:18px 24px 0}
.t-modal__body{padding:12px 24px 4px;color:var(--ink-2)}
.t-modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px 20px}
.t-warn{margin:10px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:#fff8e6;color:#6b5414;font-size:13px}
.t-toast{position:fixed;left:50%;bottom:84px;z-index:99;transform:translateX(-50%);padding:10px 16px;border-radius:20px;background:var(--ink);color:#fff;font-size:13.5px;box-shadow:var(--shadow-pop)}
.t-toast[hidden]{display:none}

/* ---------- 15b. Loading placeholders ---------- */
.t-skel{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#eceef2 25%,#f5f6f8 50%,#eceef2 75%);background-size:200% 100%;animation:t-shimmer 1.3s ease-in-out infinite}
.t-skel--big{width:56px;height:30px;margin-bottom:6px}
.t-skel--row{height:14px;margin:18px 0}
.t-skel--row:nth-of-type(2n){width:80%}
@keyframes t-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.t-skel{animation:none}}

/* ---------- 16. Responsive ---------- */
@media (max-width:1100px){
  .t-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  :root{--page-x:16px}
  .t-grid--3,.t-grid--2{grid-template-columns:1fr}
  .t-span-2{grid-column:auto}
  .t-head{flex-wrap:wrap}
  .t-tabs{order:3;width:100%;margin:0;overflow-x:auto}
  .t-nav__menu{overflow-x:auto}
  .t-totals,.t-stats{flex-wrap:wrap;gap:12px}
  .t-panel{overflow-x:auto}
}

/* ---------- 17. Print ---------- */
@media print{
  .t-nav,.t-head__actions,.t-toolbar,.t-bulk{display:none}
  body{background:#fff}
  .t-panel{border:0;padding:0}
}

/* ---- Create new (+) panel and drawers ---- */
.t-quick{position:fixed;z-index:96;width:400px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 48px rgba(20,30,50,.22);animation:tqIn .14s ease-out}
.t-quick[hidden]{display:none}
@keyframes tqIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.t-quick__head{margin:2px 4px 10px;color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.t-quick__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.t-quick__tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.t-quick__tile:hover,.t-quick__tile:focus-visible{transform:translateY(-2px);border-color:transparent;box-shadow:0 8px 22px rgba(20,30,50,.14);outline:none}
.t-quick__ico{display:grid;place-items:center;width:38px;height:38px;margin-bottom:8px;border-radius:11px;color:#fff}
.t-quick__ico svg{width:20px;height:20px}
.t-quick__tile--call .t-quick__ico{background:linear-gradient(135deg,#2f7cf6,#1d4fbf)}
.t-quick__tile--note .t-quick__ico{background:linear-gradient(135deg,#f5b43a,#e07b12)}
.t-quick__tile--enquiry .t-quick__ico{background:linear-gradient(135deg,#9a6cf2,#6a3fd1)}
.t-quick__tile--job .t-quick__ico{background:linear-gradient(135deg,#22b07d,#11805a)}
.t-quick__t{font-weight:600}
.t-quick__s{color:var(--ink-3);font-size:12.5px}
.t-quick__tile kbd{position:absolute;top:10px;right:10px;padding:1px 6px;border:1px solid var(--line);border-radius:5px;background:#f6f7f9;color:var(--ink-3);font:500 11px var(--font)}
.t-qd{width:min(520px,100vw)}
.t-qd .t-drawer__head{border-top:4px solid #2f7cf6}
.t-qd--note .t-drawer__head{border-top-color:#f5a623}
.t-qd--enquiry .t-drawer__head{border-top-color:#8257e5}
.t-qd__kicker{color:var(--ink-3);font-size:12.5px}
.t-qd__f{margin-bottom:14px}
.t-qd__f label{display:block;margin-bottom:5px;color:var(--ink-2);font-size:12.5px;font-weight:500}
.t-qd__row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.t-qd__hint{margin:4px 0 0;color:var(--ink-3);font-size:12.5px}
.t-qd__err{margin-right:auto;align-self:center;color:var(--red,#b42318);font-size:13px}
.t-qd__fu{display:grid;grid-template-columns:170px 1fr;gap:8px;margin-top:8px}
.t-qd__fu[hidden]{display:none}
.t-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.t-seg button{padding:7px 12px;border:0;background:#fff;color:var(--ink-2);font:500 13px var(--font);cursor:pointer}
.t-seg button+button{border-left:1px solid var(--line)}
.t-seg button.on{background:var(--blue-soft);color:var(--blue)}
.t-chips{display:flex;flex-wrap:wrap;gap:6px}
.t-chips button{padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-2);font:500 12.5px var(--font);cursor:pointer}
.t-chips button.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.t-pick{position:relative}
.t-pick__list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(20,30,50,.16)}
.t-pick__list[hidden]{display:none}
.t-pick__row,.t-pick__add{display:block;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--line-soft);background:#fff;font:inherit;text-align:left;cursor:pointer}
.t-pick__row:hover,.t-pick__row:focus,.t-pick__add:hover,.t-pick__add:focus{background:var(--hover);outline:none}
.t-pick__add{color:var(--blue);font-weight:600}
.t-pick__n{display:block;font-weight:600}
.t-pick__m{display:block;margin-top:2px;color:var(--ink-3);font-size:12.5px}
.t-pick em,.t-pick__chip em{margin-left:6px;padding:1px 7px;border-radius:9px;background:#fff4dc;color:#a8650b;font:600 10.5px var(--font);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
.t-pick__none{padding:10px 14px;color:var(--ink-3);font-size:13px}
.t-pick__chip{display:flex;align-items:center;justify-content:space-between;gap:10px;height:36px;padding:0 6px 0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#f8f9fb}
.t-pick__chip[hidden]{display:none}
.t-pick__chip button{padding:4px 10px;border:0;border-radius:6px;background:none;color:var(--blue);font:500 12.5px var(--font);cursor:pointer}
.t-pick__chip button:hover{background:var(--blue-soft)}
.t-qd__fu.one{grid-template-columns:1fr}
.t-qd__fu input[hidden]{display:none}

/* ---------- Pinned page header and tabs (every v2 page) ----------
   The title bar and the sub-menu tabs stay under the nav while the page scrolls,
   on every screen size, iPad included (Dean, 18 Oct). --head-h is measured by
   trakr-app-nav.js so a header that wraps onto two lines still lines up. */
body > .t-head{position:sticky;top:var(--nav-h);z-index:45}
body > .t-subtabs{position:sticky;top:calc(var(--nav-h) + var(--head-h, 64px));z-index:44}

/* ---------- THE LIST PAGE STANDARD (Dean, 20 Oct: every list looks the same) ----------
   Jobs is the reference. Every list page is built the same way:
     header  .t-head: h1, then status tabs as <ul class="t-tabs"> with <span class="count">,
             then the one primary action (+ New ...) in .t-head__actions
     body    ONE <section class="t-panel t-panel--flush"> holding, in order:
               .t-toolbar  labelled .t-field filters, Search first (.grow)
               (optional)  a summary strip (.t-totals) or a notice (.t-warn)
               the .t-table
               .t-panel__foot  counts / totals / paging
   No filter bars or summaries floating on the grey page outside the panel.
   Column headings stay on screen while the list scrolls. Never give #list (or anything
   between it and the page) an overflow setting: that traps the headings inside it. */
.t-main > .t-panel--flush > .t-toolbar{position:sticky;top:calc(var(--nav-h) + var(--head-h, 64px) + var(--tabs-h, 0px));z-index:21;background:var(--panel);border-radius:var(--r) var(--r) 0 0}
/* Dean, 21 Oct: the search and filters stay put too, with the headings pinned under them.
   --bar-h is that toolbar's height, measured by trakr-app-nav.js (0 on pages without one). */
/* 08/11/26: a list a few px wider than its panel showed the pinned heading row sticking out past the right edge.
   clip (not hidden) trims it without making a scroll box, so the headings still pin. */
.t-main > .t-panel--flush{overflow-x:clip}
.t-main > .t-panel--flush #list .t-table thead th{position:sticky;top:calc(var(--nav-h) + var(--head-h, 64px) + var(--tabs-h, 0px) + var(--bar-h, 0px));z-index:20;background:var(--panel);box-shadow:inset 0 -1px 0 var(--line)}

/* ---------- Favourites (v2, 19 Oct) ---------- */
.t-fav{font-size:18px;line-height:1;color:var(--ink-3)}
.t-fav.on{color:#e8a33a;border-color:#f1d29c;background:#fff8eb}
.t-nav__icon.t-nav__star{font-size:17px;line-height:1;color:#f3c26b}
.t-drop--favs{left:auto;right:0;width:340px;max-width:calc(100vw - 24px)}
.t-drop--favs a{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.t-drop--favs a b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-drop--favs a small{grid-column:2;color:var(--ink-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-drop--favs .k,.t-favs .k{font-size:10.5px;color:var(--ink-3);border:1px solid var(--line);border-radius:4px;padding:0 5px;white-space:nowrap}
.t-drop__empty{padding:10px 14px;color:var(--ink-3);font-size:13px;line-height:1.45}
.t-favs{list-style:none;margin:0;padding:0}
.t-favs li{display:flex;align-items:center;gap:10px;padding:10px 20px;border-top:1px solid var(--line-soft)}
.t-favs li:first-child{border-top:0}
.t-favs a{flex:1;min-width:0;color:var(--ink)}
.t-favs a:hover{text-decoration:none}.t-favs a:hover b{color:var(--blue)}
.t-favs b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-favs small{display:block;color:var(--ink-3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-favs button{flex:none;border:0;background:none;color:#e8a33a;font-size:16px;cursor:pointer}

/* ===== DARK MODE: CORE (opt in under your initials > Dark mode; Dean's roadmap note) =====
   trakr-app-nav.js sets <html data-theme="dark"> before the page paints when someone has
   chosen it. Nobody else is affected: every rule below needs that attribute.
   1) the palette  2) a few hand fixes  3) a GENERATED section (dark_gen.py) that maps the
   colours hard-coded in page <style> blocks and inline styles. */
@media screen{
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0f141c;
  --panel:#171e2a;
  --line:#2c3646;
  --line-soft:#222b39;
  --hover:#1f2836;
  --ink:#e6eaf0;
  --ink-1:#e6eaf0;
  --ink-2:#b4bdca;
  --ink-3:#9aa5b5;
  --navy:#0b1220;
  --navy-2:#1c2841;
  --blue:#6aaef0;
  --blue-dark:#8cc0f4;
  --blue-soft:#18324f;
  --blue-fill:#2468ad;        /* blue behind white text */
  --blue-fill-dark:#1d5a97;
  --red:#f07a6e;
  --red-soft:#3b1f1d;
  --red-fill:#b5382c;
  --red-fill-dark:#9c2f25;
  --shadow-pop:0 8px 24px rgba(0,0,0,.5);
}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .t-nav{border-bottom:1px solid var(--line)}
html[data-theme="dark"] .t-nav__mark{background:#e6eaf0;color:#1d2b4f}
html[data-theme="dark"] .t-toast{background:#e6eaf0;color:#111827}
html[data-theme="dark"] .t-scrim,html[data-theme="dark"] .t-modal{background:rgba(0,0,0,.6)}
html[data-theme="dark"] .t-btn--primary,html[data-theme="dark"] .t-btn--primary:hover{color:#fff}
html[data-theme="dark"] .t-skel{background:linear-gradient(90deg,#222b39 25%,#2c3646 50%,#222b39 75%);background-size:200% 100%}
html[data-theme="dark"] .t-search{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239aa5b5' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E")}
html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),html[data-theme="dark"] select,html[data-theme="dark"] textarea{background-color:#121823;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7f8a9b}
html[data-theme="dark"] .t-eve__input textarea{background:transparent}
html[data-theme="dark"] img:not([src$=".svg"]){filter:brightness(.92)}
html[data-theme="dark"] .t-nav img{filter:none}
html[data-theme="dark"] hr{border-color:var(--line)}
html[data-theme="dark"] ::selection{background:#2468ad;color:#fff}
html[data-theme="dark"] iframe{color-scheme:light}
}
/* the Dark mode switch under your initials (shown in light mode too) */
.t-theme{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:6px 18px 8px;color:var(--ink);font-size:13px}
.t-theme .t-seg button{padding:4px 9px;font-size:12px;white-space:nowrap;background:var(--panel)}
.t-theme .t-seg button.on{background:var(--blue-soft);color:var(--blue)}

/* ===== DARK MODE: GENERATED (dark_gen.py) START ===== */
/* Do not edit by hand: run dark_gen.py. Rules here only apply when <html data-theme="dark">.
   Page rules are matched on their own selector; where two pages use the same selector
   with different colours, the rule is scoped to the page with [data-pg]. Screen only, so print stays light. */
@media screen{
html:where([data-theme="dark"]) .t-btn{border:1px solid #2c3646}
html:where([data-theme="dark"]) .t-btn--primary{background:var(--blue-fill)}
html:where([data-theme="dark"]) .t-btn--primary:hover{background:var(--blue-fill-dark)}
html:where([data-theme="dark"]) .t-pill{background:#1f2836}
html:where([data-theme="dark"]) .t-input,html:where([data-theme="dark"]) .t-select,html:where([data-theme="dark"]) .t-textarea{background:#171e2a}
html:where([data-theme="dark"]) .t-search{background:#1f2836 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237b8494' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E") no-repeat 11px center}
html:where([data-theme="dark"]) .t-eve__ctx{background:#1f2836}
html:where([data-theme="dark"]) .t-eve__chip{border:1px solid #2c3646;background:#171e2a}
html:where([data-theme="dark"]) .t-eve__msg--you span{background:var(--blue-fill)}
html:where([data-theme="dark"]) .t-eve__propose{background:#1f2836}
html:where([data-theme="dark"]) .t-eve__btn{background:#1f2836}
html:where([data-theme="dark"]) .t-eve__btn--send{background:var(--blue-fill)}
html:where([data-theme="dark"]) .path span{background:#1f2836}
html:where([data-theme="dark"]) .path .now{background:var(--blue-fill)}
html:where([data-theme="dark"]) .t-warn{background:#41361b;color:#e9cf87}
html:where([data-theme="dark"]) .t-toast{background:#3a4658}
html:where([data-theme="dark"]) .t-skel{background:linear-gradient(90deg,#1f2836 25%,#1f2836 50%,#1f2836 75%)}
html:where([data-theme="dark"]) .t-quick__tile{background:#171e2a}
html:where([data-theme="dark"]) .t-quick__tile kbd{background:#1f2836}
html:where([data-theme="dark"]) .t-qd__err{color:var(--red,#ed8a82)}
html:where([data-theme="dark"]) .t-seg button{background:#171e2a}
html:where([data-theme="dark"]) .t-chips button{background:#171e2a}
html:where([data-theme="dark"]) .t-pick__list{background:#171e2a}
html:where([data-theme="dark"]) .t-pick__row,html:where([data-theme="dark"]) .t-pick__add{background:#171e2a}
html:where([data-theme="dark"]) .t-pick em,html:where([data-theme="dark"]) .t-pick__chip em{background:#41351b;color:#edbf82}
html:where([data-theme="dark"]) .t-pick__chip{background:#1f2836}
html:where([data-theme="dark"]) .t-fav.on{color:#edc382;border-color:#765c2d;background:#41341b}
html:where([data-theme="dark"]) .t-favs button{color:#edc382}
html:where([data-theme="dark"]) .t-pill--amb{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="accidents"]) .t-pill--ok{background:#1c402b;color:#90dfb6}
html:where([data-theme="dark"][data-pg="customers"]) .t-pill--ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"][data-pg="deals"]) .t-pill--ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"][data-pg="enquiries"]) .t-pill--ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"][data-pg="sales-v2-company"]) .t-pill--ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"][data-pg="xdocs"]) .t-pill--ok{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .t-stat.amb .t-stat__n{color:#edc882}
html:where([data-theme="dark"][data-pg="accidents"]) .note{background:#1f2836}
html:where([data-theme="dark"][data-pg="compliance"]) .note{background:#1f2836}
html:where([data-theme="dark"][data-pg="hr-reminders"]) .note{background:#1f2836}
html:where([data-theme="dark"][data-pg="reconcile"]) .note{background:#1f2836}
html:where([data-theme="dark"][data-pg="policies"]) .note{background:#41361b;color:#e9cf87}
html:where([data-theme="dark"]) .note.warn{background:#41361b;color:#e9cf87}
html:where([data-theme="dark"]) .ord button{background:#171e2a}
html:where([data-theme="dark"]) #saveState.dirty{color:#edbf82}
html:where([data-theme="dark"]) .emu-on{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .rhist .soon{color:#edbf82}
html:where([data-theme="dark"]) .we{background:#1f2836}
html:where([data-theme="dark"]) .ad{background:#1f2836}
html:where([data-theme="dark"]) .tc.today{background:#1b2e41}
html:where([data-theme="dark"]) .now{background:var(--red-fill)}
html:where([data-theme="dark"]) .now::before{background:var(--red-fill)}
html:where([data-theme="dark"]) .outside{background:#1f2836}
html:where([data-theme="dark"]) .moc.dim{background:#1f2836}
html:where([data-theme="dark"]) .moc.today .dn{background:var(--blue-fill)}
html:where([data-theme="dark"]) .epriv{background:#1f2836}
html:where([data-theme="dark"]) .co-note{background:#1f2836}
html:where([data-theme="dark"][data-pg="callout-check"]) .tg.g{background:#1b412a;color:#90dfb6}
html:where([data-theme="dark"][data-pg="csat"]) .tg.g{background:#1b412a;color:#90dfb6}
html:where([data-theme="dark"][data-pg="ftf"]) .tg.g{background:#1b412a;color:#90dfb6}
html:where([data-theme="dark"][data-pg="equipment"]) .tg.g{background:#1c402b;color:#90dfb6}
html:where([data-theme="dark"][data-pg="pm-due"]) .tg.g{background:#1c402b;color:#90dfb6}
html:where([data-theme="dark"][data-pg="finance-check"]) .tg.g{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"]) .tg.r{background:#411b1b;color:#ed8a82}
html:where([data-theme="dark"]) .tg.a{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .cd.soon{color:#edc882}
html:where([data-theme="dark"]) .t-totals .t-stat.amb .t-stat__n{color:#edc882}
html:where([data-theme="dark"]) .note code{background:#232d39}
html:where([data-theme="dark"]) table.mx th{background:#1f2836}
html:where([data-theme="dark"]) table.mx .stick{background:#171e2a}
html:where([data-theme="dark"]) table.mx th.stick{background:#1f2836}
html:where([data-theme="dark"]) table.mx tr.grp th{background:#1b2e41}
html:where([data-theme="dark"]) .cNone{background:#411b1b;color:#de9191}
html:where([data-theme="dark"]) .cExp{background:#412b1b;color:#e9b786}
html:where([data-theme="dark"]) .cSoon{background:#41361b;color:#e5cc8a}
html:where([data-theme="dark"]) .cUnd{background:#1f2836;color:#aeb7c1}
html:where([data-theme="dark"]) .cWait{background:#1b2a41;color:#91afde}
html:where([data-theme="dark"]) .cOk{color:#96d9b1}
html:where([data-theme="dark"]) .stat{color:#e9b786}
html:where([data-theme="dark"]) .calc{color:#aeb7c1}
html:where([data-theme="dark"]) .warnTxt{color:#edc882}
html:where([data-theme="dark"]) .cq-tiers button.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .cq-err{background:#411d1b}
html:where([data-theme="dark"]) .cq-ok{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .cq-warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .qs-ok{color:#90dfb6}
html:where([data-theme="dark"]) .cq-view button.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .cq-pv{background:#171e2a}
html:where([data-theme="dark"]) .tier{background:#1f2836}
html:where([data-theme="dark"]) .tier.Gold{background:#41371b;color:#edd182}
html:where([data-theme="dark"]) .tier.Platinum{background:#1f2a3c;color:#a4b3cb}
html:where([data-theme="dark"]) .tier.Bronze{background:#412b1b;color:#edaf83}
html:where([data-theme="dark"]) .pos{color:#90dfb6}
html:where([data-theme="dark"]) .ct-err{background:#411d1b}
html:where([data-theme="dark"]) .ag-dot{background:#263040}
html:where([data-theme="dark"]) .ag-row.block .ag-dot{background:var(--red-fill)}
html:where([data-theme="dark"]) .ag-note{background:#41341b;border:1px solid #76622d;color:#edc482}
html:where([data-theme="dark"]) .ag-ok{background:#1c402b;border:1px solid #32714c;color:#90dfb6}
html:where([data-theme="dark"]) .cf-n{background:var(--blue-soft,#1b2c41);color:var(--blue,#87b1e9)}
html:where([data-theme="dark"]) .cf-seg{background:#1f2836}
html:where([data-theme="dark"]) .cf-seg button.on{background:#171e2a;color:var(--ink-1,#e6eaf0)}
html:where([data-theme="dark"]) .cf-chip{color:var(--blue,#87b1e9)}
html:where([data-theme="dark"]) .cf-tog{background:#171e2a}
html:where([data-theme="dark"]) .cf-tog:has(input:checked){border-color:#2d4b76;background:#1b2c41}
html:where([data-theme="dark"]) .cf-bar{background:rgba(23,30,42,.96)}
html:where([data-theme="dark"]) .ct-lockmsg{background:#1b2c41;border:1px solid #2d4f76}
html:where([data-theme="dark"]) .pmbar i{background:#232b39}
html:where([data-theme="dark"]) th.sortable.on{color:var(--ink-1,#e6eaf0)}
html:where([data-theme="dark"]) .t-stat.warn .t-stat__n{color:#edbf82}
html:where([data-theme="dark"]) .ct-prop{border:1px solid #76612d;background:#41351b}
html:where([data-theme="dark"]) .t-pill--prop{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .ends.soon{color:#edbf82}
html:where([data-theme="dark"]) .pmc.overdue{background:var(--red-fill)}
html:where([data-theme="dark"]) .pmc.cancelled{background:#1f2836}
html:where([data-theme="dark"]) .tier.Silver{background:#1f2836;color:#acb4c4}
html:where([data-theme="dark"]) .ct-note{background:#1f2836}
html:where([data-theme="dark"]) .cs-note{background:#1f2836}
html:where([data-theme="dark"]) .stars{color:#edc382}
html:where([data-theme="dark"]) .seg button{background:#171e2a}
html:where([data-theme="dark"]) .lock{background:#1f2836}
html:where([data-theme="dark"][data-pg="customer"]) .fu{background:#41351b;color:#edbf82}
html:where([data-theme="dark"][data-pg="sales-v2-company"]) .fu{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .fu.done{background:#1f2836}
html:where([data-theme="dark"]) .lefttag{background:#1f2836}
html:where([data-theme="dark"]) .rowact{background:#171e2a}
html:where([data-theme="dark"]) .cerr{color:#ed8a82}
html:where([data-theme="dark"]) .t-subtabs a.sales::after{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .co i{background:#1f2836}
html:where([data-theme="dark"][data-pg="customers"]) .t-pill--warn{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="enquiries"]) .t-pill--warn{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="sales-v2-company"]) .t-pill--warn{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="xdocs"]) .t-pill--warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .col{background:#252c37}
html:where([data-theme="dark"]) .col.won{background:#203c28}
html:where([data-theme="dark"]) .col.lost{background:#1f2836}
html:where([data-theme="dark"]) .card{background:#171e2a}
html:where([data-theme="dark"][data-pg="deals"]) .tag{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="enquiries"]) .tag{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="stores"]) .tag{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .path button{background:#1f2836}
html:where([data-theme="dark"]) .path button.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .coList{background:#171e2a}
html:where([data-theme="dark"]) .coList button{background:#171e2a}
html:where([data-theme="dark"]) .chosen{background:#1f2836}
html:where([data-theme="dark"]) .prov{background:#1f2836}
html:where([data-theme="dark"]) .dc-drop{border:2px dashed #3c4d67;background:#1f2836}
html:where([data-theme="dark"]) .dc-file .bar{background:#1f2836}
html:where([data-theme="dark"]) .dc-file .bar i{background:var(--blue-fill)}
html:where([data-theme="dark"]) .dc-file .ok{color:#8ce3af}
html:where([data-theme="dark"]) .dc-file .bad{color:#e78888}
html:where([data-theme="dark"]) .dc-where{background:#1f2836}
html:where([data-theme="dark"]) .seg-n{background:#1f2836}
html:where([data-theme="dark"]) .t-seg button.on .seg-n{background:#171e2a}
html:where([data-theme="dark"]) .t-seg button.hot .seg-n,html:where([data-theme="dark"]) .t-seg button.hot.on .seg-n{background:var(--red-fill)}
html:where([data-theme="dark"]) .path span{background:#1f2836}
html:where([data-theme="dark"]) .path span.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .quote{background:#1f2836}
html:where([data-theme="dark"]) .match.ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"]) .match.no{background:#1f2836}
html:where([data-theme="dark"]) .cv{background:#1f2836}
html:where([data-theme="dark"]) .az button{background:#171e2a}
html:where([data-theme="dark"]) .ro{background:#1f2836}
html:where([data-theme="dark"]) .err{background:#411d1b}
html:where([data-theme="dark"]) .pick button{background:#171e2a}
html:where([data-theme="dark"]) .tg.b{background:#1b2a41;color:#829eed}
html:where([data-theme="dark"]) .eu-note{background:#1f2836}
html:where([data-theme="dark"]) .eu-bar{background:#242b38}
html:where([data-theme="dark"]) .eu-bar i.over{background:var(--red-fill)}
html:where([data-theme="dark"]) .eu-warn{background:#41311b;color:#edc482}
html:where([data-theme="dark"]) .ex-tbl tr.is-link:hover td{background:#1f2836}
html:where([data-theme="dark"]) .ex-tbl input.amt.need{background:#41361b}
html:where([data-theme="dark"]) .xd .receipt{background:#1f2836}
html:where([data-theme="dark"]) .xd .receipt img{background:#171e2a}
html:where([data-theme="dark"]) .xd .receipt iframe{background:#171e2a}
html:where([data-theme="dark"]) .seg input:checked + span{background:#1b2d41;color:var(--blue,#83b2ed)}
html:where([data-theme="dark"][data-pg="expenses"]) .ex-err{background:#411b1b;color:#e58a8a}
html:where([data-theme="dark"][data-pg="my-expenses"]) .ex-err{background:#411d1b}
html:where([data-theme="dark"]) .ex-ok{background:#1b4129;color:#8fe0b8}
html:where([data-theme="dark"]) .fq-terms button.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .fq-warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .tg{background:#1f2836}
html:where([data-theme="dark"]) .seg button.ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"][data-pg="finance-check"]) .bar{background:#171e2a}
html:where([data-theme="dark"][data-pg="ftf"]) .bar{background:#242b38}
html:where([data-theme="dark"][data-pg="hr-home"]) .bar{background:#1f2836}
html:where([data-theme="dark"][data-pg="policies"]) .bar{background:#1f2836}
html:where([data-theme="dark"]) .ask{background:#1f2836}
html:where([data-theme="dark"]) .fx-tag{background:#1f2836}
html:where([data-theme="dark"]) .fx-note{background:#41351b;border:1px solid #76612d}
html:where([data-theme="dark"]) .fx-chip{background:#171e2a}
html:where([data-theme="dark"]) .fx-warn{color:#edc482;background:#41341b}
html:where([data-theme="dark"]) .ff-rule{background:#1f2836}
html:where([data-theme="dark"]) .ff-warn{background:#41311b;color:#edc482}
html:where([data-theme="dark"]) .hp-who{background:#1f2836}
html:where([data-theme="dark"]) .hp-tips{background:#41351b;border:1px solid #76612d}
html:where([data-theme="dark"]) .hp-card{background:#171e2a}
html:where([data-theme="dark"]) .ib-seg button{background:#171e2a}
html:where([data-theme="dark"]) .ib-seg button.on{background:var(--blue-soft,#1b2c41)}
html:where([data-theme="dark"]) .hm-bar{background:var(--blue-soft,#1b2c41)}
html:where([data-theme="dark"]) .hm-tools button{background:#171e2a}
html:where([data-theme="dark"]) .hp-flags .hard::before{background:var(--red-fill)}
html:where([data-theme="dark"]) .hp-flags .warn{color:#edc582}
html:where([data-theme="dark"]) .hp-ok{color:#94dbb3}
html:where([data-theme="dark"]) .hp-wknd{background:#41341b;color:#edc582}
html:where([data-theme="dark"]) .hp-msg{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .hp-msg.bad{background:#411d1b}
html:where([data-theme="dark"]) .hp-eng td{background:#1d2c3e}
html:where([data-theme="dark"]) .hp-dayfoot td{background:#1f2836}
html:where([data-theme="dark"]) .hp-grp{background:#1c4026;color:#90dfb6}
html:where([data-theme="dark"]) .td-sec{background:#1f2836}
html:where([data-theme="dark"]) .td-err{background:#411d1b}
html:where([data-theme="dark"]) .td-ok{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) tr.is-row:hover td{background:#1f2836}
html:where([data-theme="dark"]) .t-stat.green .t-stat__n{color:#94dbb3}
html:where([data-theme="dark"]) .hp-sq.todo{background:#171e2a;border:1.5px solid #2c3646}
html:where([data-theme="dark"]) .hp-sq.off{background:#1f2836}
html:where([data-theme="dark"]) .hp-dot.hard{background:var(--red-fill)}
html:where([data-theme="dark"]) tr.f-hard>td{background:#411e1b}
html:where([data-theme="dark"]) tr.f-warn>td{background:#41381b}
html:where([data-theme="dark"]) tr.is-ticked>td{background:#26411b}
html:where([data-theme="dark"]) .hp-i.hard::before{background:var(--red-fill)}
html:where([data-theme="dark"]) .hp-i.warn{color:#edc582}
html:where([data-theme="dark"]) .hp-i.acc::before{background:#263040}
html:where([data-theme="dark"]) .t-stat.amber .t-stat__n{color:#edbf82}
html:where([data-theme="dark"]) .hh-n{background:#1f2836}
html:where([data-theme="dark"]) .hh-n.on{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .who button{background:#171e2a}
html:where([data-theme="dark"]) .who button.off{background:#41341b;border-color:#765f2d;color:#edc882}
html:where([data-theme="dark"]) .who button .why{color:#edbf82}
html:where([data-theme="dark"]) .p-ok{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .p-wait{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .p-bad{background:#411d1b}
html:where([data-theme="dark"]) .p-grey{background:#1f2836}
html:where([data-theme="dark"]) .pick-list{background:#171e2a}
html:where([data-theme="dark"]) .cust{background:#1f2836}
html:where([data-theme="dark"]) .ok{color:#8ae5b0}
html:where([data-theme="dark"]) .seg button.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .ln input,html:where([data-theme="dark"]) .ln select{background:#171e2a}
html:where([data-theme="dark"]) .msg{color:#e79188}
html:where([data-theme="dark"]) .pw{background:#171e2a}
html:where([data-theme="dark"]) .pw.on{background:#1b2d41}
html:where([data-theme="dark"]) .thumb .img{background:#1f2836 center/cover no-repeat}
html:where([data-theme="dark"]) .thumbw .thumb-x{background:#171e2a}
html:where([data-theme="dark"]) .rm-lock{background:#1f2836}
html:where([data-theme="dark"]) .trip-row{background:#1b3041;border:1px solid #2d5576}
html:where([data-theme="dark"]) .route-map{background:#202e3c}
html:where([data-theme="dark"]) .ivx-checks .hard::before{background:var(--red-fill)}
html:where([data-theme="dark"]) .iv-msg{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .iv-msg.bad{background:#411d1b}
html:where([data-theme="dark"]) .iv-form{background:#1f2836}
html:where([data-theme="dark"]) .iv-chip{background:#171e2a}
html:where([data-theme="dark"]) .at-card{background:#1f2836}
html:where([data-theme="dark"]) .at-err{color:#e79188}
html:where([data-theme="dark"]) .wc-banner{background:#41341b;border:1px solid #76622d;color:#edc482}
html:where([data-theme="dark"]) .wc-banner b{color:#edc682}
html:where([data-theme="dark"]) .wc-msg.ok{color:#90dfb6}
html:where([data-theme="dark"]) .cb{background:#1b2c41;border:1px solid #2d4f76}
html:where([data-theme="dark"]) .cb b{color:var(--ink-1,#e6eaf0)}
html:where([data-theme="dark"]) .sla__st.g{background:#1b4129;color:#8ce3af}
html:where([data-theme="dark"]) .sla__st.a{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .sla__st.m{background:#1b4129;color:#8ce3af}
html:where([data-theme="dark"]) .kb-prog{background:#1f2836}
html:where([data-theme="dark"]) .kb-prog i{background:var(--blue-fill)}
html:where([data-theme="dark"]) .kb-err{background:#411b1b;color:#e78888}
html:where([data-theme="dark"]) .kb-ok{background:#1b4129;color:#8ce3af}
html:where([data-theme="dark"]) .kb-dup .keep{color:#8ce3af}
html:where([data-theme="dark"]) .kb-dup .copy{color:#edbc82}
html:where([data-theme="dark"]) .kb-confirm{background:#41351b;border:1px solid #76612d}
html:where([data-theme="dark"]) .lv-clash{color:#edca82}
html:where([data-theme="dark"][data-pg="management"]) .up{color:#90dfb6}
html:where([data-theme="dark"][data-pg="marketing"]) .up{color:#8ae5b0}
html:where([data-theme="dark"][data-pg="management"]) .warn{color:#edbf82}
html:where([data-theme="dark"][data-pg="my-hr"]) .warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"][data-pg="staff-record"]) .warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"][data-pg="staff"]) .warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"][data-pg="timesheets"]) .warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"][data-pg="pm-due"]) .warn{background:#41351b;color:#edc882}
html:where([data-theme="dark"][data-pg="sales-v2-machines"]) .warn{background:#41341b;border:1px solid #76612d}
html:where([data-theme="dark"]) .hit:hover{fill:rgba(132,184,235,.06)}
html:where([data-theme="dark"]) .hb .t{background:#1f2836}
html:where([data-theme="dark"]) .who .mini{background:#1f2836}
html:where([data-theme="dark"]) .mg-err{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .mk-ch .bar{background:#1f2836}
html:where([data-theme="dark"]) .good{color:#8ae5b0}
html:where([data-theme="dark"]) .mk-range .t-btn.is-on{background:#3a4658;border-color:#3a4658}
html:where([data-theme="dark"]) .mk-note{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .mk-note code{background:#171e2a}
html:where([data-theme="dark"]) .rt-i .hint.warn{color:#edc882}
html:where([data-theme="dark"]) .rt-i a.gofor{color:#87b3e8}
html:where([data-theme="dark"]) .mk-go a{background:#171e2a;color:#87b3e8}
html:where([data-theme="dark"]) .mk-hl{color:#87b3e8}
html:where([data-theme="dark"]) .mk-pill{background:#1f2836}
html:where([data-theme="dark"]) .t-stat.warn .t-stat__n,html:where([data-theme="dark"]) .t-stat.warn .t-stat__l{color:#edbf82}
html:where([data-theme="dark"]) .ex-chip.pdf{background:#1d2c3e}
html:where([data-theme="dark"]) .ex-chip.none{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .pill-tosub{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .pill-appr{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"][data-pg="my-expenses"]) .pill-paid{background:#1f2836}
html:where([data-theme="dark"][data-pg="warranties"]) .pill-paid{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .ex-banner{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .ex-lock{background:#1f2836}
html:where([data-theme="dark"]) .ex-rc{background:#1f2836}
html:where([data-theme="dark"]) .ex-rc .ok{color:#90dfb6}
html:where([data-theme="dark"]) .mh-menu .b{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .mh-menu .b.red{background:#411d1b}
html:where([data-theme="dark"]) .meter{background:#1f2836}
html:where([data-theme="dark"]) .ic-red{background:#411d1b}
html:where([data-theme="dark"]) .ic-amb{background:#41341b;color:#edbf82}
html:where([data-theme="dark"]) .yr i{background:#1f2836}
html:where([data-theme="dark"]) .yr i.we{background:#1f2836}
html:where([data-theme="dark"]) .yr i.tk.bh{background:#212d3b}
html:where([data-theme="dark"]) .okm{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .banner{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .mt-n{background:#1f2836}
html:where([data-theme="dark"][data-pg="my-team"]) .t-btn--danger{background:var(--red-fill)}
html:where([data-theme="dark"][data-pg="timesheets"]) .t-btn--danger{border-color:#762d2d}
html:where([data-theme="dark"]) .box{background:#1f2836}
html:where([data-theme="dark"]) .mt-warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .ts-week td{background:#1f2836}
html:where([data-theme="dark"]) .km{color:#ecba83;background:#41331b}
html:where([data-theme="dark"]) .ts-warn{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .ts-flags button.on{background:var(--blue-fill)}
html:where([data-theme="dark"]) .ts-err{background:#411d1b}
html:where([data-theme="dark"]) .ts-late{background:#41341b}
html:where([data-theme="dark"]) .pc-note{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .pc-stk{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .pc-sup{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .pill-rec{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .py-note{background:#1f2836}
html:where([data-theme="dark"]) .py-day td{background:#1f2836}
html:where([data-theme="dark"]) .pr .g0{background:#41311b}
html:where([data-theme="dark"]) .pr .g1{background:#1b3241}
html:where([data-theme="dark"]) .pr .g2{background:#1b1e41}
html:where([data-theme="dark"]) .pr .g3{background:#41411b}
html:where([data-theme="dark"]) .pr .flag{background:#41341b;color:#edc482}
html[data-theme="dark"]{--hol-soft:#413b1b;--hol-ink:#edd382}
html:where([data-theme="dark"]) .pl-h .tag{background:var(--blue-fill)}
html:where([data-theme="dark"]) .pl-cell.today{border-color:#2d5176}
html:where([data-theme="dark"]) .job{background:#171e2a}
html:where([data-theme="dark"]) .job:hover{border-color:#2d5076}
html:where([data-theme="dark"]) .job .ty{background:#1f2836}
html:where([data-theme="dark"]) .job.hol .ty{background:#41391b}
html:where([data-theme="dark"]) .job.over .od{background:var(--red-fill)}
html:where([data-theme="dark"]) .pl-stat{background:#1f2836}
html:where([data-theme="dark"]) .pl-daybar .lbl em{background:var(--blue-fill)}
html:where([data-theme="dark"]) .pl-cell.free{border-color:#337050;background:#1b4129}
html:where([data-theme="dark"]) .pl-cell.free .fr{color:#8ae5b0}
html:where([data-theme="dark"]) .pl-sum .ok{color:#8ae5b0}
html:where([data-theme="dark"]) .qv-brief{background:#1f2836}
html:where([data-theme="dark"]) .qv-others button:hover{border-color:#2d5076;background:#1f2836}
html:where([data-theme="dark"]) .tabs2 button{background:#171e2a}
html:where([data-theme="dark"]) tr.grp td{background:#1f2836}
html:where([data-theme="dark"]) tr.hl td{background:#413b1b}
html:where([data-theme="dark"]) .info{background:#1f2836}
html:where([data-theme="dark"]) .qp-note{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .qp-ok{background:#1b4129;color:#90dfb0}
html:where([data-theme="dark"]) .qp-bar{background:#1f2836}
html:where([data-theme="dark"]) .qp-bar i{background:#3a4658}
html:where([data-theme="dark"]) .qp-pick li:hover{background:#1f2836}
html:where([data-theme="dark"]) .rm-yn button{background:#171e2a}
html:where([data-theme="dark"]) .sc.l{background:#1b4129;color:#8ce3af}
html:where([data-theme="dark"]) .sc.m{background:#41341b;color:#edc482}
html:where([data-theme="dark"]) .sc.h{background:#411b1b;color:#e78888}
html:where([data-theme="dark"]) .rm-warn{background:#411b1b;color:#e78888}
html:where([data-theme="dark"]) .rm-ok{background:#1b4129;color:#8ce3af}
html:where([data-theme="dark"]) .t-stat.good .t-stat__n{color:#90dfb6}
html:where([data-theme="dark"]) .rc-wk{background:#1f2836}
html:where([data-theme="dark"]) .q .ot{color:#edc882}
html:where([data-theme="dark"]) .nochg{background:#1f2836}
html:where([data-theme="dark"]) .okmark{color:#90dfb6}
html:where([data-theme="dark"]) .day{background:#171e2a}
html:where([data-theme="dark"]) .dtop .v.warn{color:#edc882}
html:where([data-theme="dark"][data-pg="reconcile"]) .gap.ok{color:#90dfb6}
html:where([data-theme="dark"][data-pg="stores"]) .gap.ok{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .gap.warn{color:#edc882}
html:where([data-theme="dark"]) .why{background:#1f2836}
html:where([data-theme="dark"]) .why.err{background:#411d1b}
html:where([data-theme="dark"]) .tk.sum{background:#1f2836}
html:where([data-theme="dark"]) .rt-note{background:#1f2836}
html:where([data-theme="dark"]) .rt-note.warn{background:#41361b;color:#e9cf87}
html:where([data-theme="dark"]) .rt-sum .t-stat.is-warn .t-stat__n{color:#edc882}
html:where([data-theme="dark"]) .rt-chips a{background:#171e2a;border:1px solid #765e2d;color:#e9cf87}
html:where([data-theme="dark"]) .sk-note{background:#1f2836}
html:where([data-theme="dark"]) .sk-warn{background:#41311b;color:#edc482}
html:where([data-theme="dark"]) table.sk th{background:#171e2a}
html:where([data-theme="dark"]) table.sk td.nm,html:where([data-theme="dark"]) table.sk th.nm{background:#171e2a}
html:where([data-theme="dark"]) table.sk td.core{background:#1b2a41}
html:where([data-theme="dark"]) .lv.trained{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .lv.competent{background:#1b2c41;color:#88b1e7}
html:where([data-theme="dark"]) .lv.expert{background:#1b412a;color:#90dfb6}
html:where([data-theme="dark"]) table.sk select{background:#171e2a}
html:where([data-theme="dark"]) .tg.g,html:where([data-theme="dark"]) .tg.m{background:#1b4129;color:#8ce3af}
html:where([data-theme="dark"]) .tg.r,html:where([data-theme="dark"]) .tg.x{background:#411b1b;color:#ed8a82}
html:where([data-theme="dark"]) .pp-av{background:#1d2c3e}
html:where([data-theme="dark"]) .grp td{background:#1f2836}
html:where([data-theme="dark"]) .chip{background:#411d1b}
html:where([data-theme="dark"]) .chip.g{background:#1f2836}
html:where([data-theme="dark"]) .gap{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .kpi.low b{color:#edbf82}
html:where([data-theme="dark"]) .tx .in{color:#90dfb6}
html:where([data-theme="dark"]) .book{background:#1f2836}
html:where([data-theme="dark"]) .ph .slot{background:#1f2836}
html:where([data-theme="dark"]) .ph .slot.has{background:#171e2a}
html:where([data-theme="dark"]) .ph .acts{background:rgba(23,30,42,.9)}
html:where([data-theme="dark"]) .bar i{background:var(--blue-fill)}
html:where([data-theme="dark"]) .switch .step{background:#171e2a}
html:where([data-theme="dark"]) .switch .open{background:#171e2a}
html:where([data-theme="dark"]) .switch .list{background:#171e2a}
html:where([data-theme="dark"]) .t-panel.sus{background:#2f411b;border-color:#51742f}
html:where([data-theme="dark"]) .sus .t-panel__head h2{color:#aae38d}
html:where([data-theme="dark"]) .sus .k{color:#b5c8a7}
html:where([data-theme="dark"]) .check i{background:var(--blue-fill)}
html:where([data-theme="dark"]) .check.off i{background:#263040}
html:where([data-theme="dark"]) .up-msg{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .up-msg.bad{background:#411d1b}
html:where([data-theme="dark"]) iframe.fsr{background:#171e2a}
html:where([data-theme="dark"]) .et-warn{background:#41341b;color:#edca82}
html:where([data-theme="dark"]) .et-err{color:#e79188}
html:where([data-theme="dark"]) .cs{background:#1f2836}
html:where([data-theme="dark"]) .today td{background:#171e2a}
html:where([data-theme="dark"]) .t-pill--wait{background:#41331b;color:#edc882}
html:where([data-theme="dark"]) .t-stat.ot .t-stat__n{color:#edbf82}
html:where([data-theme="dark"]) .ts-chips span.zero{background:#1f2836}
html:where([data-theme="dark"]) tr.ap td{background:#1f2836}
html:where([data-theme="dark"]) .flag{background:#1f2836}
html:where([data-theme="dark"]) .flag.appt{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .lateb{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .appr{color:#90dfb6}
html:where([data-theme="dark"]) .ts-otv{color:#edbf82}
html:where([data-theme="dark"]) .calc li.off span{color:#edbf82}
html:where([data-theme="dark"]) .hb{background:#1f2836}
html:where([data-theme="dark"]) .ub{background:#1f2836}
html:where([data-theme="dark"]) .over{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .z-why{background:#411d1b}
html:where([data-theme="dark"]) .ut-err{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .ut-err code{background:#171e2a}
html:where([data-theme="dark"]) .wt-ends.soon{color:#edbf82}
html:where([data-theme="dark"]) .pill-out{background:#41341b;color:#edc882}
html:where([data-theme="dark"]) .pill-bad{background:#411d1b}
html:where([data-theme="dark"]) .pill-draft{background:#1f2836}
html:where([data-theme="dark"]) .wt-note{background:#1f2836}
html:where([data-theme="dark"]) .wt-err{background:#411d1b}
html:where([data-theme="dark"]) .xd-sec{background:#1f2836}
html:where([data-theme="dark"]) .xd-err{background:#411d1b}
html:where([data-theme="dark"]) .xd-ok{background:#1d3e28;color:#90dfb6}
html:where([data-theme="dark"]) .setup code{background:#1f2836}
html:where([data-theme="dark"]) .warn-t{color:#edbf82}
html:where([data-theme="dark"]) tr.finder td{background:#1f2836}
html:where([data-theme="dark"]) .fres button{background:#171e2a}
html:where([data-theme="dark"]) .fres .taken{color:#edbf82}
html:where([data-theme="dark"]) .pros{background:#41361b;color:#e9cf87}
html:where([data-theme="dark"]) .logf{background:#1f2836}
html:where([data-theme="dark"]) .soon{background:#1f2836}
html:where([data-theme="dark"]) .cmp .h{background:#1f2836}
html:where([data-theme="dark"]) .cmp .diff{background:#41361b}
html:where([data-theme="dark"]) .chpick button{background:#171e2a}
html:where([data-theme="dark"]) .saved.ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"]) .saved.warn{background:#41361b;color:#e9cf87}
html:where([data-theme="dark"]) .fstat .tick{color:#8fe0ad}
html:where([data-theme="dark"]) .th{background:#1f2836}
html:where([data-theme="dark"]) .p-available{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"]) .p-reserved{background:#41351b;color:#edc882}
html:where([data-theme="dark"]) .p-sold{background:#1b2b41;color:#829eed}
html:where([data-theme="dark"]) .p-withdrawn{background:#1f2836;color:#afb5c1}
html:where([data-theme="dark"]) .p-live{background:#1b412b;color:#83ecaf;border:1px solid #327249}
html:where([data-theme="dark"]) .spec{background:#1f2836}
html:where([data-theme="dark"]) .plist{background:#171e2a}
html:where([data-theme="dark"]) .gal figure{background:#1f2836}
html:where([data-theme="dark"]) .gal .gx{background:#171e2a}
html:where([data-theme="dark"]) .gal .badge{background:var(--blue-fill)}
html:where([data-theme="dark"]) .fxp .hd small{color:var(--ink-3,#aeb5c1)}
html:where([data-theme="dark"]) .fxp .tag{background:#1f2836;color:#adb5c2}
html:where([data-theme="dark"]) .fxp .tag.pin{background:#1b2a41;color:#829eed}
html:where([data-theme="dark"]) .fxp .cause{color:var(--ink,#e6eaf0)}
html:where([data-theme="dark"]) .fxp .note{background:#41351b;border:1px solid #76612d}
html:where([data-theme="dark"]) .fxp .meta{color:var(--ink-3,#aeb5c1)}
html:where([data-theme="dark"]) .fxp .acts a,html:where([data-theme="dark"]) .fxp .acts button{color:var(--blue,#82b3ed)}
html:where([data-theme="dark"]) .fxp .sec{color:var(--ink-2,#afb5c1)}
html:where([data-theme="dark"]) .dp-row{background:#171e2a}
html:where([data-theme="dark"]) .sp-soon{background:#1f2836}
html:where([data-theme="dark"]) .sp-cmp .h{background:#1f2836}
html:where([data-theme="dark"]) .sp-cmp .diff{background:#41361b}
html:where([data-theme="dark"]) .sp-pick button{background:#171e2a}
html:where([data-theme="dark"]) .sp-saved.ok{background:#1c4026;color:#8fe0ad}
html:where([data-theme="dark"]) .sp-saved.warn{background:#41361b;color:#e9cf87}
@media print{
html:where([data-theme="dark"]) body{background:#171e2a}
}
/* inline style colours */
html[data-theme="dark"] [style^="color:#14532d"],html[data-theme="dark"] [style*=";color:#14532d"],html[data-theme="dark"] [style*=" color:#14532d"]{color:#8ce3af!important}
html[data-theme="dark"] [style^="color:#1b2333"],html[data-theme="dark"] [style*=";color:#1b2333"],html[data-theme="dark"] [style*=" color:#1b2333"]{color:#e6eaf0!important}
html[data-theme="dark"] [style^="color:#1e6b3a"],html[data-theme="dark"] [style*=";color:#1e6b3a"],html[data-theme="dark"] [style*=" color:#1e6b3a"]{color:#8fe0ad!important}
html[data-theme="dark"] [style^="color:#1e6b45"],html[data-theme="dark"] [style*=";color:#1e6b45"],html[data-theme="dark"] [style*=" color:#1e6b45"]{color:#8fe0b8!important}
html[data-theme="dark"] [style^="color:#1f6b3d"],html[data-theme="dark"] [style*=";color:#1f6b3d"],html[data-theme="dark"] [style*=" color:#1f6b3d"]{color:#90dfaf!important}
html[data-theme="dark"] [style^="color:#1f6b43"],html[data-theme="dark"] [style*=";color:#1f6b43"],html[data-theme="dark"] [style*=" color:#1f6b43"]{color:#90dfb6!important}
html[data-theme="dark"] [style^="color:#7a4b00"],html[data-theme="dark"] [style*=";color:#7a4b00"],html[data-theme="dark"] [style*=" color:#7a4b00"]{color:#edc482!important}
html[data-theme="dark"] [style^="color:#8a5a00"],html[data-theme="dark"] [style*=";color:#8a5a00"],html[data-theme="dark"] [style*=" color:#8a5a00"]{color:#edc882!important}
html[data-theme="dark"] [style^="color:#a12a2a"],html[data-theme="dark"] [style*=";color:#a12a2a"],html[data-theme="dark"] [style*=" color:#a12a2a"]{color:#e18e8e!important}
html[data-theme="dark"] [style^="color:#a32424"],html[data-theme="dark"] [style*=";color:#a32424"],html[data-theme="dark"] [style*=" color:#a32424"]{color:#e58a8a!important}
html[data-theme="dark"] [style^="color:#a8650b"],html[data-theme="dark"] [style*=";color:#a8650b"],html[data-theme="dark"] [style*=" color:#a8650b"]{color:#edbf82!important}
html[data-theme="dark"] [style*="background:#fff"]{background:#171e2a!important}
html[data-theme="dark"] [style*="background:#cfe0f5"]{background:#1b2c41!important}
html[data-theme="dark"] [style*="background:#e6f4ea"]{background:#1c4026!important}
html[data-theme="dark"] [style*="background:#e8f1fb"]{background:#1b2d41!important}
html[data-theme="dark"] [style*="background:#e9f6ee"]{background:#1b4129!important}
html[data-theme="dark"] [style*="background:#eaf6ef"]{background:#1c402b!important}
html[data-theme="dark"] [style*="background:#eaf7ef"]{background:#1b4129!important}
html[data-theme="dark"] [style*="background:#f1f3f6"]{background:#1f2836!important}
html[data-theme="dark"] [style*="background:#f4f6f9"]{background:#1f2836!important}
html[data-theme="dark"] [style*="background:#f6f8fb"]{background:#1f2836!important}
html[data-theme="dark"] [style*="background:#fdecec"]{background:#411b1b!important}
html[data-theme="dark"] [style*="background:#fdeeee"]{background:#411b1b!important}
html[data-theme="dark"] [style*="background:#fff1d6"]{background:#41341b!important}
html[data-theme="dark"] [style*="background:#fff4dc"]{background:#41351b!important}
html[data-theme="dark"] [style*="background:#fff6e5"]{background:#41341b!important}
html[data-theme="dark"] [style*="background:#fff8e6"]{background:#41361b!important}
html[data-theme="dark"] [style*="border-color:#bfe3cc"]{border-color:#327249!important}
html[data-theme="dark"] [style*="border:1px solid #b9e0c7"]{border:1px solid #327149!important}
html[data-theme="dark"] [style*="border:1px solid #f1dfb0"]{border:1px solid #76622d!important}
html[data-theme="dark"] [style*="background: rgb(234, 247, 239)"]{background:#1b4129!important}
html[data-theme="dark"] [style*="background: rgb(253, 236, 234)"]{background:#411f1b!important}
}
/* ===== DARK MODE: GENERATED END ===== */
