/* ==========================================================================
   River's Edge staff portal — the Day / Night control, and the corrections
   the generator cannot make.

   portal-dark.css is generated from the portal's own colours and gets
   overwritten. This file is hand-written and loads after it, so anything the
   machine gets wrong is fixed here rather than in there.
   ========================================================================== */

/* --------------------------------------------------------- the two buttons
   Lives in the green top bar on a desktop and at the foot of the drawer on a
   phone, so it is styled for the dark chrome and looks the same in both modes.
   Gold marks the one you are in. */
.re-daynight {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border: 1px solid rgba(216, 193, 147, .3);
  border-radius: 999px;
  flex: 0 0 auto;
}
.re-dn-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  margin: 0;
  padding: 5px 12px;
  border: 0;
  border-radius: 999px;
  background: none;
  font-family: inherit;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1;
  color: #9fb0a3;
  transition: background .18s ease, color .18s ease;
  -webkit-tap-highlight-color: transparent;
}
.re-dn-btn svg { width: 13px; height: 13px; display: block; flex: 0 0 13px; }
.re-dn-btn:hover { color: #d8c193; }
.re-dn-btn[aria-pressed="true"] { background: #d8c193; color: #23372f; }
.re-dn-btn:focus-visible { outline: 2px solid #d8c193; outline-offset: 2px; }

/* Below 900px the top bar keeps only the menu and the brand — identity, role
   switch and sign-out are all in the drawer, and so is this. */
@media (max-width: 900px) {
  .sp-top .re-daynight { display: none; }
}

/* In the drawer it is a full-width row, matching the View-as strip above it. */
.sp-drawer-foot .re-daynight {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  margin: 3px 0 14px;
}
.sp-drawer-foot .re-dn-btn { flex: 1 1 0; justify-content: center; padding: 9px 3px; }

/* No control on the sign-in screen — there is nothing to configure before you
   are in — but it still follows whatever the device is set to. */

/* ------------------------------------------------------------- corrections */

html[data-re-theme="dark"] ::placeholder { color: #6f6a5d; opacity: 1; }
html[data-re-theme="dark"] ::selection { background: #3f6a5c; color: #fffefb; }

/* Photographs — staff headshots, the photo slots, product shots — are lit for a
   cream page. Taking a little off stops them glowing out of a black one. */
html[data-re-theme="dark"] img { filter: brightness(.88) contrast(1.02); }

/* Form controls the portal never gave an explicit colour to. Deliberately low
   specificity so every generated rule still wins over it. */
html[data-re-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
html[data-re-theme="dark"] select,
html[data-re-theme="dark"] textarea {
  background: #18211d !important;
  color: #e4e0d6 !important;
  border-color: #2e3b35 !important;
}

/* A native <option> list is drawn by the OS. color-scheme:dark handles it on
   Windows and macOS; this covers the browsers that still read the element. */
html[data-re-theme="dark"] option { background: #18211d; color: #e4e0d6; }

html[data-re-theme="dark"] hr { border-color: #2e3b35; }

/* The Boulevard booking frame is somebody else's page and stays light. Give it
   a rule and a slightly recessed ground so it reads as an embedded window
   rather than as a panel that failed to restyle. */
html[data-re-theme="dark"] .sp-frame {
  border-color: #2e3b35 !important;
  background: #0d1210 !important;
}

/* The drawer and the top bar were already dark. Left alone they end up the same
   value as the page behind them and the layout loses its edges, so they keep a
   little separation of their own. */
html[data-re-theme="dark"] .sp-top { border-bottom: 1px solid #2a3f38; }
html[data-re-theme="dark"] .sp-nav a.on { border-left-color: #d8c193 !important; }

/* Print stays on paper's terms whatever the screen is doing. */
@media print {
  html[data-re-theme="dark"] body { background: #fff !important; color: #000 !important; }
  html[data-re-theme="dark"] img { filter: none; }
}
/* ---------------------------------------------------------------------------
   Marketing design library (inc/marketing.php), added 2026-08-21.

   Hand-written rather than generated. The repo-root Build-PortalDarkCss.ps1 is
   an older build than the one riversedge-day-night describes — no -Mode switch
   and it never reads assets/css/theme.css — so re-running it here rewrites the
   whole generated sheet from a smaller source set and drops rules that are
   currently live. These few rules belong in the -extra sheet, which is the
   documented home for hand corrections and loads after the generated file.

   The gallery is mostly cream cards on cream, so almost all of it needs a
   counterpart. Previews themselves are left completely alone: a design is
   artwork, and dimming or inverting it would misrepresent what was printed.
   --------------------------------------------------------------------------- */

html[data-re-theme="dark"] .mkt-card {
  background: #1c2622 !important;
  border-color: #2e3b35 !important;
}
/* A slightly darker well than the card, so a letterboxed poster still reads as
   sitting *in* something rather than floating. */
html[data-re-theme="dark"] .mkt-shot {
  background: #141b18 !important;
  border-bottom-color: #2e3b35 !important;
}
html[data-re-theme="dark"] .mkt-shot .none { color: #6f7973 !important; }

html[data-re-theme="dark"] .mkt-name  { color: #e8e4da !important; }
html[data-re-theme="dark"] .mkt-meta  { color: #9aa39c !important; }
html[data-re-theme="dark"] .mkt-note  { border-top-color: #2e3b35 !important; }
html[data-re-theme="dark"] .mkt-set   { color: #d8c193 !important; }

html[data-re-theme="dark"] .mkt-pill {
  border-color: #2e3b35 !important;
  color: #9aa39c !important;
}
html[data-re-theme="dark"] .mkt-pill.draft  { background: #222c27 !important; }
html[data-re-theme="dark"] .mkt-pill.review { border-color: #6f5e2a !important; color: #ddd0a6 !important; }
html[data-re-theme="dark"] .mkt-pill.arch   { color: #6f7973 !important; }
/* Live keeps its filled evergreen — it is the one state that should still shout
   on a dark page — but lifted enough to separate from the card behind it. */
html[data-re-theme="dark"] .mkt-pill.live {
  background: #34594f !important;
  border-color: #34594f !important;
  color: #f2efe6 !important;
}

html[data-re-theme="dark"] .mkt-actions a,
html[data-re-theme="dark"] .mkt-actions button {
  border-color: #2e3b35 !important;
  color: #cfd5cd !important;
  background: transparent !important;
}
html[data-re-theme="dark"] .mkt-actions a:hover,
html[data-re-theme="dark"] .mkt-actions button:hover {
  border-color: #a8894f !important;
  color: #d8c193 !important;
}
/* The three filled buttons in that row. They have to be restated here because
   the rule above paints every .mkt-actions child transparent with !important,
   so without these the purple and the greens vanish at night. */
html[data-re-theme="dark"] .mkt-actions a.mkt-canva {
  background: #241a35 !important;
  border-color: #432f63 !important;
  color: #c3a3f0 !important;
}
html[data-re-theme="dark"] .mkt-actions a.mkt-canva:hover {
  background: #7d3ae8 !important;
  border-color: #7d3ae8 !important;
  color: #f7f2ff !important;
}
html[data-re-theme="dark"] .mkt-actions button.mkt-submit {
  background: #2f5a4e !important;
  border-color: #2f5a4e !important;
  color: #eef3f0 !important;
}
html[data-re-theme="dark"] .mkt-actions button.mkt-submit:hover {
  background: #4d8a76 !important;
  border-color: #4d8a76 !important;
  color: #0f1613 !important;
}
html[data-re-theme="dark"] .mkt-actions button.mkt-approve {
  background: #16241f !important;
  border-color: #4d8a76 !important;
  color: #86b3a1 !important;
}
html[data-re-theme="dark"] .mkt-actions button.mkt-approve:hover {
  background: #4d8a76 !important;
  border-color: #4d8a76 !important;
  color: #0f1613 !important;
}

html[data-re-theme="dark"] .mkt-empty,
html[data-re-theme="dark"] .mkt-panel {
  background: #1c2622 !important;
  border-color: #2e3b35 !important;
}
html[data-re-theme="dark"] .mkt-empty p   { color: #9aa39c !important; }
html[data-re-theme="dark"] .mkt-panel h3  { color: #e8e4da !important; }
html[data-re-theme="dark"] .mkt-panel .lede { color: #9aa39c !important; }
html[data-re-theme="dark"] .mkt-form label { color: #9aa39c !important; }
html[data-re-theme="dark"] .mkt-form input,
html[data-re-theme="dark"] .mkt-form select,
html[data-re-theme="dark"] .mkt-form textarea {
  background: #18211d !important;
  border-color: #2e3b35 !important;
  color: #e4e0d6 !important;
}
html[data-re-theme="dark"] .mkt-form input:focus,
html[data-re-theme="dark"] .mkt-form select:focus,
html[data-re-theme="dark"] .mkt-form textarea:focus { border-color: #a8894f !important; }
html[data-re-theme="dark"] .mkt-msg      { color: #9aa39c !important; }
html[data-re-theme="dark"] .mkt-msg.good { color: #8fbfae !important; }
html[data-re-theme="dark"] .mkt-msg.bad  { color: #d9a58c !important; }

/* ------------------------------------------- Add / Edit Product form (night)
   The redesigned form (2026-08-23) introduces surfaces the generator has no
   light-mode colour table entry for: the section hairline, the recessed
   Packaging inset and the "Sold as" readout. Hand-stated here.

   The select chevron needs LONGHAND properties: portal-dark.css sets
   `background: … !important` (shorthand) on .re-in, which resets
   background-repeat to `repeat` and tiles the arrow across the control.
   Verified by rendering, not by reading — it tiled the first time. */
html[data-re-theme="dark"] .re-inv-scope .re-fsec + .re-fsec { border-top-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-inv-scope .re-fsec-rule { background: linear-gradient(to right,#3a4a42,transparent) !important; }
html[data-re-theme="dark"] .re-inv-scope .re-pack { background: #141b18 !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-inv-scope .re-pack-preview { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-inv-scope .re-pack-preview b { color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-inv-scope select.re-in {
  background-color: #18211d !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='7'%20viewBox='0%200%2010%207'%3E%3Cpath%20d='M1%201l4%204%204-4'%20fill='none'%20stroke='%239a9384'%20stroke-width='1.4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}

/* --------------------------------------------------------- Orders tab (night)
   The Orders tab is written entirely in classes rather than inline styles, so
   unlike most of the portal it does not need the generator's style-string
   matching — these rules reach it directly and will keep reaching it however
   the light palette is re-tuned. Colours follow the generator's own night
   palette: #18211d surface, #2e3b35 hairline, #e4e0d6 text, #9a9384 muted. */
/* Rebuilt as a table of collapsible rows 2026-08-24. The left border became a
   full-height rail element, the header line became a grid, and the detail area
   gained a Money panel — so the classes below replace the earlier set rather
   than adding to it. The stale .re-ord-how / .re-ord-when / .re-ord-sku rules
   further down now match nothing; harmless, and kept only so the diff of this
   file stays readable against the light styles it mirrors. */
html[data-re-theme="dark"] .re-orders                    { background: #18211d !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-orders .re-ord            { border-bottom-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-head       { border-bottom-color: #2e3b35 !important; color: #7d7768 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-rail       { background: #a8894f !important; }
html[data-re-theme="dark"] .re-orders .is-rx       .re-ord-rail { background: #d9a58c !important; }
html[data-re-theme="dark"] .re-orders .is-done     .re-ord-rail { background: #3a4a42 !important; }
html[data-re-theme="dark"] .re-orders .is-refunded .re-ord-rail { background: #6f7a74 !important; }
html[data-re-theme="dark"] .re-orders .re-ord > summary:hover   { background: #1e2a24 !important; }
/* The open row's tint has to be LIGHTER than the surface in night mode, not
   darker — the light palette lifts it and inverting that would sink an open row
   into the page instead of raising it. */
html[data-re-theme="dark"] .re-orders .re-ord[open] > summary,
html[data-re-theme="dark"] .re-orders .re-ord[open] .re-ord-body { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-orders .re-ord[open] > summary    { border-bottom-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-date,
html[data-re-theme="dark"] .re-orders .re-ord-gist,
html[data-re-theme="dark"] .re-orders .re-ord-sub,
html[data-re-theme="dark"] .re-orders .re-ord-was        { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-money      { color: #cfe3da !important; }
html[data-re-theme="dark"] .re-orders .re-ord-money.gone { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-chev       { border-color: #7d7768 !important; }
html[data-re-theme="dark"] .re-orders .re-ord[open] .re-ord-chev { border-color: #cfe3da !important; }
html[data-re-theme="dark"] .re-orders .re-ord-flag       { background: #7a3f36 !important; color: #f3e2dc !important; }
html[data-re-theme="dark"] .re-orders .re-ord-panels,
html[data-re-theme="dark"] .re-orders .re-ord-foot,
html[data-re-theme="dark"] .re-orders .re-ord-mrow.tot   { border-top-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-mrow       { color: #b9b3a4 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-mrow.tot   { color: #e4e0d6 !important; }
html[data-re-theme="dark"] .re-orders .re-restock        { border-top-color: rgba(217,165,140,.26) !important; }
html[data-re-theme="dark"] .re-orders .re-restock-q,
html[data-re-theme="dark"] .re-orders .re-restock-done   { color: #b9b3a4 !important; }
html[data-re-theme="dark"] .re-orders .re-restock-msg    { color: #d9a58c !important; }
html[data-re-theme="dark"] .re-orders .re-ord-num        { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-pill       { border-color: #a8894f !important; color: #c9a86a !important; }
html[data-re-theme="dark"] .re-orders .is-rx   .re-ord-pill { border-color: #d9a58c !important; color: #d9a58c !important; }
html[data-re-theme="dark"] .re-orders .is-done .re-ord-pill { border-color: #3a4a42 !important; color: #8a8375 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-how,
html[data-re-theme="dark"] .re-orders .re-ord-when       { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-when strong { color: #e4e0d6 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-lbl,
html[data-re-theme="dark"] .re-orders .re-ord-qty,
html[data-re-theme="dark"] .re-orders .re-ord-by         { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-sku        { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-line,
html[data-re-theme="dark"] .re-orders .re-ord-who        { color: #e4e0d6 !important; }
html[data-re-theme="dark"] .re-orders .re-ord-track      { color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-orders .re-order-actions  { border-top-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-orders .re-order-msg      { color: #d9a58c !important; }
html[data-re-theme="dark"] .re-orders .re-track {
  background: #18211d !important;
  border-color: #2e3b35 !important;
  color: #e4e0d6 !important;
}
html[data-re-theme="dark"] .re-orders .re-track::placeholder { color: #7d7768 !important; }
html[data-re-theme="dark"] .re-orders .re-track:focus        { border-color: #a8894f !important; }

/* --------------------------------------- the lookup panel's segmented control
   Restyled 2026-08-23. The generator has no light-mode entry for these, so the
   night colours are stated here. The icons inside are inline SVG using
   currentColor, so they follow the button's own colour and need nothing. */
html[data-re-theme="dark"] .re-inv-scope .re-scanbar { border-color: #2e3b35 !important; border-top-color: #cba86a !important; }
html[data-re-theme="dark"] .re-inv-scope .re-modes { border-color: #2e3b35 !important; background: #18211d !important; }
html[data-re-theme="dark"] .re-inv-scope .re-mode { color: #9a9384 !important; border-right-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-inv-scope .re-mode:hover { background: #1e2a24 !important; color: #cfe3da !important; }
html[data-re-theme="dark"] .re-inv-scope .re-mode[aria-pressed="true"] { background: #2f5a4e !important; color: #eef3f0 !important; }
html[data-re-theme="dark"] .re-inv-scope .re-find-wrap > svg { color: #6f7a74 !important; }

html[data-re-theme="dark"] .re-preq-scope .re-find { background: #18211d !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-find-hit { color: #d8d3c6 !important; border-bottom-color: #24302a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-find-hit:hover,
html[data-re-theme="dark"] .re-preq-scope .re-find-hit:focus { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-find-thumb { background: #141b18 !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-find-sub { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-suggest { box-shadow: 0 8px 22px rgba(0,0,0,.45) !important; }

/* The segmented urgency control and the received-quantity box. */
html[data-re-theme="dark"] .re-preq-urg { border-color: #2e3b35 !important; background: #18211d !important; }
html[data-re-theme="dark"] .re-preq-urg button { color: #9a9384 !important; border-right-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-urg button:hover { background: #1e2a24 !important; color: #cfe3da !important; }
html[data-re-theme="dark"] .re-preq-urg button[aria-pressed="true"] { background: #2f5a4e !important; color: #eef3f0 !important; }
html[data-re-theme="dark"] .re-preq-urg button[aria-pressed="true"][data-urg="Out now"] { background: #7d4034 !important; }
html[data-re-theme="dark"] .re-preq-scanbar { border-color: #2e3b35 !important; border-top-color: #cba86a !important; }

/* ===================== Product Requests — the Lifecycle Rail, at night
   The rebuild routes EVERY lifecycle colour through five custom properties
   set by one .is-* class, so night is mostly a matter of restating those
   five per state rather than chasing thirty individual declarations. The
   surfaces below are the handful of chrome colours that are not tokens.
   The earlier --chip rules in this file are superseded and now set a
   variable nothing reads; harmless, left rather than risk an edit mid-file. */
html[data-re-theme="dark"] .re-preq-scope { --st:#6f7a74; --st-ink:#9a9384; --st-bg:#1b2420; --st-on:#eef3f0; --st-trough:#2a332e; }
html[data-re-theme="dark"] .re-preq-scope .is-draft     { --st:#cba86a; --st-ink:#cba86a; --st-bg:#241d12; --st-on:#17140d; }
html[data-re-theme="dark"] .re-preq-scope .is-requested { --st:#6f7a74; --st-ink:#9a9384; --st-bg:#1b2420; --st-on:#eef3f0; }
html[data-re-theme="dark"] .re-preq-scope .is-purchased { --st:#cba86a; --st-ink:#cba86a; --st-bg:#241d12; --st-on:#17140d; }
html[data-re-theme="dark"] .re-preq-scope .is-partial   { --st:#b5674f; --st-ink:#d08a70; --st-bg:#2a1a15; --st-on:#17110e; }
html[data-re-theme="dark"] .re-preq-scope .is-urgent    { --st:#b5674f; --st-ink:#d08a70; --st-bg:#2a1a15; --st-on:#17110e; }
html[data-re-theme="dark"] .re-preq-scope .is-received  { --st:#4d8a76; --st-ink:#86b3a1; --st-bg:#16241f; --st-on:#0f1613; }
html[data-re-theme="dark"] .re-preq-scope .is-cancelled { --st:#4a4a44; --st-ink:#8c8578; --st-bg:#1a1a17; --st-on:#e4e0d6; }

/* ========== Product Requests - stock severity, the second axis (2026-08-23)
   --sv paints the line rail, the on-hand figure and the section headers; --st
   still carries lifecycle. Same seven states as the day block in
   inc/requisitions.php, same order. Any new .sv-* state must be added in BOTH
   files. No !important on the custom properties: the selector already wins at
   0,3,1 and !important there would block any future override.
   Do NOT re-run Build-PortalDarkCss.ps1 to produce these - the generator
   cannot see custom properties or var() values and would emit nothing. */
html[data-re-theme="dark"] .re-preq-scope { --sv:#2e3b35; --sv-ink:#9a9384; --sv-bg:transparent; }
html[data-re-theme="dark"] .re-preq-scope .sv-out     { --sv:#b5674f; --sv-ink:#d08a70; --sv-bg:#2a1a15; }
html[data-re-theme="dark"] .re-preq-scope .sv-unknown { --sv:#7d97a6; --sv-ink:#9db4c0; --sv-bg:#161e22; }
html[data-re-theme="dark"] .re-preq-scope .sv-reorder { --sv:#cba86a; --sv-ink:#cba86a; --sv-bg:#241d12; }
html[data-re-theme="dark"] .re-preq-scope .sv-low     { --sv:#cba86a; --sv-ink:#cba86a; --sv-bg:#131b17; }
html[data-re-theme="dark"] .re-preq-scope .sv-ok      { --sv:#4d8a76; --sv-ink:#86b3a1; --sv-bg:#16241f; }
html[data-re-theme="dark"] .re-preq-scope .sv-onorder { --sv:#b0925a; --sv-ink:#cba86a; --sv-bg:#241d12; }
html[data-re-theme="dark"] .re-preq-scope .sv-settled { --sv:#4a4a44; --sv-ink:#8c8578; --sv-bg:#1a1a17; }
/* The day value moved off the caption grey, so this moves with it. */
html[data-re-theme="dark"] .re-preq-scope .is-requested { --st:#7d8c84; --st-ink:#a9b5ad; --st-bg:#1a211e; --st-on:#eef3f0; }

/* Sections. Everything else on them is a --sv token and needs nothing here. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-grp { border-bottom-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-ghead { border-bottom-color: #24302a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-ghead:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gnone { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbody > .re-preq-line { border-top-color: #222b26 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-ghost { color: #9a9384 !important; border-bottom-color: #3a453f !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-ghost:hover { color: #86b3a1 !important; border-bottom-color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-cardnote { background: #18211d !important;
  border-bottom-color: #2e3b35 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-flag { color: #d08a70 !important;
  background: #2a1a15 !important; border-color: #7d4034 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-flag::before { background: #d08a70 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-flag.is-soft { color: #b7b1a3 !important;
  background: transparent !important; border-color: #3f4a44 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-flag.is-soft::before { background: none !important;
  box-shadow: inset 0 0 0 1.5px #6f7a74 !important; }

/* What the catalogue knows about a product, opened from its name on the line. */
html[data-re-theme="dark"] .re-preq-scope button.re-preq-line-name { color: #d8d3c6 !important;
  border-bottom-color: #3a453f !important; }
html[data-re-theme="dark"] .re-preq-scope button.re-preq-line-name:hover { color: #86b3a1 !important;
  border-bottom-color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-pd i { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-pd b { color: #e4e0d6 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-pd b em { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-pd-none { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mor { color: #9a9384 !important;
  border-color: #3a453f !important; background: #18211d !important; }
/* #2f4f47 on the #18211d typeahead panel measured 1.83:1 - invisible. */
html[data-re-theme="dark"] .re-preq-scope .re-find-price  { color: #86b3a1 !important; }
/* #8c4a3f on #18211d measured 2.49:1 - the "no barcode" warning was unreadable. */
html[data-re-theme="dark"] .re-preq-scope .re-find-nocode { color: #d08a70 !important; }
/* The rule further up this file targets .re-preq-find-wrap, a class that
   exists nowhere in the theme. The real one is .re-preq-inwrap. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-inwrap > svg { color: #6f7a74 !important; }

html[data-re-theme="dark"] .re-preq-scope { color: #d8d3c6 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-hdr { background: #18211d !important; border-color: #2e3b35 !important; border-top-color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-stage,
html[data-re-theme="dark"] .re-preq-scope button.re-preq-stage { border-right-color: #24302a !important; }
html[data-re-theme="dark"] .re-preq-scope button.re-preq-stage:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-stage > span { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-eyebrow { color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-meta,
html[data-re-theme="dark"] .re-preq-scope .re-preq-hint,
html[data-re-theme="dark"] .re-preq-scope .re-preq-empty { color: #9a9384 !important; }

html[data-re-theme="dark"] .re-preq-scope .re-preq-scanbar { background: #18211d !important; border-color: #2e3b35 !important; border-top-color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-scanrow input,
html[data-re-theme="dark"] .re-preq-scope .re-preq-field input,
html[data-re-theme="dark"] .re-preq-scope .re-preq-field select { background: #141b18 !important; border-color: #2e3b35 !important; color: #e4e0d6 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-scanrow input:focus { background: #18211d !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-field label { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-field select { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='7'%20viewBox='0%200%2010%207'%3E%3Cpath%20d='M1%201l4%204%204-4'%20fill='none'%20stroke='%239a9384'%20stroke-width='1.4'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 12px center !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-qtybar { background: #18211d !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-qtybar input { background: #18211d !important; border-left-color: #2e3b35 !important; border-right-color: #2e3b35 !important; color: #e4e0d6 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-step { background: #141b18 !important; color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-step:hover { background: #1e2a24 !important; }

html[data-re-theme="dark"] .re-preq-scope .re-preq-cardhead { border-bottom-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-cardfoot { border-top-color: #24302a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-req,
html[data-re-theme="dark"] .re-preq-scope .re-preq-cart-line,
html[data-re-theme="dark"] .re-preq-scope .re-preq-req,
html[data-re-theme="dark"] .re-preq-scope .re-preq-cart-line { border-bottom-color: #24302a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-line { border-top-color: #222b26 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-line-name { color: #d8d3c6 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-line-sub { color: #9a9384 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-qty { color: #b7b1a3 !important; }

html[data-re-theme="dark"] .re-preq-scope .re-preq-mor { background: #18211d !important; border-color: #2e3b35 !important; color: #8c8578 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mor:hover { color: #86b3a1 !important; border-color: #3f6a5c !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mor[aria-expanded="true"] { background: #1e2a24 !important; color: #cfe3da !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-ok { background: #16241f !important; border-color: #2f5a4e !important; border-left-color: #4d8a76 !important; color: #cfe3da !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-ok b { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-added { color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-added a { color: #86b3a1 !important; border-bottom-color: #3f6a5c !important; }

/* ------------------------------------------------------------------ Social
   The Instagram / Facebook queue and calendar. Hand-written rather than
   generated: inc/social-ui.php was added after portal-dark.css was last built,
   so the generator has never seen it, and re-running the generator to pick up
   one tab would rewrite 3,400 lines of someone else's work for no other gain.

   Most of it comes free by re-pointing the tab's own custom properties. Only
   the colours that do DOUBLE DUTY need restating — #23372f is the masthead
   background (correct as-is at night) and also the heading text colour (invisible
   on a dark card), and a token cannot be two things at once. */
html[data-re-theme="dark"] .re-social {
  --re-so-line: #2e3b35 !important;
  --re-so-mut:  #9a9384 !important;
  --re-so-bg:   #18211d !important;
  --re-so-ink:  #e4e0d6 !important;
}
/* The double-duty green, as text. */
html[data-re-theme="dark"] .re-social .re-social__card h3,
html[data-re-theme="dark"] .re-social .re-social__title,
html[data-re-theme="dark"] .re-social .re-social__views a.on,
html[data-re-theme="dark"] .re-social .re-social__day--today .re-social__daynum { color: #cfe3da !important; }

html[data-re-theme="dark"] .re-social .re-social__card,
html[data-re-theme="dark"] .re-social .re-social__row,
html[data-re-theme="dark"] .re-social .re-social__cal,
html[data-re-theme="dark"] .re-social .re-social__day,
html[data-re-theme="dark"] .re-social .re-social__empty { background: #141b18 !important; }
html[data-re-theme="dark"] .re-social .re-social__row:hover { border-color: #3f6a5c !important; box-shadow: none !important; }
html[data-re-theme="dark"] .re-social .re-social__day--out { background: #18211d !important; }
html[data-re-theme="dark"] .re-social .re-social__dow { background: #18211d !important; color: #8c8578 !important; }

html[data-re-theme="dark"] .re-social .re-social__field input,
html[data-re-theme="dark"] .re-social .re-social__field select,
html[data-re-theme="dark"] .re-social .re-social__field textarea { background: #101714 !important; color: #e4e0d6 !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-social .re-social__field > label { color: #8c8578 !important; }
html[data-re-theme="dark"] .re-social .re-social__cap { color: #c3bfb4 !important; }
html[data-re-theme="dark"] .re-social .re-social__meta a { color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-social .re-social__btn--ghost { color: #9a9384 !important; border-color: #3a453f !important; }
html[data-re-theme="dark"] .re-social .re-social__btn--ghost:hover { color: #cfe3da !important; border-color: #cba86a !important; }

html[data-re-theme="dark"] .re-social .re-social__note { background: #1e2a24 !important; border-left-color: #cba86a !important; }
html[data-re-theme="dark"] .re-social .re-social__note--bad { background: #241816 !important; border-left-color: #a8503c !important; }
html[data-re-theme="dark"] .re-social .re-social__note--ok { background: #16241f !important; border-left-color: #4d8a76 !important; }
html[data-re-theme="dark"] .re-social .re-social__note p { color: #d8d3c7 !important; }

html[data-re-theme="dark"] .re-social .re-social__pill--draft,
html[data-re-theme="dark"] .re-social .re-social__pill--canc { background: #262f2a !important; color: #9a9384 !important; }
html[data-re-theme="dark"] .re-social .re-social__pill--needs { background: #33291a !important; color: #d8c193 !important; }
html[data-re-theme="dark"] .re-social .re-social__pill--appr { background: #1c3329 !important; color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-social .re-social__pill--pub { background: #1d2a38 !important; color: #9dbcd8 !important; }
html[data-re-theme="dark"] .re-social .re-social__pill--post { background: #cba86a !important; color: #17201c !important; }
html[data-re-theme="dark"] .re-social .re-social__pill--fail { background: #3a1f19 !important; color: #e0a191 !important; }

html[data-re-theme="dark"] .re-social .re-social__ch--ig { background: #331f2a !important; color: #d9a9bf !important; }
html[data-re-theme="dark"] .re-social .re-social__ch--fb { background: #1d2a38 !important; color: #9dbcd8 !important; }

html[data-re-theme="dark"] .re-social .re-social__err { color: #e0a191 !important; border-left-color: #a8503c !important; }
html[data-re-theme="dark"] .re-social .re-social__ev { background: #1b2420 !important; color: #cfc9bd !important; border-left-color: #4a544d !important; }
html[data-re-theme="dark"] .re-social .re-social__ev--appr { border-left-color: #4d8a76 !important; }
html[data-re-theme="dark"] .re-social .re-social__ev--post { background: #16241f !important; color: #a9cfc0 !important; border-left-color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-social .re-social__ev--fail { background: #241816 !important; color: #e0a191 !important; border-left-color: #a8503c !important; }

/* The month arrows are <a>, so `html[data-re-theme="dark"] a { color:#86b3a1 }`
   in the generated sheet claims them and they come out sage instead of brass.
   Beaten on specificity rather than by adding another !important to the pile. */
html[data-re-theme="dark"] .re-social .re-social__calhead a { color: #d8c193 !important; border-color: rgba(216,193,147,.35) !important; }
html[data-re-theme="dark"] .re-social .re-social__calhead a:hover { color: #f6f3ee !important; border-color: #cba86a !important; }

/* --------------------------------------------- the rail's categories (night)
   The desktop rail is grouped now: a <details> per category, chevron and all.
   These classes are newer than the last run of the generator, so their night
   colours are stated here by hand. Palette matched to the rail's own dark
   rules in portal-dark.css (#18211d ground, #1c2622 hover, #c3beb1 text). */
html[data-re-theme="dark"] .sp-ng { border-top-color: #26312c !important; }
html[data-re-theme="dark"] .sp-ng-h { color: #8f8878 !important; }
html[data-re-theme="dark"] .sp-ng-h:hover { background: #1c2622 !important; color: #e9e4d7 !important; }
/* The chevron draws itself from currentColor, so it follows the heading. */
html[data-re-theme="dark"] .sp-ng-b { background: #cba86a !important; color: #17201c !important; }
html[data-re-theme="dark"] .sp-nav-home { color: #e9e4d7 !important; }

/* ------------------------------------------------ Vendors tab, editing (night)
   The Vendors tab learned to edit on 2026-08-23 and these classes are newer
   than the last run of the generator, so their night colours are stated here by
   hand. Palette matched to the vendor list's own dark rules in portal-dark.css
   (#18211d fields, #2e3b35 borders, #9a9384 dim text, #cba86a brass). */
html[data-re-theme="dark"] .vp-grid textarea {
  border: 1px solid #2e3b35 !important;
  background: #18211d !important;
  color: #e4e0d6 !important;
}
html[data-re-theme="dark"] .vp-grid textarea:focus { border-color: #cba86a !important; }
html[data-re-theme="dark"] .ve-note { color: #8f8878 !important; }
html[data-re-theme="dark"] .ve-warn { color: #9a9384 !important; }
html[data-re-theme="dark"] .ve-form { border-left-color: #cba86a !important; }

/* ------------------------------- Payroll day grid, scheduled days (night)
   A contracted person's remaining shifts in a period that has not closed yet,
   added 2026-08-25 and newer than the last run of the generator. Dimmer than a
   worked day (#e9e4d7) and warmer than a day off (#6f6a5d), so the three states
   stay tellable apart on a dark page. Palette from the grid's own dark rules in
   portal-dark.css. */
/* Beats the generated `.pd-cal-row > span` background, which is one specificity
   step higher and would otherwise flatten this back to an ordinary cell. */
html[data-re-theme="dark"] .pd-cal-row > span.pd-cal-due { background: #1a231e !important; }
html[data-re-theme="dark"] .pd-cal-due b { color: #9c8a5e !important; }
html[data-re-theme="dark"] .pd-cal-due b i { color: #7f7457 !important; }

/* ------------------------- Payroll "still to come" tile line (night)
   Added 2026-08-25, newer than the last generator run. Dim body text with a
   brass figure, matching .pay-tile i (#9a9384) and the tab's brass (#cba86a). */
html[data-re-theme="dark"] .pay-tile-due { border-top-color: #2e3b35 !important; color: #9a9384 !important; }
html[data-re-theme="dark"] .pay-tile-due b { color: #cba86a !important; }

/* ------------------------------- Financial Reports, tile breakdowns (night)
   The headline tiles open into a breakdown panel (2026-08-25). These classes
   are newer than the last run of Build-PortalDarkCss.ps1, so their night
   colours are stated here by hand. `.fin-tile` itself already has a generated
   rule and the button reuses that class, so only the parts the generator has
   never seen are restated. !important throughout because the generated sheet
   sets `.fin-tile`'s border with it and would otherwise win the hover.
   Palette matched to the portal's own dark rules: #18211d ground, #2e3b35
   hairline, #e9e4d7 text, #9a9384 muted, #8a8375 fainter, #cba86a brass,
   #a9cfc0 teal. */
html[data-re-theme="dark"] .fin-tile-btn:hover { border-color: #cba86a !important; }
html[data-re-theme="dark"] .fin-tile-btn.is-open { border-color: #cba86a !important; }
html[data-re-theme="dark"] .fin-tile-btn:focus-visible { outline-color: #cba86a !important; }
html[data-re-theme="dark"] .fin-tile-more { color: #cba86a !important; }

html[data-re-theme="dark"] .fin-bd-panel {
  background: #18211d !important;
  border: 1px solid #2e3b35 !important;
  border-top: 2px solid #cba86a !important;
}
html[data-re-theme="dark"] .fin-bd-t { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-x { color: #cba86a !important; }
html[data-re-theme="dark"] .fin-bd-x:hover { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-intro { color: #9a9384 !important; }
html[data-re-theme="dark"] .fin-bd-row { border-bottom-color: #27332e !important; color: #c3beb1 !important; }
html[data-re-theme="dark"] .fin-bd-sign { color: #cba86a !important; }
html[data-re-theme="dark"] .fin-bd-n { color: #8a8375 !important; }
html[data-re-theme="dark"] .fin-bd-v { color: #a9cfc0 !important; }
html[data-re-theme="dark"] .fin-bd-sub { color: #9a9384 !important; }
html[data-re-theme="dark"] .fin-bd-sub .fin-bd-v { color: #9a9384 !important; }
html[data-re-theme="dark"] .fin-bd-total { border-top-color: #4a544d !important; color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-total .fin-bd-v { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-total .fin-bd-sign { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-aside { color: #9a9384 !important; }
html[data-re-theme="dark"] .fin-bd-aside .fin-bd-v { color: #9a9384 !important; }
html[data-re-theme="dark"] .fin-bd-foot { color: #9a9384 !important; border-top-color: #4a544d !important; }
html[data-re-theme="dark"] .fin-bd-hd { border-bottom-color: #2e3b35 !important; color: #cba86a !important; }

/* --------------------- Payroll "not listed" note (night)
   The count of zero-earning rows the list leaves out, added 2026-08-25 and
   newer than the last generator run. */
html[data-re-theme="dark"] .pay-hidden-note { color: #9a9384 !important; }
html[data-re-theme="dark"] .pay-hidden-note strong { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .pay-hidden-note a { color: #cba86a !important; border-bottom-color: #2e3b35 !important; }
html[data-re-theme="dark"] .pay-hidden-note a:hover,
html[data-re-theme="dark"] .pay-hidden-note a:focus { border-bottom-color: #cba86a !important; }

/* ------------------------ Financial Reports, breakdown drill-down (night)
   A breakdown line opens into its own transactions (2026-08-25). Newer than the
   last generator run, so stated by hand. Same palette as the .fin-bd-* rules
   above: #18211d ground, #2e3b35 hairline, #e9e4d7 text, #9a9384 muted,
   #8a8375 fainter, #cba86a brass. */
html[data-re-theme="dark"] .fin-bd-drill { border-bottom-color: #27332e !important; color: #c3beb1 !important; }
html[data-re-theme="dark"] .fin-bd-drill:hover { background: #1c2622 !important; }
html[data-re-theme="dark"] .fin-bd-drill:focus-visible { outline-color: #cba86a !important; }
html[data-re-theme="dark"] .fin-bd-drill[aria-expanded="true"] { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-caret { border-right-color: #cba86a !important; border-bottom-color: #cba86a !important; }
html[data-re-theme="dark"] .fin-bd-lines { border-left-color: #3a4a41 !important; }
html[data-re-theme="dark"] .fin-bd-line { color: #9a9384 !important; border-bottom-color: #222c27 !important; }
html[data-re-theme="dark"] .fin-bd-line-v { color: #c3beb1 !important; }
html[data-re-theme="dark"] .fin-bd-line-n { color: #8a8375 !important; }
html[data-re-theme="dark"] .fin-bd-line.is-aside { color: #8a8375 !important; }
html[data-re-theme="dark"] .fin-bd-line.is-aside .fin-bd-line-v { color: #8a8375 !important; }
html[data-re-theme="dark"] .fin-bd-lines-foot { border-top-color: #3a4a41 !important; color: #e9e4d7 !important; }
html[data-re-theme="dark"] .fin-bd-lines-msg { color: #9a9384 !important; }
html[data-re-theme="dark"] .fin-bd-lines-msg.is-err { color: #e0a191 !important; }

/* --------------------------------------- Dosing Reference, whole tab (night)
   New 2026-08-27 and never seen by the generator, so the whole tab is stated
   by hand here.

   It is cheap to state because the tab has ONE colour seam: eleven palette
   classes each set --dc-ac and --dc-bg, and every component reads those custom
   properties instead of naming a colour. Redefining the eleven pairs below
   therefore recolours every card, table head, chip and callout at once. That
   was the reason for building it that way — see the note at the top of
   inc/dosing.php about why inline accent colours (which is how the site it was
   cloned from does it) cannot be themed at all.

   Day accents are mid-tone on white; these are the lifted versions that hold up
   on #18211d, and the tints go from pale wash to dark wash. Near-identical Day
   pairs collapse here on purpose — two blues and three greens are one colour to
   the eye at this luminance. */
html[data-re-theme="dark"] .dc-p-blue   { --dc-ac:#6fa8d8 !important; --dc-bg:#1b2530 !important; }
html[data-re-theme="dark"] .dc-p-blue2  { --dc-ac:#6fa8d8 !important; --dc-bg:#1b2530 !important; }
html[data-re-theme="dark"] .dc-p-teal   { --dc-ac:#86b3a1 !important; --dc-bg:#1a2724 !important; }
html[data-re-theme="dark"] .dc-p-green  { --dc-ac:#7ab88c !important; --dc-bg:#1b2a20 !important; }
html[data-re-theme="dark"] .dc-p-green2 { --dc-ac:#7ab88c !important; --dc-bg:#1b2a20 !important; }
html[data-re-theme="dark"] .dc-p-plum   { --dc-ac:#d98fa9 !important; --dc-bg:#2a1e24 !important; }
html[data-re-theme="dark"] .dc-p-violet { --dc-ac:#b490d8 !important; --dc-bg:#251e2e !important; }
html[data-re-theme="dark"] .dc-p-indigo { --dc-ac:#98a2e0 !important; --dc-bg:#1f2130 !important; }
html[data-re-theme="dark"] .dc-p-amber  { --dc-ac:#cba86a !important; --dc-bg:#2a2419 !important; }
html[data-re-theme="dark"] .dc-p-olive  { --dc-ac:#a8c47a !important; --dc-bg:#232a1c !important; }
html[data-re-theme="dark"] .dc-p-navy   { --dc-ac:#7d9ad0 !important; --dc-bg:#1c2130 !important; }

/* Masthead is dark in both modes; only the hairline and the body copy move. */
html[data-re-theme="dark"] .dc-mast { background: #1c2622 !important; border-top-color: #a8894f !important; }
html[data-re-theme="dark"] .dc-title { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .dc-summary { color: #9a9384 !important; }
html[data-re-theme="dark"] .dc-summary strong { color: #c3beb1 !important; }

/* The two selects. */
html[data-re-theme="dark"] .dc-cg label { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-cg select { background: #18211d !important; border-color: #2e3b35 !important; color: #e4e0d6 !important; }
html[data-re-theme="dark"] .dc-cg select:disabled { background: #151d1a !important; color: #6f6a5f !important; }

/* Custom vial entry. The concentration readout is the one number on this row
   somebody acts on, so it keeps the brightest text in the block. */
html[data-re-theme="dark"] .dc-custom { background: #18211d !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .dc-cg input { background: #141c19 !important; border-color: #2e3b35 !important; color: #e4e0d6 !important; }
html[data-re-theme="dark"] .dc-cg input::placeholder { color: #6f6a5f !important; }
html[data-re-theme="dark"] .dc-conc { background: #1e2a25 !important; }
html[data-re-theme="dark"] .dc-conc-v { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .dc-conc-l { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-conc.is-wait .dc-conc-v { color: #6f6a5f !important; }

/* Accept / Remove, and the saved-size strip. The disabled Accept has to read as
   unavailable rather than merely dim, since on a dark ground a faded button and
   a live one look alike. */
html[data-re-theme="dark"] .dc-btn { background: #2a4038 !important; border-color: #35564a !important; color: #e9e4d7 !important; }
html[data-re-theme="dark"] .dc-btn:disabled { background: #1a231f !important; border-color: #27332e !important; color: #5f5a51 !important; }
html[data-re-theme="dark"] .dc-btn-quiet { background: transparent !important; border-color: #3a4a41 !important; color: #cba86a !important; }
html[data-re-theme="dark"] .dc-btn-quiet:hover:not(:disabled) { background: #2a2419 !important; border-color: #7a5c2e !important; }
html[data-re-theme="dark"] .dc-note { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-note.is-ok { color: #7ab88c !important; }
html[data-re-theme="dark"] .dc-note.is-err { color: #e0a191 !important; }
html[data-re-theme="dark"] .dc-saved { background: #1a231f !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .dc-saved-t { color: #9a9384 !important; }

/* Surfaces. The accent border-left survives untouched — it is var(--dc-ac). */
html[data-re-theme="dark"] .dc-vial,
html[data-re-theme="dark"] .dc-comp { background: #18211d !important; border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .dc-stat { border-right-color: #232e29 !important; }
html[data-re-theme="dark"] .dc-stat-l { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-sec { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-comp-n { color: #e4e0d6 !important; }
html[data-re-theme="dark"] .dc-comp-a { color: #8a8375 !important; }

/* Protocol chips. */
html[data-re-theme="dark"] .dc-pb { border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .dc-pb-l { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-pb-v { color: #e4e0d6 !important; }

/* Tables. The head does NOT keep the accent as a background: a lifted accent
   is a bright block on a dark page, and white-on-lifted-accent is the worst
   contrast on the screen. Neutral ground, accent lettering instead. */
html[data-re-theme="dark"] .dc-tw { border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .dc-tw table { background: #18211d !important; }
html[data-re-theme="dark"] .dc-tw th { background: #1e2a25 !important; color: var(--dc-ac) !important; }
html[data-re-theme="dark"] .dc-tw td { color: #c3beb1 !important; border-top-color: #232e29 !important; }
html[data-re-theme="dark"] .dc-tw tr.dc-alt td { background: #1a231f !important; }
html[data-re-theme="dark"] .dc-phase { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .dc-quiet { color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-warn { color: #e0b591 !important; }

/* Dose-level pills, stated flat rather than tinted from the accent — they mean
   low / standard / high, which is a fixed scale and not the product's colour. */
html[data-re-theme="dark"] .dc-b-start { background: #22332a !important; color: #7ab88c !important; }
html[data-re-theme="dark"] .dc-b-maint { background: #33291a !important; color: #cba86a !important; }
html[data-re-theme="dark"] .dc-b-low   { background: #1f2a33 !important; color: #6fa8d8 !important; }
html[data-re-theme="dark"] .dc-b-std   { background: #22332a !important; color: #7ab88c !important; }
html[data-re-theme="dark"] .dc-b-high  { background: #33222a !important; color: #d98fa9 !important; }

/* Callouts. The clinical-notes one rides the palette; the syringe warning is
   fixed amber in both modes, because it means the same thing whatever the
   product is. */
html[data-re-theme="dark"] .dc-callout { color: #c3beb1 !important; }
html[data-re-theme="dark"] .dc-cw { background: #2a2419 !important; border-color: #7a5c2e !important; }
html[data-re-theme="dark"] .dc-cw .dc-callout-t { color: #cba86a !important; }

html[data-re-theme="dark"] .dc-empty { background: #18211d !important; border-color: #2e3b35 !important; color: #8a8375 !important; }
html[data-re-theme="dark"] .dc-foot { color: #8a8375 !important; border-top-color: #2e3b35 !important; }

/* ---- Expense Review tab (inc/expense-review.php), 2026-09-03 ---- */
html[data-re-theme="dark"] .rev-lede { color: #9a9384 !important; }
html[data-re-theme="dark"] .rev-lede b { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-top { background: #14171a !important; border-bottom-color: #27332e !important; }
html[data-re-theme="dark"] .rev-status { color: #9a9384 !important; }
html[data-re-theme="dark"] .rev-status .n { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-save button { background: #2a8a80 !important; border-color: #2a8a80 !important; color: #0f1412 !important; }
html[data-re-theme="dark"] .rev-save .msg { color: #9a9384 !important; }
html[data-re-theme="dark"] .rev-save .msg.bad { color: #e48a78 !important; }
html[data-re-theme="dark"] .rev-bar { background: #27332e !important; }
html[data-re-theme="dark"] .rev-bar > span { background: #2a8a80 !important; }
html[data-re-theme="dark"] .rev-tools input[type="search"], html[data-re-theme="dark"] .rev-tools select, html[data-re-theme="dark"] .rev-acts select, html[data-re-theme="dark"] .rev-acts input.rev-note { background: #1c2124 !important; color: #e9e4d7 !important; border-color: #3a4440 !important; }
html[data-re-theme="dark"] .rev-tools label { color: #9a9384 !important; }
html[data-re-theme="dark"] .rev-chip { background: #1c2124 !important; color: #c3beb1 !important; border-color: #3a4440 !important; }
html[data-re-theme="dark"] .rev-chip[aria-pressed="true"] { background: #e9e4d7 !important; color: #14171a !important; border-color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-guide { background: #1e3436 !important; border-left-color: #74b7b9 !important; color: #c3beb1 !important; }
html[data-re-theme="dark"] .rev-guide b { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-m { background: #1c2124 !important; border-color: #27332e !important; }
html[data-re-theme="dark"] .rev-m.changed { box-shadow: inset 0 0 0 1px #cba86a !important; }
html[data-re-theme="dark"] .rev-mn { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-mi { color: #8a8375 !important; }
html[data-re-theme="dark"] .rev-mi code { background: #27332e !important; color: #c3beb1 !important; }
html[data-re-theme="dark"] .rev-amt { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-amt small { color: #8a8375 !important; }
html[data-re-theme="dark"] .rev-acts button, html[data-re-theme="dark"] .rev-tx button { background: #1c2124 !important; color: #c3beb1 !important; border-color: #3a4440 !important; }
html[data-re-theme="dark"] .rev-acts button:hover, html[data-re-theme="dark"] .rev-tx button:hover { border-color: #e9e4d7 !important; color: #e9e4d7 !important; }
html[data-re-theme="dark"] .rev-on-Business { background: #1e3436 !important; border-color: #74b7b9 !important; color: #74b7b9 !important; }
html[data-re-theme="dark"] .rev-on-Personal { background: #3a2320 !important; border-color: #e48a78 !important; color: #e48a78 !important; }
html[data-re-theme="dark"] .rev-on-Other { background: #3a3020 !important; border-color: #d9b36a !important; color: #d9b36a !important; }
html[data-re-theme="dark"] .rev-on-Unsure { background: #26303a !important; border-color: #a5b1b8 !important; color: #a5b1b8 !important; }
html[data-re-theme="dark"] .rev-acts .rev-tog { background: transparent !important; border-color: transparent !important; color: #74b7b9 !important; }
html[data-re-theme="dark"] .rev-tx { border-top-color: #27332e !important; }
html[data-re-theme="dark"] .rev-tx td { border-bottom-color: #27332e !important; color: #c3beb1 !important; }
html[data-re-theme="dark"] .rev-tx td.d { color: #8a8375 !important; }
html[data-re-theme="dark"] .rev-tx tr[data-st="Personal"] td.s { color: #e48a78 !important; }
html[data-re-theme="dark"] .rev-tx tr[data-st="Other entity"] td.s { color: #d9b36a !important; }
html[data-re-theme="dark"] .rev-tx tr[data-st="Business"] td.s { color: #74b7b9 !important; }
html[data-re-theme="dark"] .rev-tx tr[data-st="Unsure"] td.s { color: #a5b1b8 !important; }
html[data-re-theme="dark"] .rev-empty { color: #8a8375 !important; }

/* ========== Product Requests v3 - table rows (2026-09-05)
   The rebuild replaced the card stack with rows, and rows carry their own
   chrome: header, quote strip, column heads, the eight-column product row,
   the two editors and the two-column detail panel. Tokens first, in the same
   five-property shape as the block above, then the handful of surfaces that
   are literal colours rather than tokens.

   Hand-maintained, like every block above it: Build-PortalDarkCss.ps1 cannot
   see custom properties or var() values and would emit nothing for the token
   rules. Any new .is-* / .ch-* / .k-* / .qs-* added to inc/requisitions.php
   must be added HERE in the same change. */
html[data-re-theme="dark"] .re-preq-scope .is-inbox    { --st:#b5674f; --st-ink:#d08a70; --st-bg:#2a1a15; --st-on:#17110e; }
html[data-re-theme="dark"] .re-preq-scope .is-stock    { --st:#4d8a76; --st-ink:#86b3a1; --st-bg:#16241f; --st-on:#0f1613; }
html[data-re-theme="dark"] .re-preq-scope .is-order    { --st:#b0925a; --st-ink:#cba86a; --st-bg:#241d12; --st-on:#17140d; }
html[data-re-theme="dark"] .re-preq-scope .is-await    { --st:#cba86a; --st-ink:#cba86a; --st-bg:#241d12; --st-on:#17140d; }
html[data-re-theme="dark"] .re-preq-scope .is-declined { --st:#4a4a44; --st-ink:#8c8578; --st-bg:#1a1a17; --st-on:#e4e0d6; }
/* The requisition chip prints white text ON --ch, so these are the solid
   values rather than the pale ones. */
html[data-re-theme="dark"] .re-preq-scope .ch-inbox    { --ch:#8a6a3a; }
html[data-re-theme="dark"] .re-preq-scope .ch-stock    { --ch:#3d6f5e; }
html[data-re-theme="dark"] .re-preq-scope .ch-order    { --ch:#7d6a34; }
html[data-re-theme="dark"] .re-preq-scope .ch-ordered  { --ch:#8a6a3a; }
html[data-re-theme="dark"] .re-preq-scope .ch-done     { --ch:#2f6152; }
html[data-re-theme="dark"] .re-preq-scope .ch-declined { --ch:#4a4a44; }
html[data-re-theme="dark"] .re-preq-scope .k-inbox  { --k:#cba86a; }
html[data-re-theme="dark"] .re-preq-scope .k-stock  { --k:#86b3a1; }
html[data-re-theme="dark"] .re-preq-scope .k-order  { --k:#cba86a; }
html[data-re-theme="dark"] .re-preq-scope .k-closed { --k:#8c8578; }
html[data-re-theme="dark"] .re-preq-scope .qs-inbox    { --q:#b5674f; }
html[data-re-theme="dark"] .re-preq-scope .qs-stock    { --q:#7d8c84; }
html[data-re-theme="dark"] .re-preq-scope .qs-order    { --q:#b0925a; }
html[data-re-theme="dark"] .re-preq-scope .qs-ordered  { --q:#cba86a; }
html[data-re-theme="dark"] .re-preq-scope .qs-done     { --q:#4d8a76; }
html[data-re-theme="dark"] .re-preq-scope .qs-declined { --q:#4a4a44; }
html[data-re-theme="dark"] .re-preq-scope .qs-other    { --q:#4a4a44; }
html[data-re-theme="dark"] .re-preq-scope .qs-vendor   { --q:#a8894f; }

/* The two buttons every row is allowed. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-b1 { background: #2f6152 !important;
  color: #eef3f0 !important; border-color: #2f6152 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-b1:hover { background: #3a7462 !important;
  border-color: #3a7462 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-b2 { color: #86b3a1 !important;
  border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-b2:hover { background: #1e2a24 !important;
  border-color: #4d8a76 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-b2.is-bad { color: #d08a70 !important; }

/* Tiles. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-stage { background: #141b18 !important;
  border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-stage:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-stage[aria-pressed="true"] { border-color: #b0925a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-stage b { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-tlbl { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-tnote { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-dq { color: #d08a70 !important; }

/* Grouped-by menu. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbbtn { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbbtn b { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbmenu { background: #141b18 !important;
  border-color: #2e3b35 !important; box-shadow: 0 8px 24px rgba(0,0,0,.45) !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbmenu button { color: #cfc9bb !important;
  border-bottom-color: #222b26 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbmenu button:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbmenu button[aria-pressed="true"] { background: #1b2420 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gbmenu em { color: #8a8375 !important; }

/* Group heads and requisition rows. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-ghead,
html[data-re-theme="dark"] .re-preq-scope .re-preq-reqrow { background: #141b18 !important;
  border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-reqrow:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gtitle { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gtitle em { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-gmark { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-win { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-win.is-on { background: #1b2420 !important;
  border-color: #b0925a !important; color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rid { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rwho { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rmeta,
html[data-re-theme="dark"] .re-preq-scope .re-preq-rage { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rage.is-fresh { color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rage.is-stale { color: #d08a70 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rchip { color: #eef3f0 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-quote,
html[data-re-theme="dark"] .re-preq-scope .re-preq-reqacts { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-quote em { color: #8a8375 !important; }

/* The product row. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-colhead,
html[data-re-theme="dark"] .re-preq-scope .re-preq-line { background: #141b18 !important;
  border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-colhead { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-caret { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-thumb,
html[data-re-theme="dark"] .re-preq-scope .re-preq-pdimg { border-color: #2e3b35 !important;
  background: repeating-linear-gradient(135deg,#1a221e 0 3px,#222b26 3px 6px) !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-name { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-namesub,
html[data-re-theme="dark"] .re-preq-scope .re-preq-cellsub,
html[data-re-theme="dark"] .re-preq-scope .re-preq-rowsub { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-cell { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rowsub.is-bad,
html[data-re-theme="dark"] .re-preq-scope .re-preq-rowsub.is-short,
html[data-re-theme="dark"] .re-preq-scope .re-preq-subbad { color: #d08a70 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-sublink { color: #86b3a1 !important;
  border-bottom-color: #3a453f !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-sublink.is-bad { color: #d08a70 !important;
  border-bottom-color: #7d4034 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-fig { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-fig em { color: #8a8375 !important; }

/* Row menu. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-mor { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mor[aria-expanded="true"] { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-menu { background: #141b18 !important;
  border-color: #2e3b35 !important; box-shadow: 0 8px 24px rgba(0,0,0,.45) !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mi { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mi:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mi.is-bad { color: #d08a70 !important; }

/* The editors. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor { background: #18211d !important;
  border-color: #2e3b35 !important; border-left-color: #4d8a76 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor.is-ord { border-left-color: #b0925a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor.is-issue { border-left-color: #4d8a76 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor.is-qty { border-left-color: #b0925a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor.is-mail { border-left-color: #4d8a76 !important; }
/* Finding the invoice in the mailbox. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailnote { color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailnote.is-bad { color: #d08a70 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailnote b { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-maillist { background: #141b18 !important;
  border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailrow { border-bottom-color: #232e28 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailrow:hover { background: #1e2a24 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailsub { color: #cfe3da !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailmeta { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailfile { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailfile.is-on { background: #221d13 !important;
  border-color: #a8894f !important; color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailpick { background: #141b18 !important;
  border-color: #232e28 !important; color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailpick.is-named { background: #221d13 !important;
  border-color: #6b5a34 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-mailpick em { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editlbl { color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor.is-ord .re-preq-editlbl { color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editor.is-qty .re-preq-editlbl { color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editlbl em,
html[data-re-theme="dark"] .re-preq-scope .re-preq-editmeta,
html[data-re-theme="dark"] .re-preq-scope .re-preq-editfoot { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editnum b,
html[data-re-theme="dark"] .re-preq-scope .re-preq-editsay { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-estep { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editqty { background: #141b18 !important;
  border-color: #4d8a76 !important; color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editwho,
html[data-re-theme="dark"] .re-preq-scope .re-preq-editwhy { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #cfe3da !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-editfoot { border-top-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-attach { color: #b7b1a3 !important;
  border-color: #3a453f !important; }

/* The detail panel and the message column. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-detail { background: #141b18 !important;
  border-color: #2e3b35 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-detleft { border-right-color: #222b26 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-detttl,
html[data-re-theme="dark"] .re-preq-scope .re-preq-msghead b { color: #e9e4d7 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-fact > span:first-child,
html[data-re-theme="dark"] .re-preq-scope .re-preq-fact em,
html[data-re-theme="dark"] .re-preq-scope .re-preq-histhead,
html[data-re-theme="dark"] .re-preq-scope .re-preq-msghead em,
html[data-re-theme="dark"] .re-preq-scope .re-preq-msghead > span,
html[data-re-theme="dark"] .re-preq-scope .re-preq-msgnote,
html[data-re-theme="dark"] .re-preq-scope .re-preq-bubble em { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-fact > span + span,
html[data-re-theme="dark"] .re-preq-scope .re-preq-hist > span + span,
html[data-re-theme="dark"] .re-preq-scope .re-preq-bubble > span + span { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-fact a,
html[data-re-theme="dark"] .re-preq-scope .re-preq-catlink,
html[data-re-theme="dark"] .re-preq-scope .re-preq-histmore { color: #86b3a1 !important;
  border-bottom-color: #3a453f !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-histhead { border-bottom-color: #222b26 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-hist { border-bottom-color: #1d2521 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-hist > span:first-child { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-pd-none { background: #18211d !important;
  border-left-color: #7d97a6 !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-sendto { color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-person { background: #18211d !important;
  border-color: #2e3b35 !important; color: #cfc9bb !important; }
/* Added recipients, and the picker behind "+ add someone". */
html[data-re-theme="dark"] .re-preq-scope .re-preq-person.is-added { background: #221d13 !important;
  border-color: #6b5a34 !important; color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-persondrop { color: #cba86a !important; }
/* Buy keeps its gold at night, on the same tokens as an added recipient. */
/* The vendor bar, on the same gold as Buy. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-vbar { background: #1c1811 !important;
  border-color: #2e3b35 !important; border-left-color: #a8894f !important; color: #b7b1a3 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-vbar b { color: #cfc9bb !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-vnone { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-b2.is-buy { background: #221d13 !important;
  border-color: #6b5a34 !important; color: #cba86a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-b2.is-buy:hover { background: #2b2416 !important;
  border-color: #a8894f !important; color: #e0c48a !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-persondrop:hover { color: #d08a70 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-addbtn { border-color: #3b4a43 !important;
  color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-addbtn:hover { background: #1e2a24 !important;
  border-color: #4d8a76 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-addmenu { background: #141b18 !important;
  border-color: #2e3b35 !important; box-shadow: 0 8px 24px rgba(0,0,0,.5) !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-addmenu em { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-msgbox { background: #141b18 !important;
  border-color: #2e3b35 !important; color: #cfe3da !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-init { background: #222b26 !important;
  color: #cfc9bb !important; }

/* Ad hoc, and the rule under the queue. */
html[data-re-theme="dark"] .re-preq-scope .re-preq-adhoc > summary { color: #86b3a1 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-adhocgrid label > span { color: #8a8375 !important; }
html[data-re-theme="dark"] .re-preq-scope .re-preq-rule { border-top-color: #2e3b35 !important;
  color: #8a8375 !important; }
