/* ════════════════════════════════════════════════════════════════════════
   OmniChrome monochrome — per-app token override layer.

   ⚠ LOAD ORDER IS LOAD-BEARING. This file MUST be linked *after*
       <link rel="stylesheet" href="/static/omnichrome-tokens.css">
     in every HTML entry.

   That shared sheet is served from the OmniClipper repo (which this change
   does not touch) and still carries the OLD neon palette. If it loads last
   it wins and this file does nothing at all — a silent no-op that looks
   exactly like "the restyle didn't work". Required order per entry:

       style.css  →  [dashboard.css]  →  /static/omnichrome-tokens.css
                  →  THIS FILE

   The :root in style.css stays as-is on purpose: it is the documented
   local-dev fallback for when the shared sheet 404s off-server.

   PART 1 is copied verbatim from OmniClipper's dashboard.html :root — the
   source of truth for the 2026-07-23 monochrome redesign. Don't hand-edit
   Part 1; re-copy it from dashboard.html so the suite stays in sync.
   PARTS 2 and 3 are additions these apps need; see the comments there.

   Kept byte-identical between OmniManager and OmniCut so a future
   `diff` between the two copies is trivial.
   ════════════════════════════════════════════════════════════════════════ */

/* ── PART 1 · verbatim from OmniClipper dashboard.html ──────────────── */
:root {
  /* surfaces — near-black monochrome */
  --bg: #111112; --bg-2: #0d0d0e;
  --surface: #17171a; --surface-2: #1c1c20; --surface-3: #232327;
  --border: #2c2c31; --border-subtle: #26262a;
  /* text */
  --text: #f2f2f4; --text-2: #c8c8cd; --muted: #8a8a90; --muted-2: #5c5c62;
  /* single indigo accent */
  --accent: #6f8dff; --accent-hover: #9fb2ff; --accent-active: #5a78e6;
  --accent-subtle: rgba(111,141,255,0.14); --accent-border: rgba(111,141,255,0.45);
  --accent-bright: #9fb2ff;
  /* fold the magenta brand into the single accent (monochrome + 1) */
  --brand-magenta: #9fb2ff; --brand-blue: #6f8dff;
  --brand-gradient: linear-gradient(95deg,#f2f2f4,#f2f2f4);
  --brand-gradient-45: linear-gradient(45deg,#f2f2f4,#f2f2f4);
  --brand-gradient-subtle: linear-gradient(95deg, rgba(111,141,255,0.14), rgba(111,141,255,0.14));
  --magenta: #6f8dff; --magenta-hover: #9fb2ff;
  --magenta-subtle: rgba(111,141,255,0.12); --magenta-border: rgba(111,141,255,0.35);
  /* status — from the redesign */
  --green: #3fbf8f; --green-subtle: rgba(63,191,143,0.16);
  --red: #e0704f; --red-subtle: rgba(224,112,79,0.16);
  --amber: #c9a54a; --amber-subtle: rgba(201,165,74,0.16);
  /* flat backdrops — kill the neon glow + grid */
  --bg-immersive: #111112; --bg-grid: none; --bg-grad: #111112;
  /* glass → quiet, flatter surfaces */
  --glass: rgba(23,23,26,0.72); --glass-strong: rgba(20,20,22,0.92);
  --glass-border: #2c2c31; --glass-blur: blur(16px);
  /* softer, non-neon glow/shadow */
  --glow-blue: 0 10px 26px -8px rgba(111,141,255,0.45);
  --glow-magenta: 0 10px 26px -8px rgba(111,141,255,0.30);
  --glow-accent: 0 12px 40px -14px rgba(111,141,255,0.35);
  --glow-inset: inset 0 1px 0 rgba(255,255,255,0.05);
  /* type — Newsreader display · Hanken Grotesk UI · IBM Plex Mono micro */
  --font: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-ui: var(--font);
  --font-brand: "Newsreader", Georgia, serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --mono: var(--font-mono);
}

/* ── PART 2 · tokens Part 1 can't reach in these two apps ───────────── */
:root {
  /* Clipper's .bg-grid reads --bg-grid (killed in Part 1), but OmniManager
     and OmniCut both read --bg-grid-img instead. Without this line the neon
     46px lattice survives the whole restyle. */
  --bg-grid-img: none;

  /* --violet is local to Manager/Cut — it is in neither the shared sheet nor
     Clipper, so Part 1 can't touch it. Remapped to neutral grey to match the
     "text = neutral" hue-coding decision. Consumers: Manager .st-editing;
     OmniCut .text-preset:hover, .clip-badge.text, .clip.text. */
  --violet: #c8c8cd; --violet-subtle: rgba(200,200,205,0.14);

  /* Referenced-but-never-defined in OmniCut — previously resolved only via
     inline var() fallbacks. Defined here so the fallbacks can be dropped. */
  --danger: var(--red);
  --radius-md: 12px;
}

/* ── PART 3 · directional shadows ───────────────────────────────────── */
/* The redesign trades the old flat neon halos (0 0 28px …) for directional
   lifts: 0 Npx Mpx -Kpx rgba(0,0,0,.65–.72), usually paired with an inset
   white hairline. Clipper hand-wrote these per component; re-pointing the
   shared scale gets the same read across every .panel / .card / .modal /
   .dlg without touching a single component rule. */
:root {
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
  --shadow:    0 8px 20px -8px rgba(0,0,0,0.65);
  --shadow-md: 0 14px 34px -12px rgba(0,0,0,0.68);
  --shadow-lg: 0 22px 55px -16px rgba(0,0,0,0.70);
  --shadow-xl: 0 30px 72px -20px rgba(0,0,0,0.72);
}
