/* UI template - Bee Apps.
   Source: C:\0Claude\Projects\MJB Server\UI Template\Bee Apps\src\
   Vendored copies live under each app's static/bee/ - never edit a copy. */

/* ===== This template's own revision (1.48.0) =====
   Brett, 2026-09-29: "right now, I can't tell what UI an app is using". Every app shows it
   from THIS value: from 1.54.0 at the right-hand end of the bar over Settings (bee-shell.js
   puts it there; bee-shell.css, [data-bee-version]), and at the foot of the Settings rail
   (.set-nav::after, 1.48.0's spot) only when that bar is not there.
   tools\set_revision.py writes it together with REVISION and Bee.version; never by hand. */
:root { --bee-template-version: "1.76.1"; }

/* ========================================================================
   Rev 2.0 dashboard. Same theme tokens as the form so a single CSS edit
   carries to both surfaces.
   ======================================================================== */
:root {
  --bg: #fefcf3;
  --surface: #f7f3e3;
  --surface-2: #fffdf6;
  /* Rev 6.0.53: --surface-1 was USED in five places and DEFINED nowhere. Four
     of them had no fallback, so `background: var(--surface-1)` was an invalid
     declaration and those elements rendered with no background at all — the
     Settings nav rail among them. Nobody could tell until the honeycomb went
     in behind everything and started showing through them.
     Dark takes #1b2430, which is the fallback the one working usage already
     chose, so that element does not change. */
  --surface-1: #f7f3e3;
  --surface-hover: #efeada;

  --border: #e6dec5;
  --border-strong: #c9c19f;

  --text-primary: #1a1a14;
  --text-secondary: #5a5a48;
  --text-tertiary: #8e8e75;

  --header-bg-from: #1f3322;
  --header-bg-to: #0f1c12;
  --header-text: #fefcf3;
  --header-muted: rgba(254, 252, 243, 0.72);

  --accent: #15803d;
  --accent-strong: #166534;
  --accent-soft: rgba(21, 128, 61, 0.12);

  /* Rev 6.9.11: the colour of a Pieces/Scrap/Downtime VALUE on an open tile.
     It is --accent everywhere except here, because in the light theme the
     accent is MJB lime and measures 1.77:1 on a plain chip -- 1.28:1 once
     6.9.10's wash is behind it. No green dark enough to clear AA still reads
     as the brand lime (it takes roughly #356010), so the light theme takes the
     text weight instead and the dark theme, which is 9.25:1 and is the board
     the floor actually watches, keeps the lime.

     5.11.9's signal survives: an OPEN tile's values read strong and an IDLE
     tile's stay --text-tertiary grey. Strong-against-grey is a clearer pair
     than a barely-visible lime against the same grey ever was. */
  --stat-val-color: var(--text-primary);

  --status-open-color: #15803d;
  --status-open-soft: rgba(21, 128, 61, 0.12);
  --status-done-color: #2563eb;
  --status-done-soft: rgba(37, 99, 235, 0.10);

  --warn-color: #9a2f0a;
  --warn-soft-bg: #fee4d6;
  --danger: #c81e1e; --danger-strong: #a51919; --danger-soft: rgba(200, 30, 30, 0.14);   /* 1.4.0: anything that removes */
  --field-bg: #fffdf6; --field-border: #c9c19f;   /* 1.8.0: a field, text or dropdown; in the light theme the raised surface */
  --group-bg: #efeada; --group-border: #e0d8bd;   /* 1.9.0: a group inside a card, a touch deeper than the card so it reads as a bubble */
  --accent-ink: #14210a;   /* 1.15.0: text ON the accent. White on the lime measured under 2:1; the ribbon has always used this dark ink */

  --shadow-card: 0 4px 12px rgba(60, 50, 20, 0.08);

  --r-sm: 8px;
  --r-md: 10px;
  --r-lg: 12px;
  /* Rev 6.14.1 - the assistant's bubble. NOT --surface-2: that token means
     "raised" in light and "recessed" in dark (#fffdf6 vs #0a1322), so reusing
     it put a hole in the dark panel instead of a card on it. */
  --assist-bubble: #fffdf6;
  --assist-bubble-edge: #e6dec5;
}

[data-theme="dark"] {
  --bg: #0c1218;
  /* Rev 6.0.53: was #11192399 — a 60%-alpha surface. That was invisible until
     the honeycomb went in behind everything, and then every card in dark mode
     had hexes showing through it. This is the SAME colour flattened against
     --bg, so the app looks identical and nothing shows through. */
  --surface: #0f161f;
  --surface-2: #0a1322;
  --surface-1: #1b2430;
  --surface-hover: #1a2738;

  --border: #2a4870;
  --border-strong: #3d5d8a;

  --text-primary: #e7ecf2;
  --text-secondary: #8db2dd;
  --text-tertiary: #5d7390;

  --header-bg-from: #15212d;
  --header-bg-to: #111923;
  --header-text: #e7ecf2;
  --header-muted: #8db2dd;

  --accent: #5dccfa;
  --accent-strong: #7fdcfb;
  --accent-soft: rgba(93, 204, 250, 0.18);

  /* Rev 6.9.11: dark keeps the accent -- it was never the problem. Resolved
     where it is USED, so the 5.0.7 rebrand's lime is what lands here. */
  --stat-val-color: var(--accent);

  --status-open-color: #4cdb6e;
  --status-open-soft: rgba(76, 219, 110, 0.18);
  --status-done-color: #5dccfa;
  --status-done-soft: rgba(93, 204, 250, 0.15);

  --warn-color: #FF7B3D;
  --warn-soft-bg: rgba(255, 123, 61, 0.18);
  --danger: #d23b3b; --danger-strong: #b83030; --danger-soft: rgba(210, 59, 59, 0.24);   /* white text reads at 4.7:1; the lighter red did not */
  --field-bg: #1b2a3f; --field-border: #4b6b98;   /* 1.8.0: LIGHTER than the card (#0f161f), so a field stands off it (Brett: "they don't pop out") */
  --group-bg: #141f2e; --group-border: #2a4870;   /* 1.9.0: between the card and a field, so a field still stands off a group */
  --accent-ink: #14210a;   /* 1.15.0: the lime is the same in both themes, so is the ink that reads on it */

  --shadow-card: 0 4px 12px rgba(0, 0, 0, 0.4);
  /* Raised against the #1b2430 panel, where --surface-2 (#0a1322) is sunk. */
  --assist-bubble: #26364b;
  --assist-bubble-edge: #3d5d8a;
}

/* ===== BeeReport rebrand (rev 5.0.7) — MJB green + logo header =====
   Override block (mirrors form.html): UI green -> MJB green #84CC3C, solid-lime
   header with white logo chips + dark text. Theme vars above are left intact. */
:root {
  --accent: #84CC3C; --accent-strong: #6BAE2A; --accent-soft: rgba(132, 204, 60, 0.16);
}

[data-theme="dark"] {
  --accent: #84CC3C; --accent-strong: #9BDB4F; --accent-soft: rgba(132, 204, 60, 0.22);
}

/* ===== The ribbon's colours (1.19.0) =====
   An app may run the ribbon in its own colour without copying any of its rules.
   Set any of these in the app's own stylesheet; the SHAPE stays the template's.

   Every one is declared NOWHERE and read as `var(--name, <today's value>)`, so
   an app that sets none of them renders exactly what it rendered before this
   revision. That is why the defaults are not written here: a default written in
   two places is a default that drifts.

     --ribbon-bg              the bar's fill                  (#84CC3C)
     --ribbon-edge            its bottom border               (#5e9e2a)
     --ribbon-lacquer         the sheen over it, a whole background-image
     --ribbon-shadow          its box-shadow, whole
     --ribbon-ink             text and glyphs ON the bar      (#14210a)
     --ribbon-chip-bg         the small translucent controls: badge, What's new
     --ribbon-chip-bg-hover     circle, icon buttons, Home, the plant chip
     --ribbon-chip-edge
     --rail-bg                the tab rail's fill, a whole background
     --rail-edge              its border
     --rail-shadow            its box-shadow, whole
     --rail-ink               a tab you are not on
     --rail-ink-hover         + --rail-ink-hover-bg
     --rail-active-bg         the tab you are on
     --rail-active-ink        + --rail-active-edge, --rail-active-shadow

   Bee EHS 1.6.1 is the first app on these: a dark grey bar with the tab you are
   on painted the accent, because white on a dark bar reads as a disabled panel.

   NOT tokenised, and deliberately: the plant switcher's cream pill, and the
   header icon glyphs, which are SVG data URLs with the ink baked into them. An
   app that re-skins the bar AND has a plant switcher does those then, once
   there is a second case to generalise from. */

/* ===== The Settings rail's colours (1.40.0) =====
   The same bargain as the ribbon's, for the left-hand list of Settings
   categories (.set-nav). Declared nowhere, read as `var(--name, <today>)`, so an
   app that sets none renders exactly as before.

     --setnav-bg              the rail's fill                 (--surface-1)
     --setnav-edge            its border                      (--border)
     --setnav-shadow          its box-shadow, whole           (none)
     --setnav-rule            the line between groups         (--border)
     --setnav-heading         a group's small capitals        (--text-secondary)
     --setnav-ink             a category you are not on       (--text-primary)
     --setnav-hover-bg        one under the pointer           (--surface-2)
     --setnav-active-bg       the category you are on         (--surface-2)
     --setnav-active-ink      + its text                      (--accent-strong)
     --setnav-active-edge     + the bar down its left edge    (--accent-strong)

   NOT tokenised: the search box. The field rule (1.8.0) already out-ranks the
   rail's own search rule, so tokens there would be read by nothing - proved by
   tools\check_setnav_tokens.py, whose take-up half caught exactly that - and a
   plain field on a dark rail is what Bee EHS shows anyway.

   Why: Bee EHS drew a dark rail with a lime-tinted selection BY HAND in its own
   page, overriding these rules, and the Item Code Generator wanted the same look
   (Brett, 2026-09-16: "ours is white, so there's no contrast"). A second app
   copying the first app's overrides is two copies that drift; these are the one
   place instead. The rail's SHAPE stays a rule - a full-height dark column is
   layout, and layout is the app's. */

/* ===== The Sync tab's tiles (1.52.0) =====
   Bee.sync's connection tiles: the chip that says which way the data goes, and the dot and
   border a tile's state wears. The values are the drawing Brett approved on 2026-09-30
   (design\sync-tiles\sync-tiles-mockup.html), and bee-shell.css reads each with the same
   value as its fallback, so a page that has the shell but an older copy of this file draws
   them the same. Both chip colours lighten in the dark theme, as the drawing does; the state
   colours are one set for both. An app may set any of them in its own stylesheet.

     --sync-dir-out    Sending: the other app reads from this one
     --sync-dir-in     Receiving: this app reads from the other one
     --sync-dir-both   Both ways. Declared nowhere: its fallback is the theme's own
                       --accent-strong, resolved where the chip is drawn
     --sync-ok         working, on             + --sync-ok-halo
     --sync-warn       expiring, waiting        + --sync-warn-halo
     --sync-bad        refused, failed, expired + --sync-bad-halo */
:root {
  --sync-dir-out: #2563eb; --sync-dir-in: #9333ea;
  --sync-ok: #22c55e; --sync-ok-halo: rgba(34, 197, 94, .2);
  --sync-warn: #eab308; --sync-warn-halo: rgba(234, 179, 8, .2);
  --sync-bad: #e0241b; --sync-bad-halo: rgba(224, 36, 27, .18);
}
[data-theme="dark"] { --sync-dir-out: #60a5fa; --sync-dir-in: #c084fc; }

/* ===== The MJB mark (1.60.0) =====
   The company's mark is the same in every Bee app, so it is the template's: the loading screen's foot
   draws it from here, and no app needs its own copy for that. 96 px wide (it shows at 46 px at most, so
   this is sharp on a screen at twice the density), from BeeReport's static/brand/mjb.png. */
:root {
  --bee-mjb-mark: url("data:image/png;base64,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");
}
