/* The operative theme of the main window (<html data-theme="operativo">): the third theme beside the light and the dark ones of
   tokens-ev.css, in the visual language of the situation room (sala-tema.css, docs/sala-de-situacion/estilo.md). Deep navy ground with a
   faint grid and a vignette, dark glass panels with a 1 px luminous edge and a soft inner glow, small uppercase monospaced captions,
   controls lit in cyan, glows in the hue of each family on the stage, the dark tile filter on the maps. Linked by index.html right after
   estilos-osint.css and before sala.css and sala-tema.css. The light and the dark themes do not read a line of it. Since 2026-10-11 it is
   the default theme of the window (the pre-paint script of index.html, with a one-time migration of the dark the old default stored),
   and it draws the room's components, not only its colours, on every surface: the blocks of the lateral panel and of the Ficha are room
   panels, the views sit in a framed panel, the tabs are its segmented control, the chips and the figures are the room's.

   How it is built (docs/sala-de-situacion/decisiones.md, 2026-10-09):
   1. The palette block on :root[data-theme="operativo"] repeats, value for value, the --sala-* palette and scales and the pointing of the
      app's role tokens (--ev-*, --seg-on, --row-hover, --info-ink) that sala-tema.css declares on .sala-op. sala-tema.css is not touched
      and nothing is imported (no css of the app may import another); tests/osint3/tema-operativo.test.js holds both blocks equal, so the
      room and this theme keep one palette. Below it, what the window needs and the room does not: the overlay, the six type families,
      the toasts and tooltips, the glass of the stage overlays and the desk of the report page.
   2. Every other rule is written as :where(:root[data-theme="operativo"]) followed by the selector of estilos-osint.css it restyles. The
      :where() adds no weight, so each rule weighs exactly what the rule it restyles weighs and wins only because it comes later: it
      reaches what that rule reached, in the states it reached, and the rules of the room (.sala-op ..., one class heavier and later in
      the page) keep the Sala view as it is. The few rules that must beat a stylesheet loaded after this one (the map library inserts its
      own) keep the full :root[data-theme="operativo"] prefix.
   3. Nothing moves: backgrounds, borders that already exist (their colour, never their width), radii, shadows, glows, filters, and the
      face, ink, case and tracking of titles and captions. A panel is drawn around a block with box shadows (a shell that spreads the
      glass, the frame and the top light around it), or on a pseudo element that is placed absolutely inside a region already positioned
      and lets the pointer through. No rule changes a size, a gap, a padding, a position, a hit area or what is shown, except the brand
      mark that the dark theme also swaps for its negative; the boxes of the controls are the dark theme's, measured on the real case in
      the main window (the strip of totals, which takes no click, widens with its captions in caps). Text keeps 4.5:1 or more on its ground
      (--sala-text-3 is 5.2:1 on the lightest panel); glow is for edges, icons, dots, marks and big figures, never for running text; no
      animation is added, so the reduced motion rule of estilos-osint.css holds as it is.
   The exported pictures and the report keep their own themes (export-osint.js draws them from its own palettes), and the paper of the
   report page stays white. */

/* ------------------------------------------------------------ palette and role tokens (the room's block, repeated) */
:root[data-theme="operativo"] {
  /* ground and glass */
  --sala-bg: #040a14;
  --sala-bg-2: #071222;
  --sala-panel: #0a1628;
  --sala-panel-2: #0e1d33;
  --sala-panel-3: #13253f;
  --sala-glass: rgba(11, 24, 44, 0.78);
  --sala-glass-2: rgba(8, 18, 34, 0.86);
  --sala-line: #1a2e4a;
  --sala-line-2: #25436a;
  --sala-grid: rgba(110, 170, 255, 0.05);
  --sala-shade: rgba(0, 3, 8, 0.62);
  --sala-haze: rgba(40, 120, 220, 0.16);
  /* ink: text 15.9:1, text-2 9.3:1, text-3 6.2:1 on --sala-panel */
  --sala-text: #e8f1fb;
  --sala-text-2: #a9bcd3;
  --sala-text-3: #8399b3;
  /* accents */
  --sala-cyan: #3fd0ff;
  --sala-cyan-ink: #9ee9ff;
  --sala-on-cyan: #03121f;
  --sala-blue: #4c9dff;
  --sala-magenta: #e36bff;
  --sala-amber: #ffb84d;
  --sala-red: #ff6470;
  --sala-green: #3ee49a;
  --sala-green-2: #21b878;
  /* the three ages of a mark: the last 90 days, the last 12 months, older */
  --sala-age-recent: #7af4ff;
  --sala-age-year: #3f8cff;
  --sala-age-old: #5f7896;

  /* type */
  --sala-font: var(--ev-font-ui);
  --sala-mono: var(--ev-font-mono);
  --sala-fs-cap: 12px;
  --sala-fs-body: 13px;
  --sala-fs-row: 13.5px;
  --sala-fs-lead: 17px;
  --sala-fs-figure-sm: 24px;
  --sala-fs-figure: 40px;
  --sala-tracking: 0.09em;

  /* space, radius, motion */
  --sala-sp-1: 4px;
  --sala-sp-2: 8px;
  --sala-sp-3: 12px;
  --sala-sp-4: 16px;
  --sala-sp-5: 24px;
  --sala-sp-6: 32px;
  --sala-r-sm: 4px;
  --sala-r: 8px;
  --sala-r-lg: 12px;
  --sala-hit: 32px;
  --sala-ease: cubic-bezier(0.16, 1, 0.3, 1);

  /* the glows, built from the palette */
  --sala-ring: 0 0 0 1px var(--sala-cyan), 0 0 0 4px color-mix(in srgb, var(--sala-cyan) 18%, transparent), 0 0 18px color-mix(in srgb, var(--sala-cyan) 28%, transparent);
  --sala-edge: inset 0 1px 0 color-mix(in srgb, var(--sala-cyan) 10%, transparent), inset 0 0 28px color-mix(in srgb, var(--sala-blue) 6%, transparent);
  --sala-lift: 0 10px 30px color-mix(in srgb, var(--sala-bg) 70%, transparent);

  /* the app's role tokens, pointed at the palette (as .sala-op does) */
  --ev-bg: var(--sala-bg);
  --ev-surface: var(--sala-panel);
  --ev-surface-2: var(--sala-panel-2);
  --ev-surface-3: var(--sala-panel-3);
  --ev-border: var(--sala-line);
  --ev-border-strong: var(--sala-line-2);
  --ev-text: var(--sala-text);
  --ev-text-2: var(--sala-text-2);
  --ev-text-3: var(--sala-text-3);
  --ev-brand: var(--sala-cyan);
  --ev-brand-hover: var(--sala-cyan-ink);
  --ev-brand-soft: color-mix(in srgb, var(--sala-cyan) 16%, var(--sala-panel));
  --ev-on-brand: var(--sala-on-cyan);
  --ev-focus: var(--sala-cyan);
  --ev-stage: var(--sala-bg-2);
  --ev-stage-grid: var(--sala-grid);
  --ev-ok: var(--sala-green);
  --ev-ok-soft: color-mix(in srgb, var(--sala-green) 16%, var(--sala-panel));
  --ev-doubt: var(--sala-amber);
  --ev-doubt-soft: color-mix(in srgb, var(--sala-amber) 16%, var(--sala-panel));
  --ev-bad: var(--sala-red);
  --ev-bad-soft: color-mix(in srgb, var(--sala-red) 16%, var(--sala-panel));
  --ev-info: var(--sala-blue);
  --ev-info-soft: color-mix(in srgb, var(--sala-blue) 16%, var(--sala-panel));
  --ev-neutral: var(--sala-text-3);
  --ev-neutral-soft: var(--sala-panel-2);
  --ev-shadow-1: 0 1px 2px var(--sala-shade);
  --ev-shadow-2: var(--sala-lift);
  --ev-shadow-3: 0 24px 64px var(--sala-shade);
  --seg-on: color-mix(in srgb, var(--sala-cyan) 16%, var(--sala-panel));
  --row-hover: var(--sala-panel-3);
  --info-ink: var(--sala-blue);

  /* what the main window needs beyond the room: the veil of the overlays, the six type families (luminous, told apart as the dark
     theme's), the ground of the toasts and tooltips, the glass of the stage overlays, the desk of the report page */
  --ev-overlay: rgba(1, 5, 12, 0.66);
  --ev-t-persona: #4fd6e0;
  --ev-t-org: #a98bff;
  --ev-t-contacto: #f472d0;
  --ev-t-doc: #9db0c8;
  --ev-t-lugar: #4c9dff;
  --ev-t-otro: #cbd5e1;
  --toast-bg: #0b182b;
  --toast-fg: var(--sala-text);
  --toast-ok: var(--sala-green);
  --toast-warn: var(--sala-amber);
  --toast-bad: var(--sala-red);
  --glass: var(--sala-glass-2);
  --shadow-float: 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 8%, transparent), var(--sala-lift);
  --rep-desk: var(--sala-bg);

  /* the pieces of glass this theme reuses (not part of the room's palette) */
  --op-solid: linear-gradient(180deg, var(--sala-panel), var(--sala-bg-2));
  --op-glass: linear-gradient(180deg, var(--sala-glass), var(--sala-glass-2));
  --op-bar: linear-gradient(180deg, var(--sala-glass-2), var(--sala-glass));
  --op-card: linear-gradient(160deg, color-mix(in srgb, var(--sala-panel-3) 90%, transparent), color-mix(in srgb, var(--sala-panel-2) 90%, transparent));
  --op-top-light: linear-gradient(90deg, transparent, color-mix(in srgb, var(--sala-cyan) 85%, transparent) 16%, color-mix(in srgb, var(--sala-cyan) 25%, transparent) 62%, transparent) top / 100% 1px no-repeat;
  --op-bottom-light: linear-gradient(90deg, transparent, color-mix(in srgb, var(--sala-cyan) 70%, transparent) 30%, color-mix(in srgb, var(--sala-magenta) 45%, transparent) 70%, transparent) bottom / 100% 1px no-repeat;
  --op-rim: color-mix(in srgb, var(--sala-cyan) 16%, var(--sala-line));
  --op-rim-2: color-mix(in srgb, var(--sala-cyan) 28%, var(--sala-line-2));
  --op-seam: color-mix(in srgb, var(--sala-cyan) 34%, var(--sala-line-2));
  --op-glow-r: inset -1px 0 0 color-mix(in srgb, var(--sala-cyan) 14%, transparent), inset -14px 0 18px -16px color-mix(in srgb, var(--sala-cyan) 55%, transparent);
  --op-glow-l: inset 1px 0 0 color-mix(in srgb, var(--sala-cyan) 14%, transparent), inset 14px 0 18px -16px color-mix(in srgb, var(--sala-cyan) 55%, transparent);
  --op-glow-t: inset 0 1px 0 color-mix(in srgb, var(--sala-cyan) 14%, transparent), inset 0 14px 18px -16px color-mix(in srgb, var(--sala-cyan) 55%, transparent);
  --op-lit: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 55%, transparent), 0 0 12px color-mix(in srgb, var(--sala-cyan) 26%, transparent);
  --op-float: var(--sala-edge), 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 8%, transparent), var(--ev-shadow-3);
  --op-grid: linear-gradient(var(--sala-grid) 1px, transparent 1px), linear-gradient(90deg, var(--sala-grid) 1px, transparent 1px);

  /* the room's component language, built without moving a box (section "the room's components" below):
     --op-fill is the glass of a room panel as one opaque colour (a shadow cannot be a gradient, and the frame under a see-through fill
     would tint it); --op-frame its 1 px luminous edge;
     --op-light the light along its top; --op-viewbar the solid glass of the bar of the views, so the frame of the segmented group can
     be cut out of it; --op-band the ground between two cards. A shell (--op-shell, --op-shell-6) turns a block without padding into a
     room panel: the glass spreads 7 px (6 px) around the block, a 1 px frame around it, the top light over the frame from 12 px in,
     and the room's lift under it. Box shadows never take room, so nothing moves */
  --op-fill: #0a1526;
  --op-frame: color-mix(in srgb, var(--sala-cyan) 16%, var(--sala-line));
  --op-light: color-mix(in srgb, var(--sala-cyan) 72%, transparent);
  --op-viewbar: #08131f;
  --op-band: var(--sala-bg);
  --op-shell: 0 0 0 7px var(--op-fill), 0 -13px 0 -5px var(--op-light), 0 0 0 8px var(--op-frame), 0 0 18px 6px color-mix(in srgb, var(--sala-cyan) 5%, transparent), 0 12px 30px color-mix(in srgb, var(--sala-bg) 70%, transparent);
  --op-shell-6: 0 0 0 6px var(--op-fill), 0 -13px 0 -6px var(--op-light), 0 0 0 7px var(--op-frame), 0 0 18px 5px color-mix(in srgb, var(--sala-cyan) 5%, transparent), 0 12px 30px color-mix(in srgb, var(--sala-bg) 70%, transparent);
  --op-card-bg: linear-gradient(90deg, transparent, color-mix(in srgb, var(--sala-cyan) 85%, transparent) 16%, color-mix(in srgb, var(--sala-cyan) 25%, transparent) 62%, transparent) top center / calc(100% - 24px) 1px no-repeat, linear-gradient(180deg, var(--sala-glass), var(--sala-glass-2));

  color-scheme: dark;
}
:root[data-theme="operativo"] body { background-color: var(--sala-bg); }

/* ------------------------------------------------------------ ground, links, selection, scrollbars (their colour, never their width) */
:where(:root[data-theme="operativo"]) .ev-app > .main {
  background-color: var(--sala-bg);
  background-image: radial-gradient(ellipse at 50% 45%, transparent 52%, var(--sala-shade) 100%), radial-gradient(120% 70% at 50% -12%, var(--sala-haze), transparent 62%), var(--op-grid);
  background-size: auto, auto, 32px 32px, 32px 32px;
}
:where(:root[data-theme="operativo"]) a { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) a:hover { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) ::selection { background: color-mix(in srgb, var(--sala-cyan) 34%, transparent); color: var(--sala-text); }
:where(:root[data-theme="operativo"]), :where(:root[data-theme="operativo"]) * { scrollbar-color: color-mix(in srgb, var(--sala-cyan) 30%, var(--sala-panel-2)) transparent; }

/* ------------------------------------------------------------ the rail of the screens: dark glass, a luminous right edge, the current screen lit */
:where(:root[data-theme="operativo"]) .ev-app > .rail {
  background: radial-gradient(140% 40% at 0 0, var(--sala-haze), transparent 70%), var(--op-bar), var(--sala-bg);
  border-right-color: var(--op-seam);
  box-shadow: var(--op-glow-r), 1px 0 18px color-mix(in srgb, var(--sala-blue) 10%, transparent);
}
:where(:root[data-theme="operativo"]) .ev-rail-item .ev-ic { color: color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-text-2)); }
:where(:root[data-theme="operativo"]) .ev-logo-dark { display: block; }
:where(:root[data-theme="operativo"]) .ev-logo-light { display: none; }
:where(:root[data-theme="operativo"]) .ev-rail-brand img { filter: drop-shadow(0 0 6px color-mix(in srgb, var(--sala-cyan) 55%, transparent)); }
:where(:root[data-theme="operativo"]) .ev-rail-item:hover { background: color-mix(in srgb, var(--sala-cyan) 7%, var(--sala-panel-2)); color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .ev-rail-item.is-current, :where(:root[data-theme="operativo"]) .ev-rail-item.is-current:hover {
  background: color-mix(in srgb, var(--sala-cyan) 14%, transparent);
  color: var(--sala-cyan-ink);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 45%, transparent), inset 3px 0 0 var(--sala-cyan), 0 0 14px color-mix(in srgb, var(--sala-cyan) 22%, transparent);
}
:where(:root[data-theme="operativo"]) .ev-rail-item.is-current .ev-ic { color: var(--sala-cyan-ink); filter: drop-shadow(0 0 5px color-mix(in srgb, var(--sala-cyan) 60%, transparent)); }
:where(:root[data-theme="operativo"]) .ev-rail-sep { background: linear-gradient(90deg, transparent, var(--op-rim-2), transparent); }
:where(:root[data-theme="operativo"]) .ev-rail-badge { box-shadow: 0 0 0 2px var(--sala-bg-2), 0 0 8px color-mix(in srgb, var(--sala-red) 60%, transparent); }
:where(:root[data-theme="operativo"]) .ev-app:not(.rail-open) .ev-rail-item[data-tip]:hover::after,
:where(:root[data-theme="operativo"]) .ev-app:not(.rail-open) .ev-rail-item[data-tip]:focus-visible::after {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 30%, transparent), var(--sala-lift);
}

/* ------------------------------------------------------------ the top bar: glass, and the cyan to magenta light along its foot */
:where(:root[data-theme="operativo"]) .ev-app > .topbar { background: var(--op-bottom-light), var(--op-bar), var(--sala-bg); border-bottom-color: var(--op-rim); }
:where(:root[data-theme="operativo"]) .ev-crumb-sep { color: var(--sala-line-2); }
:where(:root[data-theme="operativo"]) .ev-cmd { border-color: var(--sala-line-2); background: color-mix(in srgb, var(--sala-bg) 72%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--sala-cyan) 6%, transparent); }
:where(:root[data-theme="operativo"]) .ev-cmd:hover { border-color: color-mix(in srgb, var(--sala-cyan) 55%, transparent); box-shadow: 0 0 12px color-mix(in srgb, var(--sala-cyan) 18%, transparent); }
:where(:root[data-theme="operativo"]) .ev-cmd .ev-ic { color: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .ev-cmd kbd, :where(:root[data-theme="operativo"]) .ev-sheet kbd, :where(:root[data-theme="operativo"]) .ev-palette kbd, :where(:root[data-theme="operativo"]) .wsd-keys kbd {
  border-color: var(--sala-line-2); background: var(--sala-panel-2); color: var(--sala-text-2);
}
:where(:root[data-theme="operativo"]) .ev-svc:hover, :where(:root[data-theme="operativo"]) .ev-svc[aria-expanded="true"] { background: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .ev-dot.ok { box-shadow: 0 0 6px color-mix(in srgb, var(--sala-green) 75%, transparent); }
:where(:root[data-theme="operativo"]) .ev-dot.warn { box-shadow: 0 0 6px color-mix(in srgb, var(--sala-amber) 75%, transparent); }
:where(:root[data-theme="operativo"]) .ev-dot.bad { box-shadow: 0 0 6px color-mix(in srgb, var(--sala-red) 75%, transparent); }
:where(:root[data-theme="operativo"]) .ev-svc .ev-dot.ok { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ev-ok) 22%, transparent), 0 0 9px var(--ev-ok); }
:where(:root[data-theme="operativo"]) .ev-svc .ev-dot.warn { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ev-doubt) 22%, transparent), 0 0 9px var(--ev-doubt); }
:where(:root[data-theme="operativo"]) .ev-svc .ev-dot.bad { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ev-bad) 22%, transparent), 0 0 9px var(--ev-bad); }
:where(:root[data-theme="operativo"]) .ev-demo-chip { border-color: color-mix(in srgb, var(--sala-amber) 45%, var(--sala-line-2)); }
:where(:root[data-theme="operativo"]) .ev-avatar { box-shadow: 0 0 8px color-mix(in srgb, var(--ev-t-persona) 30%, transparent); }

/* ------------------------------------------------------------ buttons, fields, the segmented control: lit as in the room */
:where(:root[data-theme="operativo"]) .ev-btn-primary { background: var(--sala-cyan); box-shadow: 0 0 16px color-mix(in srgb, var(--sala-cyan) 40%, transparent); }
:where(:root[data-theme="operativo"]) .ev-btn-primary:hover { background: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .ev-btn-secondary { border-color: color-mix(in srgb, var(--sala-cyan) 35%, var(--sala-line)); background: color-mix(in srgb, var(--sala-panel-2) 85%, transparent); color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .ev-btn-secondary:hover { border-color: var(--sala-cyan); background: var(--sala-panel-3); color: var(--sala-text); box-shadow: 0 0 12px color-mix(in srgb, var(--sala-cyan) 25%, transparent); }
:where(:root[data-theme="operativo"]) .ev-btn-secondary .ev-ic { color: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .ev-btn-ghost:hover, :where(:root[data-theme="operativo"]) .ev-icon-btn:hover { background: var(--sala-panel-3); color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .ev-btn[aria-pressed="true"], :where(:root[data-theme="operativo"]) .ev-icon-btn[aria-pressed="true"] { background: var(--seg-on); color: var(--sala-cyan-ink); box-shadow: var(--op-lit); }
:where(:root[data-theme="operativo"]) .ev-btn-danger { border-color: color-mix(in srgb, var(--sala-red) 50%, transparent); background: color-mix(in srgb, var(--sala-red) 7%, var(--sala-panel)); }
:where(:root[data-theme="operativo"]) .ev-btn-danger:hover { box-shadow: 0 0 12px color-mix(in srgb, var(--sala-red) 28%, transparent); }
:where(:root[data-theme="operativo"]) .ev-input, :where(:root[data-theme="operativo"]) .ev-select { border-color: var(--sala-line-2); background-color: var(--sala-bg-2); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--sala-cyan) 5%, transparent); }
:where(:root[data-theme="operativo"]) .ev-input:hover, :where(:root[data-theme="operativo"]) .ev-select:hover { border-color: color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-line-2)); }
:where(:root[data-theme="operativo"]) .ev-input:focus, :where(:root[data-theme="operativo"]) .ev-input:focus-visible, :where(:root[data-theme="operativo"]) .ev-select:focus-visible {
  border-color: var(--sala-cyan); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sala-cyan) 22%, transparent), 0 0 14px color-mix(in srgb, var(--sala-cyan) 22%, transparent);
}
:where(:root[data-theme="operativo"]) .ev-select option { background: var(--sala-panel); }
:where(:root[data-theme="operativo"]) .ev-search-field > .ev-ic, :where(:root[data-theme="operativo"]) .ev-select-wrap > .ev-ic { color: color-mix(in srgb, var(--sala-cyan) 70%, var(--sala-text-3)); }
:where(:root[data-theme="operativo"]) .ev-check, :where(:root[data-theme="operativo"]) .lat-check input { accent-color: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .ev-segmented { border-color: var(--sala-line); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .ev-segmented button:hover { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .ev-segmented button[aria-pressed="true"] { background: var(--seg-on); color: var(--sala-cyan-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 60%, transparent), 0 0 12px color-mix(in srgb, var(--sala-cyan) 28%, transparent); }
:where(:root[data-theme="operativo"]) .ws-switch-track { background: var(--sala-panel-3); box-shadow: inset 0 0 0 1px var(--sala-line-2); }
:where(:root[data-theme="operativo"]) .ws-switch input:checked + .ws-switch-track { background: var(--sala-cyan); box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 45%, transparent); }

/* the controls of before (the .osint-* classes kept their own dark colours): the same light */
:where(:root[data-theme="operativo"]) .osint-close, :where(:root[data-theme="operativo"]) .osint-btn { border-color: color-mix(in srgb, var(--sala-cyan) 28%, var(--sala-line)); background: color-mix(in srgb, var(--sala-panel-2) 85%, transparent); color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-close:hover, :where(:root[data-theme="operativo"]) .osint-btn:hover { border-color: var(--sala-cyan); background: var(--sala-panel-3); color: var(--sala-text); box-shadow: 0 0 12px color-mix(in srgb, var(--sala-cyan) 22%, transparent); }
:where(:root[data-theme="operativo"]) .osint-btn.primary { border-color: var(--sala-cyan); background: var(--sala-cyan); color: var(--sala-on-cyan); box-shadow: 0 0 16px color-mix(in srgb, var(--sala-cyan) 35%, transparent); }
:where(:root[data-theme="operativo"]) .osint-btn.primary:hover { background: var(--sala-cyan-ink); color: var(--sala-on-cyan); }
:where(:root[data-theme="operativo"]) .osint-btn.danger { border-color: color-mix(in srgb, var(--sala-red) 45%, transparent); background: color-mix(in srgb, var(--sala-red) 10%, var(--sala-panel)); color: var(--sala-red); }
:where(:root[data-theme="operativo"]) .osint-btn.danger:hover { background: color-mix(in srgb, var(--sala-red) 18%, var(--sala-panel)); color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .osint-btn.ghost { border-color: transparent; background: transparent; color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-btn.ghost:hover { background: var(--sala-panel-3); color: var(--sala-cyan-ink); box-shadow: none; }
:where(:root[data-theme="operativo"]) .osint-btn.quiet { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-btn[aria-expanded="true"] { border-color: var(--sala-cyan); background: var(--seg-on); color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .ws-empty-open { border-color: var(--sala-cyan); background: var(--sala-cyan); color: var(--sala-on-cyan); box-shadow: 0 0 16px color-mix(in srgb, var(--sala-cyan) 35%, transparent); }
:where(:root[data-theme="operativo"]) .osint-link { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .osint-link:hover { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .osint-input, :where(:root[data-theme="operativo"]) .osint-textarea { border-color: var(--sala-line-2); background: var(--sala-bg-2); color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .osint-input:focus, :where(:root[data-theme="operativo"]) .osint-textarea:focus { border-color: var(--sala-cyan); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sala-cyan) 22%, transparent), 0 0 14px color-mix(in srgb, var(--sala-cyan) 22%, transparent); }
:where(:root[data-theme="operativo"]) .osint-input::placeholder, :where(:root[data-theme="operativo"]) .osint-textarea::placeholder { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .osint-input[readonly] { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-caption, :where(:root[data-theme="operativo"]) .osint-field > label { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .osint-help { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .osint-note { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-hint-text, :where(:root[data-theme="operativo"]) .osint-host, :where(:root[data-theme="operativo"]) .osint-date { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .osint-kbd { border-color: var(--sala-line-2); background: var(--sala-panel-2); color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-toggle { border-color: var(--sala-line-2); background: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .osint-toggle:checked { border-color: var(--sala-cyan); background: color-mix(in srgb, var(--sala-cyan) 55%, var(--sala-panel)); box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 35%, transparent); }
:where(:root[data-theme="operativo"]) .osint-menu { border-color: var(--op-rim-2); background: var(--op-top-light), linear-gradient(180deg, var(--sala-panel-2), var(--sala-panel)); box-shadow: var(--op-float); }
:where(:root[data-theme="operativo"]) .osint-menu-item { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .osint-menu-item:hover { background: color-mix(in srgb, var(--sala-cyan) 10%, var(--sala-panel-2)); color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .osint-menu-item.danger { color: var(--sala-red); }
:where(:root[data-theme="operativo"]) .osint-dot { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .osint-dot.ok::before { box-shadow: 0 0 0 2px color-mix(in srgb, #35d0a5 20%, transparent), 0 0 7px #35d0a5; }
:where(:root[data-theme="operativo"]) .osint-dot.warn::before { box-shadow: 0 0 0 2px color-mix(in srgb, #f5b84b 20%, transparent), 0 0 7px #f5b84b; }
:where(:root[data-theme="operativo"]) .osint-dot.down::before { box-shadow: 0 0 0 2px color-mix(in srgb, #ef4444 20%, transparent), 0 0 7px #ef4444; }

/* ------------------------------------------------------------ titles: small uppercase captions in the monospaced face (same size, same tracking) */
:where(:root[data-theme="operativo"]) .ev-section-label, :where(:root[data-theme="operativo"]) .ev-home-profiles-label, :where(:root[data-theme="operativo"]) .ev-sheet-group,
:where(:root[data-theme="operativo"]) .ev-palette-group-label, :where(:root[data-theme="operativo"]) .lat-h, :where(:root[data-theme="operativo"]) .lat-sub,
:where(:root[data-theme="operativo"]) .wsd-h, :where(:root[data-theme="operativo"]) .fx-eyebrow, :where(:root[data-theme="operativo"]) .fx-vtitle,
:where(:root[data-theme="operativo"]) .fx-sec-title, :where(:root[data-theme="operativo"]) .fx .osint-caption, :where(:root[data-theme="operativo"]) .g-legend h5,
:where(:root[data-theme="operativo"]) .nm-label, :where(:root[data-theme="operativo"]) .tl-tip-kind, :where(:root[data-theme="operativo"]) .run-ld-eyebrow,
:where(:root[data-theme="operativo"]) .run-log-eyebrow, :where(:root[data-theme="operativo"]) .run-card-eyebrow, :where(:root[data-theme="operativo"]) .ck-count {
  font-family: var(--sala-mono);
}
:where(:root[data-theme="operativo"]) .ev-section-label, :where(:root[data-theme="operativo"]) .lat-h, :where(:root[data-theme="operativo"]) .wsd-h,
:where(:root[data-theme="operativo"]) .fx-sec-title, :where(:root[data-theme="operativo"]) .fx .osint-caption, :where(:root[data-theme="operativo"]) .nm-label,
:where(:root[data-theme="operativo"]) .ev-sheet-group, :where(:root[data-theme="operativo"]) .ev-palette-group-label { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .fx-eyebrow { color: var(--sala-cyan); }

/* ------------------------------------------------------------ glass: the panels that float (popovers, menus, sheets, the palette, modals, drawers, cards) */
:where(:root[data-theme="operativo"]) .ev-popover, :where(:root[data-theme="operativo"]) .ev-sheet, :where(:root[data-theme="operativo"]) .ev-palette,
:where(:root[data-theme="operativo"]) .ev-boot, :where(:root[data-theme="operativo"]) .run-card {
  border-color: var(--op-rim-2);
  background: var(--op-top-light), linear-gradient(180deg, var(--sala-panel-2), var(--sala-panel));
  box-shadow: var(--op-float);
}
:where(:root[data-theme="operativo"]) .ev-pop-head, :where(:root[data-theme="operativo"]) .ev-pop-foot, :where(:root[data-theme="operativo"]) .ev-palette-top,
:where(:root[data-theme="operativo"]) .ev-palette-foot, :where(:root[data-theme="operativo"]) .ev-shortcut, :where(:root[data-theme="operativo"]) .nm-head,
:where(:root[data-theme="operativo"]) .ev-boot-foot { border-color: color-mix(in srgb, var(--sala-cyan) 10%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .ev-menu-item:hover, :where(:root[data-theme="operativo"]) .ev-menu-item:focus { background: color-mix(in srgb, var(--sala-cyan) 10%, var(--sala-panel-2)); }
:where(:root[data-theme="operativo"]) .ev-menu-item .ev-ic { color: color-mix(in srgb, var(--sala-cyan) 70%, var(--sala-text-3)); }
:where(:root[data-theme="operativo"]) .ev-palette-item[aria-selected="true"] { background: var(--ev-brand-soft); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 40%, transparent), 0 0 12px color-mix(in srgb, var(--sala-cyan) 14%, transparent); }
:where(:root[data-theme="operativo"]) .ev-palette-ic { box-shadow: inset 0 0 0 1px var(--sala-line); }
:where(:root[data-theme="operativo"]) .ev-palette-item[aria-selected="true"] .ev-palette-ic { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 45%, transparent), 0 0 10px color-mix(in srgb, var(--sala-cyan) 25%, transparent); }
:where(:root[data-theme="operativo"]) .ev-palette-layer, :where(:root[data-theme="operativo"]) .ev-sheet-layer { background: var(--ev-overlay); }
:where(:root[data-theme="operativo"]) .osint-modal-layer, :where(:root[data-theme="operativo"]) .osint-dialog-layer { background: var(--ev-overlay); }
:where(:root[data-theme="operativo"]) .osint-modal { border-color: var(--op-rim-2); background: var(--op-top-light), var(--op-solid); box-shadow: var(--op-float); }
:where(:root[data-theme="operativo"]) .osint-modal-head, :where(:root[data-theme="operativo"]) .osint-modal-foot { border-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .osint-modal-title { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .osint-modal-sub, :where(:root[data-theme="operativo"]) .osint-modal-foot .left { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .osint-dialog .osint-modal-body { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .osint-mono-note { color: var(--sala-text-3); }
:where(:root[data-theme="operativo"]) .ev-drawer, :where(:root[data-theme="operativo"]) .ws-drawer, :where(:root[data-theme="operativo"]) .ck-drawer, :where(:root[data-theme="operativo"]) .ws-inv {
  border-left-color: var(--op-rim-2);
  background: var(--op-top-light), var(--op-solid);
  box-shadow: var(--sala-edge), -1px 0 0 color-mix(in srgb, var(--sala-cyan) 10%, transparent), -14px 0 40px var(--sala-shade);
}
:where(:root[data-theme="operativo"]) .ev-drawer-head, :where(:root[data-theme="operativo"]) .ev-drawer-foot, :where(:root[data-theme="operativo"]) .wsd-head,
:where(:root[data-theme="operativo"]) .wsd-foot, :where(:root[data-theme="operativo"]) .ck-head { border-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .wsd-foot { background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .ev-drawer-layer { background: var(--ev-overlay); }
:where(:root[data-theme="operativo"]) .ev-card { border-color: var(--op-rim); background: var(--op-top-light), var(--op-glass); box-shadow: var(--sala-edge), var(--sala-lift); }
:where(:root[data-theme="operativo"]) .ev-review-card, :where(:root[data-theme="operativo"]) .wsd-card, :where(:root[data-theme="operativo"]) .ck-card,
:where(:root[data-theme="operativo"]) .lat-run, :where(:root[data-theme="operativo"]) .fx-summary {
  border-color: var(--sala-line); background: var(--op-card); box-shadow: var(--sala-edge);
}
:where(:root[data-theme="operativo"]) .ev-review-card:hover, :where(:root[data-theme="operativo"]) .lat-run:hover { border-color: color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-line-2)); background: var(--op-card); box-shadow: var(--sala-edge), 0 0 14px color-mix(in srgb, var(--sala-cyan) 16%, transparent); }
:where(:root[data-theme="operativo"]) .ck-card.is-saved { border-color: var(--sala-cyan); box-shadow: var(--sala-edge), 0 0 12px color-mix(in srgb, var(--sala-cyan) 18%, transparent); }
:where(:root[data-theme="operativo"]) .ck-card.is-changed { border-color: color-mix(in srgb, var(--sala-amber) 55%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .ev-review-ic.is-info, :where(:root[data-theme="operativo"]) .ev-review-ic.is-doubt, :where(:root[data-theme="operativo"]) .ev-empty-icon {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 40%, transparent), 0 0 14px color-mix(in srgb, currentColor 22%, transparent);
}
:where(:root[data-theme="operativo"]) .ev-review-ic .ev-ic, :where(:root[data-theme="operativo"]) .ev-empty-icon .ev-ic { filter: drop-shadow(0 0 4px color-mix(in srgb, currentColor 60%, transparent)); }

/* ------------------------------------------------------------ toasts, tooltips and the banners */
:where(:root[data-theme="operativo"]) .ev-toast { background: var(--op-glass), var(--toast-bg); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 28%, transparent), 0 0 18px color-mix(in srgb, var(--sala-cyan) 12%, transparent), var(--ev-shadow-3); backdrop-filter: blur(10px); }
:where(:root[data-theme="operativo"]) .ev-toast > .ev-ic { color: var(--sala-cyan); filter: drop-shadow(0 0 5px currentColor); }
:where(:root[data-theme="operativo"]) .ev-toast-action { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .ev-toast-close:hover { background: color-mix(in srgb, var(--sala-cyan) 12%, transparent); }
:where(:root[data-theme="operativo"]) .osint-tool[data-tip]:hover::after, :where(:root[data-theme="operativo"]) .osint-tool[data-tip]:focus-visible::after {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 30%, transparent), var(--sala-lift);
}
:where(:root[data-theme="operativo"]) .ev-win-banner { border-bottom-color: var(--op-rim-2); background: var(--op-bottom-light), var(--op-bar), var(--sala-bg); }
:where(:root[data-theme="operativo"]) .ev-narrow-notice { box-shadow: inset 3px 0 0 var(--sala-amber), inset 6px 0 12px -6px color-mix(in srgb, var(--sala-amber) 50%, transparent); }
:where(:root[data-theme="operativo"]) .osint-pivot-banner { border-color: var(--op-rim-2); border-left-color: var(--sala-cyan); background: var(--op-top-light), var(--op-solid); box-shadow: var(--op-float), -4px 0 14px -6px var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .ws-filter-banner { background: color-mix(in srgb, var(--sala-amber) 14%, var(--sala-panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-amber) 40%, transparent), 0 0 14px color-mix(in srgb, var(--sala-amber) 18%, transparent), var(--sala-lift); }
:where(:root[data-theme="operativo"]) .run-banner { border-bottom-color: color-mix(in srgb, var(--sala-amber) 35%, var(--sala-line)); box-shadow: 0 1px 12px -4px color-mix(in srgb, var(--sala-amber) 45%, transparent); }
:where(:root[data-theme="operativo"]) .run-banner.is-replay { border-bottom-color: color-mix(in srgb, var(--sala-blue) 35%, var(--sala-line)); box-shadow: 0 1px 12px -4px color-mix(in srgb, var(--sala-blue) 45%, transparent); }

/* ------------------------------------------------------------ Casos (home): the page on the grid, the cards and the table in glass */
:where(:root[data-theme="operativo"]) .ev-table th { border-bottom-color: color-mix(in srgb, var(--sala-cyan) 30%, var(--sala-line)); background: color-mix(in srgb, var(--sala-panel-2) 70%, transparent); }
:where(:root[data-theme="operativo"]) .ev-table td { border-bottom-color: color-mix(in srgb, var(--sala-cyan) 9%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .ev-table tbody tr.is-selected td:first-child { box-shadow: inset 2px 0 0 var(--sala-cyan), inset 8px 0 10px -6px color-mix(in srgb, var(--sala-cyan) 55%, transparent); }
:where(:root[data-theme="operativo"]) .ev-case-code { color: color-mix(in srgb, var(--sala-cyan) 55%, var(--sala-text-2)); }
:where(:root[data-theme="operativo"]) .ev-bar > i { box-shadow: 0 0 8px color-mix(in srgb, var(--ev-ok) 70%, transparent); }
:where(:root[data-theme="operativo"]) .ev-status::before { box-shadow: 0 0 6px currentColor; }
:where(:root[data-theme="operativo"]) .ev-status.is-running { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 40%, transparent), 0 0 10px color-mix(in srgb, var(--sala-cyan) 18%, transparent); }
:where(:root[data-theme="operativo"]) .ev-status.is-awaiting { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-amber) 40%, transparent), 0 0 10px color-mix(in srgb, var(--sala-amber) 18%, transparent); }
:where(:root[data-theme="operativo"]) .ev-status.is-demo { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-blue) 40%, transparent); }
:where(:root[data-theme="operativo"]) .ev-status.is-bad { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-red) 40%, transparent), 0 0 10px color-mix(in srgb, var(--sala-red) 18%, transparent); }
:where(:root[data-theme="operativo"]) .ev-home-bulk, :where(:root[data-theme="operativo"]) .ev-filter-note { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 35%, transparent); }
:where(:root[data-theme="operativo"]) .ev-home-note { box-shadow: -3px 0 12px -6px var(--sala-amber); }
:where(:root[data-theme="operativo"]) .ev-route { box-shadow: inset 0 0 0 1px var(--sala-line-2); }

/* ------------------------------------------------------------ the workspace: the header, the lateral panel, the bar of the views, the tools rail */
:where(:root[data-theme="operativo"]) .ws-head, :where(:root[data-theme="operativo"]) .run-head { background: var(--op-bottom-light), var(--op-bar), var(--sala-bg); border-bottom-color: var(--op-rim); }
:where(:root[data-theme="operativo"]) .ws-code, :where(:root[data-theme="operativo"]) .run-code { background: color-mix(in srgb, var(--sala-cyan) 10%, var(--sala-panel-2)); color: var(--sala-cyan-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 35%, transparent), 0 0 10px color-mix(in srgb, var(--sala-cyan) 14%, transparent); }
:where(:root[data-theme="operativo"]) .ws-title-btn:hover { border-color: var(--op-rim-2); background: var(--sala-panel-2); }
:where(:root[data-theme="operativo"]) .ws-snap { border-left-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .ws-vsep, :where(:root[data-theme="operativo"]) .ws-sep { background: var(--op-rim-2); }
:where(:root[data-theme="operativo"]) .ws-chip { border-color: var(--op-rim); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .ws-chip:hover, :where(:root[data-theme="operativo"]) .ws-chip[aria-expanded="true"] { border-color: color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-line-2)); background: var(--sala-panel-2); }
:where(:root[data-theme="operativo"]) .ws-chip-dot { box-shadow: 0 0 7px var(--ev-ok); }
:where(:root[data-theme="operativo"]) .ws-chip.is-singuardar .ws-chip-dot, :where(:root[data-theme="operativo"]) .ws-chip.is-demo .ws-chip-dot { box-shadow: 0 0 7px var(--ev-doubt); }
:where(:root[data-theme="operativo"]) .ws-chip.is-terminada .ws-chip-dot { box-shadow: 0 0 7px var(--ev-brand); }
:where(:root[data-theme="operativo"]) .ws-chip.is-viendo .ws-chip-dot { box-shadow: 0 0 7px var(--ev-info); }
:where(:root[data-theme="operativo"]) .ws-chip.is-error .ws-chip-dot { box-shadow: 0 0 7px var(--ev-bad); }
:where(:root[data-theme="operativo"]) .ws-lateral { border-right-color: var(--op-seam); background: transparent; box-shadow: var(--op-glow-r); }
:where(:root[data-theme="operativo"]) .lat-grp-head:hover, :where(:root[data-theme="operativo"]) .lat-more:hover { background: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .lat-row:hover { background: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .lat-row.is-selected { background: color-mix(in srgb, var(--sala-cyan) 13%, var(--sala-panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 40%, transparent), inset 3px 0 0 var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .lat-swatch { box-shadow: 0 0 6px var(--c, var(--ev-t-otro)); }
:where(:root[data-theme="operativo"]) .lat-new { box-shadow: 0 0 7px var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .lat-badge { box-shadow: 0 0 8px color-mix(in srgb, var(--sala-cyan) 50%, transparent); }
:where(:root[data-theme="operativo"]) .lat-chip { border-color: var(--op-rim); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .lat-chip:hover { border-color: color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-line-2)); }
:where(:root[data-theme="operativo"]) .lat-chip.is-off { background: transparent; }
:where(:root[data-theme="operativo"]) .lat-link:hover, :where(:root[data-theme="operativo"]) .lat-link[aria-pressed="true"] { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .ws-viewbar { background: var(--op-viewbar); border-bottom-color: var(--op-seam); }
:where(:root[data-theme="operativo"]) .ws-tab[aria-selected="true"]::after { background: transparent; }
:where(:root[data-theme="operativo"]) .ws-tab[aria-selected="true"] .ev-ic { color: var(--sala-cyan); filter: drop-shadow(0 0 4px color-mix(in srgb, var(--sala-cyan) 60%, transparent)); }
:where(:root[data-theme="operativo"]) .osint-dock { border-left-color: var(--op-seam); background: var(--op-solid); box-shadow: var(--op-glow-l), var(--sala-edge); }
:where(:root[data-theme="operativo"]) .osint-tool { color: color-mix(in srgb, var(--sala-cyan) 40%, var(--sala-text-2)); }
:where(:root[data-theme="operativo"]) .osint-tool:hover { background: var(--sala-panel-3); color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .osint-tool.on { background: color-mix(in srgb, var(--sala-cyan) 14%, transparent); color: var(--sala-cyan-ink); box-shadow: var(--op-lit); }
:where(:root[data-theme="operativo"]) .osint-tool.on::before { box-shadow: 0 0 8px var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .osint-tool .count { box-shadow: 0 0 0 2px var(--sala-panel); }
:where(:root[data-theme="operativo"]) .osint-tool.on .count { box-shadow: 0 0 0 2px var(--sala-panel), 0 0 8px color-mix(in srgb, var(--sala-cyan) 55%, transparent); }
:where(:root[data-theme="operativo"]) .osint-dock-sep { background: var(--op-rim-2); }

/* ------------------------------------------------------------ the stage: deep navy with its grid; hubs and leaves glow in their family hue; edges and the lens flow in cyan */
:where(:root[data-theme="operativo"]) .g-stage-col { background: var(--sala-bg-2); }
:where(:root[data-theme="operativo"]) .g-stage, :where(:root[data-theme="operativo"]) .ws.is-run .ws-view {
  background-color: var(--sala-bg-2);
  background-image: radial-gradient(ellipse at 50% 45%, transparent 55%, var(--sala-shade) 100%), radial-gradient(120% 70% at 50% -12%, var(--sala-haze), transparent 62%), var(--op-grid);
  background-size: auto, auto, 32px 32px, 32px 32px;
}
:where(:root[data-theme="operativo"]) .g-edge.member { stroke-opacity: 0.42; }
:where(:root[data-theme="operativo"]) .g-edge.spine { stroke-opacity: 0.38; }
:where(:root[data-theme="operativo"]) .g-edge.spine.is-lit, :where(:root[data-theme="operativo"]) .g-stage .g-edge.is-flow, :where(:root[data-theme="operativo"]) .g-stage .g-pivot.is-flow {
  stroke: var(--sala-cyan); stroke-opacity: 1; filter: drop-shadow(0 0 3px color-mix(in srgb, var(--sala-cyan) 75%, transparent));
}
:where(:root[data-theme="operativo"]) .g-lens-edge { stroke: var(--sala-cyan); filter: drop-shadow(0 0 3px color-mix(in srgb, var(--sala-cyan) 75%, transparent)); }
:where(:root[data-theme="operativo"]) .g-lens-arrow { fill: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .g-subject .g-disc { filter: drop-shadow(0 0 14px color-mix(in srgb, var(--sala-cyan) 55%, transparent)); }
:where(:root[data-theme="operativo"]) .g-hub .g-disc {
  background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--gc) 36%, var(--ev-stage)), color-mix(in srgb, var(--gc) 14%, var(--ev-stage)));
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--gc) 60%, transparent));
}
:where(:root[data-theme="operativo"]) .g-leaf .g-disc { filter: drop-shadow(0 0 5px color-mix(in srgb, var(--gc) 55%, transparent)); }
:where(:root[data-theme="operativo"]) .g-leaf.is-sel .g-disc { filter: drop-shadow(0 0 10px var(--gc)); }
:where(:root[data-theme="operativo"]) .g-leaf.v-discarded .g-disc, :where(:root[data-theme="operativo"]) .g-leaf.is-more .g-disc { filter: none; }
:where(:root[data-theme="operativo"]) .g-pill { background: color-mix(in srgb, var(--sala-panel) 88%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gc) 55%, transparent), 0 0 10px color-mix(in srgb, var(--gc) 26%, transparent); }
:where(:root[data-theme="operativo"]) .g-rel-label { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 25%, transparent); }
:where(:root[data-theme="operativo"]) .g-mark.supplied { color: var(--ev-stage); }
:where(:root[data-theme="operativo"]) .g-img { filter: saturate(0.92) brightness(0.95); }
:where(:root[data-theme="operativo"]) .osint-branch-toggle { box-shadow: 0 0 0 3px var(--ev-stage), 0 0 10px color-mix(in srgb, var(--branch-col, var(--ev-brand)) 45%, transparent); }
:where(:root[data-theme="operativo"]) .ws-stage-tools, :where(:root[data-theme="operativo"]) .map-tools { border-color: var(--op-rim); background: var(--sala-glass-2); box-shadow: var(--sala-edge), var(--sala-lift); }
:where(:root[data-theme="operativo"]) .ws-select-sm .ev-select { border-color: transparent; background-color: transparent; box-shadow: none; }
:where(:root[data-theme="operativo"]) .ws-select-sm .ev-select:hover { background-color: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .g-counters, :where(:root[data-theme="operativo"]) .g-legend, :where(:root[data-theme="operativo"]) .map-note { border-color: var(--op-rim); box-shadow: var(--sala-edge), var(--shadow-float); }
:where(:root[data-theme="operativo"]) .g-counters > div { border-left-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .g-counters > div > strong { text-shadow: 0 0 12px color-mix(in srgb, var(--sala-cyan) 45%, transparent); }
:where(:root[data-theme="operativo"]) .g-counters > .is-reviewed > strong { text-shadow: 0 0 12px color-mix(in srgb, var(--sala-green) 45%, transparent); }
:where(:root[data-theme="operativo"]) .g-legend-type .swatch { box-shadow: 0 0 6px var(--c, var(--ev-t-otro)); }
:where(:root[data-theme="operativo"]) .g-legend-type[aria-pressed="false"] .swatch { box-shadow: inset 0 0 0 1.5px var(--c, var(--ev-t-otro)); }
:where(:root[data-theme="operativo"]) .g-lens { border-color: var(--op-rim-2); background: var(--op-top-light), var(--sala-glass-2); box-shadow: var(--op-float); backdrop-filter: blur(10px); }
:where(:root[data-theme="operativo"]) .g-lens-img { box-shadow: 0 0 12px color-mix(in srgb, var(--gc) 45%, transparent); }
:where(:root[data-theme="operativo"]) .osint-stage-hint { background: color-mix(in srgb, var(--sala-bg-2) 80%, transparent); }

/* ------------------------------------------------------------ the Ficha: glass, its tabs and its glance chips lit */
:where(:root[data-theme="operativo"]) .osint-ficha.column { border-left-color: var(--op-seam); background: transparent; box-shadow: var(--op-glow-l); }
:where(:root[data-theme="operativo"]) .osint-ficha.drawer { border-left-color: var(--op-rim-2); background: var(--op-top-light), var(--op-solid); box-shadow: var(--sala-edge), -14px 0 40px var(--sala-shade); }
:where(:root[data-theme="operativo"]) .osint-ficha.float { border-color: var(--op-rim-2); background: var(--op-top-light), var(--op-solid); box-shadow: var(--op-float); }
:where(:root[data-theme="operativo"]) .fx-head { border-bottom-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .fx-media { box-shadow: 0 0 14px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 28%, transparent); }
:where(:root[data-theme="operativo"]) .fx-media.is-ini, :where(:root[data-theme="operativo"]) .fx-media.has-img { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 60%, transparent), 0 0 14px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 40%, transparent); }
:where(:root[data-theme="operativo"]) .fx-pill-role { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 40%, transparent), 0 0 8px color-mix(in srgb, var(--sala-cyan) 18%, transparent); }
:where(:root[data-theme="operativo"]) .fx-new-dot { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ev-brand) 25%, transparent), 0 0 8px var(--ev-brand); }
:where(:root[data-theme="operativo"]) .fx-seg { border-color: var(--sala-line); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .fx-seg-opt.on { background: var(--seg-on); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 50%, transparent), 0 0 10px color-mix(in srgb, var(--sala-cyan) 20%, transparent); }
:where(:root[data-theme="operativo"]) .fx-seg-opt.on .ev-ic { filter: drop-shadow(0 0 4px currentColor); }
:where(:root[data-theme="operativo"]) .fx-tabs, :where(:root[data-theme="operativo"]) .fx-glance { background: transparent; border-bottom-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .fx-subtabs { background: transparent; }
:where(:root[data-theme="operativo"]) .fx-tab:hover { background: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .fx-tab.on { border-color: color-mix(in srgb, var(--sala-cyan) 55%, transparent); background: color-mix(in srgb, var(--sala-cyan) 16%, var(--sala-panel)); color: var(--sala-cyan-ink); box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 22%, transparent); }
:where(:root[data-theme="operativo"]) .fx-chip { border-color: var(--sala-line); background: var(--op-card); box-shadow: var(--sala-edge); }
:where(:root[data-theme="operativo"]) .fx-chip:hover { border-color: var(--sala-cyan); box-shadow: var(--sala-edge), 0 0 12px color-mix(in srgb, var(--sala-cyan) 20%, transparent); }
:where(:root[data-theme="operativo"]) .fx-chip.is-hot { border-color: color-mix(in srgb, var(--ev-ok) 50%, var(--sala-line)); box-shadow: var(--sala-edge), 0 0 12px color-mix(in srgb, var(--ev-ok) 18%, transparent); }
:where(:root[data-theme="operativo"]) .fx-vhist-list, :where(:root[data-theme="operativo"]) .fx-cap-print { box-shadow: inset 0 0 0 1px var(--sala-line); }
:where(:root[data-theme="operativo"]) .fx-why { box-shadow: -2px 0 10px -5px var(--sala-amber); }

/* ------------------------------------------------------------ the lower panel: Evidencia, Asistente and Bitácora */
:where(:root[data-theme="operativo"]) .ws-dock {
  border-top-color: var(--op-seam);
  background: var(--op-top-light), var(--op-solid);
  box-shadow: var(--op-glow-t);
}
:where(:root[data-theme="operativo"]) .ws-dock.is-drawer { border-left-color: var(--op-rim-2); box-shadow: var(--sala-edge), -14px 0 40px var(--sala-shade); }
:where(:root[data-theme="operativo"]) .ws-dock-tab:hover { background: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .ws-dock.is-open .ws-dock-tab[aria-selected="true"], :where(:root[data-theme="operativo"]) .ws-dock.is-drawer .ws-dock-tab[aria-selected="true"] {
  background: color-mix(in srgb, var(--sala-cyan) 14%, transparent); color: var(--sala-cyan-ink); box-shadow: var(--op-lit);
}
:where(:root[data-theme="operativo"]) .ws-dock-pane, :where(:root[data-theme="operativo"]) .dk-tools, :where(:root[data-theme="operativo"]) .dk-chat-foot { border-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .dk-ev-row, :where(:root[data-theme="operativo"]) .dk-log-row { border-bottom-color: color-mix(in srgb, var(--sala-cyan) 9%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .dk-ev-glyph { border-color: var(--op-rim); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .dk-ev-row[data-evidence-kind="rama"] .dk-ev-glyph { box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 25%, transparent); }
:where(:root[data-theme="operativo"]) .dk-ev-ident { box-shadow: inset 0 0 0 1px var(--sala-line); }
:where(:root[data-theme="operativo"]) .dk-ev-ident::before { box-shadow: 0 0 6px var(--ev-neutral); }
:where(:root[data-theme="operativo"]) .dk-ev-ident.is-subject::before, :where(:root[data-theme="operativo"]) .dk-ev-ident.is-analyst::before { box-shadow: 0 0 6px var(--ev-ok); }
:where(:root[data-theme="operativo"]) .dk-ev-ident.is-supplied::before { box-shadow: 0 0 6px var(--ev-info); }
:where(:root[data-theme="operativo"]) .dk-ev-ident.is-doubt::before { box-shadow: 0 0 6px var(--ev-doubt); }
:where(:root[data-theme="operativo"]) .dk-ev-ident.is-unconfirmed::before { box-shadow: 0 0 6px var(--ev-bad); }
:where(:root[data-theme="operativo"]) .dk-chip { border-color: var(--op-rim); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .dk-chip:hover:not(:disabled) { border-color: color-mix(in srgb, var(--sala-cyan) 55%, var(--sala-line-2)); box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 18%, transparent); }
:where(:root[data-theme="operativo"]) .dk-cite-n { box-shadow: 0 0 8px color-mix(in srgb, var(--sala-cyan) 14%, transparent); }
:where(:root[data-theme="operativo"]) .osint-asst-turn .q { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 30%, transparent); }
:where(:root[data-theme="operativo"]) .osint-asst-turn .a .who-ic { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 30%, transparent), 0 0 10px color-mix(in srgb, var(--sala-cyan) 18%, transparent); }
:where(:root[data-theme="operativo"]) .dk-log-kind { background: color-mix(in srgb, currentColor 8%, transparent); box-shadow: 0 0 8px color-mix(in srgb, currentColor 18%, transparent); }
:where(:root[data-theme="operativo"]) .dk-log-row.is-live { box-shadow: inset 3px 0 0 var(--sala-cyan); }

/* ------------------------------------------------------------ the Tabla: a lit head and luminous separators between the rows */
:where(:root[data-theme="operativo"]) .tbl-view, :where(:root[data-theme="operativo"]) .tl-view, :where(:root[data-theme="operativo"]) .map-view { background: var(--op-solid); }
:where(:root[data-theme="operativo"]) .tbl-bar, :where(:root[data-theme="operativo"]) .tbl-tools, :where(:root[data-theme="operativo"]) .tl-bar { border-bottom-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .tbl-tab[aria-selected="true"]::after { background: var(--sala-cyan); box-shadow: 0 0 10px var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .tbl-table th { background: linear-gradient(180deg, var(--sala-panel-2), var(--sala-panel)); color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .tbl-sort.is-sorted .ev-ic { filter: drop-shadow(0 0 4px var(--sala-cyan)); }
:where(:root[data-theme="operativo"]) .tbl-badge { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 35%, transparent), 0 0 8px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 25%, transparent); }
:where(:root[data-theme="operativo"]) .tbl-conf .bar i { box-shadow: 0 0 6px currentColor; }
:where(:root[data-theme="operativo"]) .tbl-conf.high .bar i { color: var(--ev-brand); }
:where(:root[data-theme="operativo"]) .tbl-conf.review .bar i { color: var(--ev-doubt); }
:where(:root[data-theme="operativo"]) .tbl-cite { border-color: var(--op-rim); background: var(--sala-glass-2); }
:where(:root[data-theme="operativo"]) .tbl-cite:hover { border-color: color-mix(in srgb, var(--sala-cyan) 55%, var(--sala-line-2)); box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 16%, transparent); }

/* ------------------------------------------------------------ the Línea de tiempo: a lit axis, faint cyan lines, glowing marks */
:where(:root[data-theme="operativo"]) .tl-axis { border-bottom-color: color-mix(in srgb, var(--sala-cyan) 30%, var(--sala-line)); background: linear-gradient(180deg, var(--sala-panel-2), var(--sala-panel)); }
:where(:root[data-theme="operativo"]) .tl-gridline { background: color-mix(in srgb, var(--sala-cyan) 14%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .tl-lane { border-bottom-color: color-mix(in srgb, var(--sala-cyan) 8%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .tl-lane.is-selected { box-shadow: inset 3px 0 0 var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .tl-track::before { background: linear-gradient(90deg, color-mix(in srgb, var(--sala-cyan) 10%, transparent), color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-line-2)), color-mix(in srgb, var(--sala-cyan) 10%, transparent)); }
:where(:root[data-theme="operativo"]) .tl-dot { background: color-mix(in srgb, var(--gc, var(--ev-t-otro)) 50%, var(--ev-surface)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 16%, transparent), 0 0 10px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 75%, transparent); }
:where(:root[data-theme="operativo"]) .tl-mark.is-approx .tl-dot { box-shadow: none; }
:where(:root[data-theme="operativo"]) .tl-mark.is-new .tl-dot { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ev-brand) 35%, transparent), 0 0 12px var(--ev-brand); }
:where(:root[data-theme="operativo"]) .tl-tip { border-color: var(--op-rim-2); background: var(--op-top-light), var(--sala-glass-2); box-shadow: var(--op-float); backdrop-filter: blur(10px); }
:where(:root[data-theme="operativo"]) .tl-tip.is-pinned { border-color: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .tl-hint, :where(:root[data-theme="operativo"]) .map-hint { border-top-color: var(--sala-line); }

/* ------------------------------------------------------------ the Mapa (drawn here) and the maps of tiles (the heat map, the routes of a profile) */
:where(:root[data-theme="operativo"]) .map-canvas { background-color: var(--sala-bg-2); background-image: radial-gradient(ellipse at 50% 45%, transparent 55%, var(--sala-shade) 100%), var(--op-grid); background-size: auto, 32px 32px, 32px 32px; }
:where(:root[data-theme="operativo"]) .map-svg { filter: drop-shadow(0 0 3px color-mix(in srgb, var(--sala-cyan) 30%, transparent)); }
:where(:root[data-theme="operativo"]) .map-country { fill: color-mix(in srgb, var(--sala-blue) 5%, var(--ev-stage)); stroke: color-mix(in srgb, var(--sala-cyan) 45%, var(--sala-line-2)); }
:where(:root[data-theme="operativo"]) .map-dept { fill: color-mix(in srgb, var(--sala-blue) 7%, var(--ev-stage)); stroke: color-mix(in srgb, var(--sala-cyan) 55%, var(--sala-line-2)); }
:where(:root[data-theme="operativo"]) .map-dot { box-shadow: 0 0 0 2px var(--ev-stage), 0 0 0 8px color-mix(in srgb, var(--gc, var(--ev-t-lugar)) 18%, transparent), 0 0 16px color-mix(in srgb, var(--gc, var(--ev-t-lugar)) 75%, transparent); }
:where(:root[data-theme="operativo"]) .map-pin.is-cluster .map-dot { box-shadow: 0 0 0 2px var(--ev-stage), 0 0 0 9px color-mix(in srgb, var(--ev-brand) 18%, transparent), 0 0 18px var(--ev-brand); }
:where(:root[data-theme="operativo"]) .map-pin.is-selected .map-dot { box-shadow: 0 0 0 2px var(--ev-stage), 0 0 0 4.5px var(--ev-text), 0 0 18px color-mix(in srgb, var(--gc, var(--ev-t-lugar)) 80%, transparent); }
:where(:root[data-theme="operativo"]) .map-plabel { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 14%, transparent); }
:where(:root[data-theme="operativo"]) .map-side { border-left-color: var(--op-rim); background: var(--op-solid); }
:where(:root[data-theme="operativo"]) .map-pop, :where(:root[data-theme="operativo"]) .map-card { border-color: var(--op-rim-2); background: var(--op-top-light), var(--op-solid); box-shadow: var(--op-float); }
:where(:root[data-theme="operativo"]) .map-pop-head { border-bottom-color: var(--sala-line); }
:where(:root[data-theme="operativo"]) .map-pop-item.is-selected, :where(:root[data-theme="operativo"]) .map-side-row.is-selected { box-shadow: inset 3px 0 0 var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .ws-heat, :where(:root[data-theme="operativo"]) .osint-heat-canvas { background: var(--sala-bg-2); }
:where(:root[data-theme="operativo"]) .osint-heat-note { border-top-color: var(--sala-line); }
/* the map library inserts its own stylesheet after this one, so these keep the full weight of the root; the room's map (.sala-op .so-map,
   later in the page and as heavy) keeps its own */
:root[data-theme="operativo"] .leaflet-container { background: var(--sala-bg-2); }
:root[data-theme="operativo"] .leaflet-tile-pane { filter: invert(0.92) grayscale(1) sepia(0.6) hue-rotate(185deg) saturate(3.5) brightness(0.7) contrast(1.2); }
:root[data-theme="operativo"] .leaflet-bar { border-color: var(--sala-line-2); box-shadow: var(--sala-lift); }
:root[data-theme="operativo"] .leaflet-bar a { border-bottom-color: var(--sala-line); background-color: var(--sala-glass-2); color: var(--sala-cyan-ink); }
:root[data-theme="operativo"] .leaflet-bar a:hover { background-color: var(--sala-panel-3); color: var(--sala-text); }
:root[data-theme="operativo"] .leaflet-control-attribution { background: var(--sala-glass-2); color: var(--sala-text-3); }
:root[data-theme="operativo"] .leaflet-control-attribution a { color: var(--sala-text-2); }

/* ------------------------------------------------------------ the node menu, the drawers' parts, the run and its checkpoint */
:where(:root[data-theme="operativo"]) .nm-av { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 45%, transparent), 0 0 10px color-mix(in srgb, var(--gc, var(--ev-t-otro)) 30%, transparent); }
:where(:root[data-theme="operativo"]) .nm-group + .nm-group { border-top-color: color-mix(in srgb, var(--sala-cyan) 10%, var(--sala-line)); }
:where(:root[data-theme="operativo"]) .wsd-origin, :where(:root[data-theme="operativo"]) .wsd-verified, :where(:root[data-theme="operativo"]) .wsd-note { box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent); }
:where(:root[data-theme="operativo"]) .run-progress-top > [data-progress-top], :where(:root[data-theme="operativo"]) .run-ld-bar > i { box-shadow: 0 0 10px var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .run-ld.is-paused .run-ld-bar > i { box-shadow: 0 0 10px var(--sala-amber); }
:where(:root[data-theme="operativo"]) .run-ld.is-done .run-ld-bar > i { box-shadow: 0 0 10px var(--sala-green); }
:where(:root[data-theme="operativo"]) .run-ld { border-top-color: var(--op-rim-2); }
:where(:root[data-theme="operativo"]) .run-ld-num { text-shadow: 0 0 18px color-mix(in srgb, var(--sala-cyan) 45%, transparent); }
:where(:root[data-theme="operativo"]) .run-step.is-current { box-shadow: var(--op-lit); }
:where(:root[data-theme="operativo"]) .run-step.is-done .d { box-shadow: 0 0 6px var(--ev-ok); }
:where(:root[data-theme="operativo"]) .run-step.is-current .d { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ev-brand) 25%, transparent), 0 0 8px var(--ev-brand); }
:where(:root[data-theme="operativo"]) .ck-proposal { border-top-color: var(--sala-line); }

/* ============================================================ the room's components, on the surfaces of the main window
   What sala-tema.css draws for .sala-panel, .sala-panel-title, .so-chip, .ev-segmented, .so-figure and .so-ev, applied to the classes of
   estilos-osint.css. Nothing here takes room: a block without padding becomes a panel through a shell of box shadows (--op-shell); a
   region that is already positioned (the views, the tabs) draws its frame or its pressed pill on an absolutely placed pseudo element
   that lets the pointer through; the titles change their face, ink and tracking only. */

/* ------------------------------------------------------------ titles: the room's panel title (white ink, monospaced, tracked, at the app's own
   size) and a lit marker in the icon slot */
:where(:root[data-theme="operativo"]) .lat-h, :where(:root[data-theme="operativo"]) .fx-sec-title, :where(:root[data-theme="operativo"]) .fx .osint-caption,
:where(:root[data-theme="operativo"]) .fx-vtitle, :where(:root[data-theme="operativo"]) .fx-eyebrow, :where(:root[data-theme="operativo"]) .wsd-h,
:where(:root[data-theme="operativo"]) .g-legend h5, :where(:root[data-theme="operativo"]) .ev-section-label {
  color: var(--sala-text); font-family: var(--sala-mono); letter-spacing: var(--sala-tracking);
}
:where(:root[data-theme="operativo"]) .fx-eyebrow { color: var(--sala-cyan); text-shadow: 0 0 8px color-mix(in srgb, var(--sala-cyan) 45%, transparent); }
:where(:root[data-theme="operativo"]) .lat-n, :where(:root[data-theme="operativo"]) .fx-sec-title .n { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .lat-h::before, :where(:root[data-theme="operativo"]) .fx-sec-title::before, :where(:root[data-theme="operativo"]) .fx .osint-caption::before {
  content: ''; flex: none; width: 6px; height: 6px; margin: 0 3px 0 1px; transform: rotate(45deg); border-radius: 1px;
  background: var(--sala-cyan); box-shadow: 0 0 6px color-mix(in srgb, var(--sala-cyan) 80%, transparent);
}

/* ------------------------------------------------------------ the lateral panel: its blocks are room panels on the ground of the room */
:where(:root[data-theme="operativo"]) .lat-section:has(> .lat-h), :where(:root[data-theme="operativo"]) .lat-section:has(> .lat-more) {
  border-radius: 5px; background-color: var(--op-fill); box-shadow: var(--op-shell);
}
:where(:root[data-theme="operativo"]) .lat-grp-head:hover, :where(:root[data-theme="operativo"]) .lat-more:hover { background: color-mix(in srgb, var(--sala-cyan) 8%, var(--sala-panel-3)); }
:where(:root[data-theme="operativo"]) .lat-grp-head[aria-expanded="true"] { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .lat-row.is-selected { box-shadow: var(--sala-ring); }
/* the verdict chips: the room's chip, glowing in the tone of the verdict (green confirmed, amber in doubt, grey not reviewed) */
:where(:root[data-theme="operativo"]) .lat-chip {
  --op-hue: var(--sala-cyan);
  border-color: color-mix(in srgb, var(--op-hue) 55%, transparent); background: color-mix(in srgb, var(--op-hue) 14%, var(--sala-panel));
  color: color-mix(in srgb, var(--op-hue) 30%, var(--sala-text)); box-shadow: 0 0 10px color-mix(in srgb, var(--op-hue) 26%, transparent);
}
:where(:root[data-theme="operativo"]) .lat-chip.v-confirmed { --op-hue: var(--sala-green); }
:where(:root[data-theme="operativo"]) .lat-chip.v-doubt { --op-hue: var(--sala-amber); }
:where(:root[data-theme="operativo"]) .lat-chip.v-unreviewed, :where(:root[data-theme="operativo"]) .lat-chip.v-discarded { --op-hue: var(--sala-text-3); box-shadow: none; }
:where(:root[data-theme="operativo"]) .lat-chip .lat-n { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .lat-chip:hover { border-color: var(--op-hue); box-shadow: 0 0 14px color-mix(in srgb, var(--op-hue) 36%, transparent); }
:where(:root[data-theme="operativo"]) .lat-chip.is-off { background: transparent; box-shadow: none; }
:where(:root[data-theme="operativo"]) .lat-run { border-color: var(--sala-line); background: var(--op-card-bg); box-shadow: var(--sala-edge); }
:where(:root[data-theme="operativo"]) .lat-run > .ev-ic { color: var(--sala-cyan); filter: drop-shadow(0 0 4px color-mix(in srgb, var(--sala-cyan) 60%, transparent)); }

/* ------------------------------------------------------------ the bar of the views and the tabs of the Tabla: the room's segmented control */
:where(:root[data-theme="operativo"]) .ws-tabs {
  border-radius: 12px; background-color: var(--sala-glass-2);
  box-shadow: inset 0 0 0 4px var(--op-viewbar), inset 0 0 0 5px var(--sala-line);
}
:where(:root[data-theme="operativo"]) .ws-tab, :where(:root[data-theme="operativo"]) .tbl-tab { isolation: isolate; }
:where(:root[data-theme="operativo"]) .ws-tab:hover:not(:disabled)::before, :where(:root[data-theme="operativo"]) .ws-tab[aria-selected="true"]::before,
:where(:root[data-theme="operativo"]) .tbl-tab:hover::before, :where(:root[data-theme="operativo"]) .tbl-tab[aria-selected="true"]::before {
  content: ''; position: absolute; inset: 7px 6px; z-index: -1; border-radius: 7px; pointer-events: none; background: var(--sala-panel-3);
}
:where(:root[data-theme="operativo"]) .tbl-tab:hover::before, :where(:root[data-theme="operativo"]) .tbl-tab[aria-selected="true"]::before { content: ''; inset: 2px 2px 4px; }
:where(:root[data-theme="operativo"]) .ws-tab[aria-selected="true"]::before, :where(:root[data-theme="operativo"]) .tbl-tab[aria-selected="true"]::before {
  background: color-mix(in srgb, var(--sala-cyan) 16%, var(--sala-panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 60%, transparent), 0 0 12px color-mix(in srgb, var(--sala-cyan) 28%, transparent);
}
:where(:root[data-theme="operativo"]) .ws-tab[aria-selected="true"], :where(:root[data-theme="operativo"]) .tbl-tab[aria-selected="true"] { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .tbl-tab[aria-selected="true"]::after { background: transparent; box-shadow: none; }
:where(:root[data-theme="operativo"]) .ws-viewbar .ev-icon-btn { border-color: color-mix(in srgb, var(--sala-cyan) 22%, var(--sala-line)); background: var(--sala-glass-2); }

/* ------------------------------------------------------------ the views: the stage, the Tabla, the Línea de tiempo and the Mapa sit in a room
   panel. The frame is drawn over the view (which already holds its children in place), lets every click through, and its outer shadow
   fills the four rounded corners with the ground */
/* the stage and the Mapa have nothing at their edges, so their frame also cuts a 5 px strip of ground around the panel, the gap of the room */
:where(:root[data-theme="operativo"]) .ws-view.is-grafo:not(.is-sala)::after, :where(:root[data-theme="operativo"]) .ws-view.is-mapa:not(.is-sala)::after {
  box-shadow: 0 0 0 8px var(--op-band), inset 0 0 0 5px var(--op-band), inset 0 0 0 6px var(--op-frame), inset 0 0 34px 6px color-mix(in srgb, var(--sala-blue) 9%, transparent);
  background-position: top 5px center;
}
:where(:root[data-theme="operativo"]) .ws-view:not(.is-sala)::after {
  content: ''; position: absolute; inset: 0; z-index: 9; border-radius: 12px; pointer-events: none;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--sala-cyan) 85%, transparent) 16%, color-mix(in srgb, var(--sala-cyan) 25%, transparent) 62%, transparent) top center / calc(100% - 24px) 1px no-repeat;
  box-shadow: 0 0 0 8px var(--op-band), inset 0 0 0 1px var(--op-frame), inset 0 0 34px color-mix(in srgb, var(--sala-blue) 9%, transparent);
}
:where(:root[data-theme="operativo"]) .ws-stage-tools, :where(:root[data-theme="operativo"]) .map-tools { border-color: var(--op-frame); background: var(--op-card-bg); box-shadow: var(--sala-edge), var(--sala-lift); }
:where(:root[data-theme="operativo"]) .ws-stage-tools .ev-icon-btn .ev-ic, :where(:root[data-theme="operativo"]) .ws-stage-tools .ev-btn .ev-ic { color: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .osint-stage-hint { background: transparent; color: var(--sala-text-2); }
/* the labels of the stage in the room's inks */
:where(:root[data-theme="operativo"]) .g-label .name, :where(:root[data-theme="operativo"]) .g-subject-label .name { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .g-label .cap, :where(:root[data-theme="operativo"]) .g-subject-label .cap { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .g-pill { color: var(--sala-text); }
/* the totals: the room's figures (monospaced numbers with glow, captions in small caps, the accent rule under each) */
:where(:root[data-theme="operativo"]) .g-counters { border-color: var(--op-frame); background: linear-gradient(180deg, var(--sala-glass), var(--sala-glass-2)); }
:where(:root[data-theme="operativo"]) .g-counters > div { background: linear-gradient(90deg, var(--sala-cyan), transparent) 12px calc(100% - 3px) / 28px 2px no-repeat; }
:where(:root[data-theme="operativo"]) .g-counters > .is-reviewed { background-image: linear-gradient(90deg, var(--sala-green), transparent); }
:where(:root[data-theme="operativo"]) .g-counters > div > strong { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .g-counters > .is-reviewed > strong { color: var(--sala-green); }
:where(:root[data-theme="operativo"]) .g-counters > div > span { color: var(--sala-text-2); font-family: var(--sala-mono); letter-spacing: 0.04em; text-transform: uppercase; }
/* the Leyenda, folded: a room chip */
:where(:root[data-theme="operativo"]) .g-legend:not(.is-open) {
  border-color: color-mix(in srgb, var(--sala-cyan) 55%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--sala-cyan) 14%, var(--sala-panel));
  box-shadow: 0 0 10px color-mix(in srgb, var(--sala-cyan) 26%, transparent);
}
:where(:root[data-theme="operativo"]) .g-legend:not(.is-open) .g-legend-toggle { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .g-legend.is-open { border-color: var(--op-frame); background: var(--op-card-bg); }

/* ------------------------------------------------------------ the bar of the case: the room's chips */
:where(:root[data-theme="operativo"]) .ws-chip, :where(:root[data-theme="operativo"]) .ev-status {
  --op-hue: var(--sala-green);
  border-color: color-mix(in srgb, var(--op-hue) 55%, transparent); background: color-mix(in srgb, var(--op-hue) 12%, var(--sala-panel));
  color: color-mix(in srgb, var(--op-hue) 30%, var(--sala-text)); box-shadow: 0 0 10px color-mix(in srgb, var(--op-hue) 24%, transparent);
}
:where(:root[data-theme="operativo"]) .ws-chip.is-terminada, :where(:root[data-theme="operativo"]) .ev-status.is-running, :where(:root[data-theme="operativo"]) .ev-status.is-done { --op-hue: var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .ws-chip.is-viendo, :where(:root[data-theme="operativo"]) .ev-status.is-demo { --op-hue: var(--sala-blue); }
:where(:root[data-theme="operativo"]) .ws-chip.is-singuardar, :where(:root[data-theme="operativo"]) .ws-chip.is-demo, :where(:root[data-theme="operativo"]) .ev-status.is-awaiting { --op-hue: var(--sala-amber); }
:where(:root[data-theme="operativo"]) .ws-chip.is-error, :where(:root[data-theme="operativo"]) .ev-status.is-bad { --op-hue: var(--sala-red); }
:where(:root[data-theme="operativo"]) .ev-status.is-none, :where(:root[data-theme="operativo"]) .ev-status.is-cancelled { --op-hue: var(--sala-text-3); box-shadow: none; }
:where(:root[data-theme="operativo"]) .ws-chip:hover, :where(:root[data-theme="operativo"]) .ws-chip[aria-expanded="true"] { border-color: var(--op-hue); background: color-mix(in srgb, var(--op-hue) 18%, var(--sala-panel)); }
:where(:root[data-theme="operativo"]) .ws-chip .ev-ic { color: var(--op-hue); }
:where(:root[data-theme="operativo"]) .ws-chip-dot { background: var(--op-hue); box-shadow: 0 0 6px var(--op-hue); }

/* ------------------------------------------------------------ the Ficha: a header card, the segmented verdict, and each block a room panel */
:where(:root[data-theme="operativo"]) .osint-ficha.column .fx-bar {
  border-radius: 12px 12px 0 0; background: var(--op-fill);
  box-shadow: inset 0 6px 0 0 var(--op-band), inset 6px 0 0 0 var(--op-band), inset -6px 0 0 0 var(--op-band),
    inset 0 7px 0 0 var(--op-light), inset 7px 0 0 0 var(--op-frame), inset -7px 0 0 0 var(--op-frame);
}
:where(:root[data-theme="operativo"]) .osint-ficha.column .fx-head {
  border-radius: 0 0 12px 12px; border-bottom-color: var(--op-band); background: var(--op-fill);
  box-shadow: inset 6px 0 0 0 var(--op-band), inset -6px 0 0 0 var(--op-band), inset 0 -6px 0 0 var(--op-band),
    inset 7px 0 0 0 var(--op-frame), inset -7px 0 0 0 var(--op-frame), inset 0 -7px 0 0 var(--op-frame), inset 0 -16px 24px -12px color-mix(in srgb, var(--sala-blue) 10%, transparent);
}
:where(:root[data-theme="operativo"]) .fx-name { color: var(--sala-text); }
:where(:root[data-theme="operativo"]) .fx-body > .fx-sec:not(.fx-summary), :where(:root[data-theme="operativo"]) .fx-body > .fx-prov-line,
:where(:root[data-theme="operativo"]) .fx-body .osint-ficha-section {
  border-radius: 6px; background-color: var(--op-fill); box-shadow: var(--op-shell-6);
}
:where(:root[data-theme="operativo"]) .fx-summary, :where(:root[data-theme="operativo"]) .fx-anchor, :where(:root[data-theme="operativo"]) .osint-faces-cta {
  border-color: var(--op-frame); background: var(--op-card-bg); box-shadow: var(--sala-edge), var(--sala-lift);
}
/* "¿Es él?" sits right on top of the summary card (no margin between them), so the two make one panel: the shell of "¿Es él?" opens at
   its foot and the one of the summary at its head (two shells shifted left and right cover three sides and leave the fourth), and the
   summary stays an inner card of that panel */
:where(:root[data-theme="operativo"]) .fx-body > .fx-support:has(+ .fx-summary) {
  border-radius: 6px 6px 0 0;
  box-shadow: -3px -3px 0 3px var(--op-fill), 3px -3px 0 3px var(--op-fill), 0 -13px 0 -6px var(--op-light),
    -3.5px -3.5px 0 3.5px var(--op-frame), 3.5px -3.5px 0 3.5px var(--op-frame);
}
:where(:root[data-theme="operativo"]) .fx-body > .fx-support + .fx-summary {
  box-shadow: var(--sala-edge), -3.5px 2.5px 0 2.5px var(--op-fill), 3.5px 2.5px 0 2.5px var(--op-fill),
    -4px 3px 0 3px var(--op-frame), 4px 3px 0 3px var(--op-frame), 0 12px 30px color-mix(in srgb, var(--sala-bg) 70%, transparent);
}
:where(:root[data-theme="operativo"]) .fx-anchor-chip { background: color-mix(in srgb, var(--sala-cyan) 8%, var(--sala-panel-2)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-cyan) 22%, transparent); }
:where(:root[data-theme="operativo"]) .fx-anchor-chip i { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .fx-prop { border-bottom-color: color-mix(in srgb, var(--sala-cyan) 10%, var(--sala-line)); }
/* the verdict segmented: pressed in the tone of the verdict */
:where(:root[data-theme="operativo"]) .fx-seg-opt.on.v-confirmed { background: color-mix(in srgb, var(--sala-green) 16%, var(--sala-panel)); color: var(--sala-text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-green) 60%, transparent), 0 0 12px color-mix(in srgb, var(--sala-green) 28%, transparent); }
:where(:root[data-theme="operativo"]) .fx-seg-opt.on.v-doubt { background: color-mix(in srgb, var(--sala-amber) 16%, var(--sala-panel)); color: var(--sala-text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-amber) 60%, transparent), 0 0 12px color-mix(in srgb, var(--sala-amber) 28%, transparent); }
:where(:root[data-theme="operativo"]) .fx-seg-opt.on.v-discarded { background: color-mix(in srgb, var(--sala-red) 16%, var(--sala-panel)); color: var(--sala-text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sala-red) 60%, transparent), 0 0 12px color-mix(in srgb, var(--sala-red) 28%, transparent); }
:where(:root[data-theme="operativo"]) .fx-seg-opt.on.v-unreviewed { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .fx-tab.on .count { color: var(--sala-cyan-ink); }

/* ------------------------------------------------------------ the lower panel: its tabs as the room's segmented group, its rows as the room's log and evidence rows */
:where(:root[data-theme="operativo"]) .ws-dock-tabs { border-radius: 9px; background: var(--sala-glass-2); box-shadow: 0 0 0 2px var(--sala-glass-2), 0 0 0 3px var(--sala-line); }
:where(:root[data-theme="operativo"]) .ws-dock-count { color: var(--sala-text-2); }
:where(:root[data-theme="operativo"]) .ws-dock-phase { color: var(--sala-cyan-ink); }
:where(:root[data-theme="operativo"]) .dk-log-row, :where(:root[data-theme="operativo"]) .dk-ev-row {
  --op-hue: var(--sala-cyan);
  border-bottom-color: var(--sala-panel); background-color: color-mix(in srgb, var(--sala-panel-2) 82%, transparent);
  box-shadow: inset 0 2px 0 0 var(--sala-panel), inset 0 -1px 0 0 var(--sala-panel), inset 3px 0 0 0 var(--op-hue), inset 10px 0 12px -10px color-mix(in srgb, var(--op-hue) 60%, transparent);
}
:where(:root[data-theme="operativo"]) .dk-log-row:hover, :where(:root[data-theme="operativo"]) .dk-ev-row:hover { background-color: var(--sala-panel-3); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-doubt) { --op-hue: var(--sala-amber); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-persona) { --op-hue: var(--ev-t-persona); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-org) { --op-hue: var(--ev-t-org); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-info) { --op-hue: var(--sala-blue); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-contacto) { --op-hue: var(--ev-t-contacto); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-ok) { --op-hue: var(--sala-green); }
:where(:root[data-theme="operativo"]) .dk-log-row:has(.k-bad) { --op-hue: var(--sala-red); }
:where(:root[data-theme="operativo"]) .dk-log-row.is-live { box-shadow: inset 0 2px 0 0 var(--sala-panel), inset 4px 0 0 0 var(--sala-cyan-ink), inset 12px 0 14px -10px var(--sala-cyan); }
:where(:root[data-theme="operativo"]) .dk-log-t { color: var(--sala-text-2); }
/* the phase of a log line: the room's chip in its hue */
:where(:root[data-theme="operativo"]) .dk-log-kind { border-color: color-mix(in srgb, currentColor 55%, transparent); background: color-mix(in srgb, currentColor 14%, var(--sala-panel)); box-shadow: 0 0 10px color-mix(in srgb, currentColor 24%, transparent); }

/* ------------------------------------------------------------ the rail: the current screen in the room's ring */
:where(:root[data-theme="operativo"]) .ev-rail-item.is-current, :where(:root[data-theme="operativo"]) .ev-rail-item.is-current:hover {
  box-shadow: inset 0 0 0 1px var(--sala-cyan), 0 0 0 3px color-mix(in srgb, var(--sala-cyan) 16%, transparent), 0 0 18px color-mix(in srgb, var(--sala-cyan) 28%, transparent);
}

/* ------------------------------------------------------------ the Tabla: the room's list rows (glass, the ground between them, a bar in the
   hue of the family at the left), its verdicts as the room's chips, a tracked head */
:where(:root[data-theme="operativo"]) .tbl-table tbody td {
  border-bottom-color: var(--op-band); background-color: color-mix(in srgb, var(--sala-panel-2) 70%, transparent);
  box-shadow: inset 0 2px 0 0 var(--op-band);
}
:where(:root[data-theme="operativo"]) .tbl-table tbody tr td:first-child { box-shadow: inset 0 2px 0 0 var(--op-band), inset 3px 0 0 0 var(--op-hue, var(--sala-cyan)), inset 10px 0 12px -10px var(--op-hue, var(--sala-cyan)); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:has(.fam-persona) { --op-hue: var(--ev-t-persona); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:has(.fam-org) { --op-hue: var(--ev-t-org); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:has(.fam-contacto) { --op-hue: var(--ev-t-contacto); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:has(.fam-doc) { --op-hue: var(--ev-t-doc); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:has(.fam-lugar) { --op-hue: var(--ev-t-lugar); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:has(.fam-otro) { --op-hue: var(--ev-t-otro); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr:hover td { background-color: color-mix(in srgb, var(--sala-cyan) 6%, var(--sala-panel-3)); }
:where(:root[data-theme="operativo"]) .tbl-table tbody tr[aria-current="true"] td, :where(:root[data-theme="operativo"]) .tbl-table tbody tr.is-selected td {
  background-color: color-mix(in srgb, var(--sala-cyan) 12%, var(--sala-panel-2));
  box-shadow: inset 0 2px 0 0 var(--op-band), inset 0 -1px 0 0 var(--sala-cyan), inset 0 3px 0 0 var(--sala-cyan);
}
:where(:root[data-theme="operativo"]) .tbl-table tbody tr[aria-current="true"] td:first-child, :where(:root[data-theme="operativo"]) .tbl-table tbody tr.is-selected td:first-child {
  box-shadow: inset 0 2px 0 0 var(--op-band), inset 0 -1px 0 0 var(--sala-cyan), inset 0 3px 0 0 var(--sala-cyan), inset 3px 0 0 0 var(--sala-cyan), inset 12px 0 14px -10px var(--sala-cyan);
}
:where(:root[data-theme="operativo"]) .tbl-v {
  --op-hue: var(--sala-text-3);
  background: color-mix(in srgb, var(--op-hue) 14%, var(--sala-panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--op-hue) 55%, transparent), 0 0 10px color-mix(in srgb, var(--op-hue) 24%, transparent);
}
:where(:root[data-theme="operativo"]) .tbl-v.v-confirmed { --op-hue: var(--sala-green); }
:where(:root[data-theme="operativo"]) .tbl-v.v-doubt { --op-hue: var(--sala-amber); }
:where(:root[data-theme="operativo"]) .tbl-v.v-discarded { --op-hue: var(--sala-red); }
:where(:root[data-theme="operativo"]) .tbl-v.v-unreviewed { border-color: color-mix(in srgb, var(--sala-text-3) 60%, transparent); background: transparent; box-shadow: none; }

/* ------------------------------------------------------------ floating glass: the heads of drawers and modals carry the room's light */
:where(:root[data-theme="operativo"]) .wsd-head, :where(:root[data-theme="operativo"]) .ev-drawer-head, :where(:root[data-theme="operativo"]) .osint-modal-head {
  background: linear-gradient(180deg, color-mix(in srgb, var(--sala-cyan) 6%, transparent), transparent);
}
:where(:root[data-theme="operativo"]) .ev-palette-group-label { color: var(--sala-cyan); }
