html, body {
      height: 100%;
      max-height: 100%;
      overflow: hidden; /* document locked — scroll only inside .content / embeds */
    }
    body {
      display: flex;
      flex-direction: column;
      min-height: 0;
      height: 100%;
      /* Flat HRня canvas — no dual wash seam under embeds. */
      background: var(--omni-bg, #161410);
    }
    /* Allmatch-inspired side rail: collapsed icons → expand on hover / burger.
       Principle from /var/www/allmatch.ru AppShell (not branding). */
    .app-shell {
      /* Align logo band with topbar height; nav starts with content below chrome. */
      --ws-topbar-h: 6rem;
      --sidebar-collapsed-w: 64px;
      --sidebar-expanded-w: 228px;
      --sidebar-icon-slot: 40px;
      --sidebar-logo: 40px;
      --sidebar-rail-pad: 12px;
      --sidebar-motion-dur: 0.24s;
      --sidebar-motion-ease: cubic-bezier(0.4, 0, 0.2, 1);
      --sidebar-label-dur: 0.16s;
      --sidebar-label-ease: cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
      display: flex;
      flex: 1 1 auto;
      min-height: 0;
      min-width: 0;
      width: 100%;
      height: 100%;
      max-height: 100%;
      overflow: hidden;
    }
    .app-frame {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
      height: 100%;
      max-height: 100%;
      overflow: hidden;
    }
    /* Full-viewport dim (Allmatch ::before pattern) — never sized to app-shell height. */
    .app-shell::before {
      content: "";
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      height: 100dvh;
      min-height: 100vh;
      min-height: 100dvh;
      z-index: 45;
      pointer-events: none;
      background: transparent;
      transition: background var(--sidebar-motion-dur) var(--sidebar-label-ease);
    }
    .app-shell:has(.app-sidebar:is(:hover, .app-sidebar--expanded))::before,
    body.is-side-open .app-shell::before {
      background: rgba(0, 0, 0, 0.52);
    }
    /* Invisible click catcher (mobile burger); visual dim is ::before above. */
    .app-shell-dim {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      height: 100dvh;
      min-height: 100vh;
      min-height: 100dvh;
      z-index: 46;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      opacity: 0;
      pointer-events: none;
    }
    body.is-side-open .app-shell-dim {
      opacity: 1;
      pointer-events: auto;
    }
    .app-sidebar {
      position: fixed;
      left: 0;
      top: 0;
      bottom: 0;
      z-index: 50;
      display: flex;
      flex-direction: column;
      width: var(--sidebar-collapsed-w);
      padding: 0 var(--sidebar-rail-pad) 14px;
      box-sizing: border-box;
      background: rgba(22, 20, 16, 0.98);
      border-right: 1px solid rgba(255, 255, 255, 0.06);
      overflow: hidden;
      transition:
        width var(--sidebar-motion-dur) var(--sidebar-motion-ease),
        transform var(--sidebar-motion-dur) var(--sidebar-motion-ease),
        filter var(--sidebar-motion-dur) var(--sidebar-label-ease);
    }
    .app-sidebar:is(:hover, .app-sidebar--expanded) {
      width: var(--sidebar-expanded-w);
      filter: drop-shadow(10px 0 22px rgba(0, 0, 0, 0.38));
    }
    /* Logo band = same height as topbar → structural lock with chrome. */
    .side-brand {
      display: grid;
      grid-template-columns: var(--sidebar-icon-slot) minmax(0, 1fr);
      align-items: center;
      justify-items: stretch;
      column-gap: 0;
      flex: 0 0 var(--ws-topbar-h);
      height: var(--ws-topbar-h);
      min-height: var(--ws-topbar-h);
      min-width: 0;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      text-decoration: none;
      color: var(--omni-text, #f2ebe3);
      overflow: hidden;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .side-brand-logo {
      grid-column: 1;
      justify-self: center;
      align-self: center;
      width: var(--sidebar-logo);
      height: var(--sidebar-logo);
      border-radius: 10px;
      display: block;
      object-fit: contain;
      flex-shrink: 0;
    }
    .side-brand-name {
      grid-column: 2;
      max-width: 0;
      opacity: 0;
      overflow: hidden;
      white-space: nowrap;
      font: 800 1.05rem/1.1 var(--omni-font-display, inherit);
      letter-spacing: 0.08em;
      transition:
        opacity var(--sidebar-label-dur) var(--sidebar-label-ease),
        max-width var(--sidebar-label-dur) var(--sidebar-label-ease);
    }
    .app-sidebar:is(:hover, .app-sidebar--expanded) .side-brand {
      column-gap: 12px;
    }
    .app-sidebar:is(:hover, .app-sidebar--expanded) .side-brand-name {
      max-width: 140px;
      opacity: 1;
      transition-delay: 0.06s;
    }
    /* Nav sits under chrome line — aligns with vacancy/body, not with topbar KPIs. */
    .side-nav {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 6px;
      flex: 1 1 auto;
      min-height: 0;
      width: 100%;
      margin: 0;
      padding: 0.85rem 0 0;
      box-sizing: border-box;
    }
    .side-nav__indicator {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 40px;
      border-radius: 10px;
      background: color-mix(in srgb, var(--omni-accent-dim, rgba(212, 137, 58, 0.16)) 88%, transparent);
      backdrop-filter: blur(10px) saturate(1.15);
      -webkit-backdrop-filter: blur(10px) saturate(1.15);
      box-shadow: inset 0 0 0 1px rgba(228, 154, 76, 0.12);
      opacity: 0;
      pointer-events: none;
      z-index: 0;
      will-change: transform, height;
      transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.18s ease;
    }
    .side-nav__indicator.is-ready { opacity: 1; }
    .side-nav__indicator.is-instant {
      transition: none !important;
    }
    .side-nav button {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: var(--sidebar-icon-slot) minmax(0, 1fr);
      align-items: center;
      width: 100%;
      height: 40px;
      margin: 0;
      padding: 0;
      column-gap: 0;
      border: 0;
      border-radius: 10px;
      background: transparent;
      color: var(--omni-text, #f2ebe3);
      /* Onest ships 500/600/700 only — 750/800 fall back thin. */
      font-family: var(--omni-font-ui, "Onest", system-ui, sans-serif);
      font-weight: 700;
      font-size: 0.9rem;
      line-height: 1.2;
      letter-spacing: -0.01em;
      text-align: left;
      cursor: pointer;
      overflow: hidden;
      transition:
        column-gap var(--sidebar-label-dur) var(--sidebar-label-ease),
        color 0.15s ease,
        background 0.18s ease;
    }
    .app-sidebar:is(:hover, .app-sidebar--expanded) .side-nav button {
      column-gap: 10px;
      transition-delay: 0.06s;
    }
    .side-nav button:hover {
      color: #fff;
      background: rgba(255, 255, 255, 0.06);
    }
    .side-nav button.is-active {
      color: var(--omni-accent-hover, #e49a4c);
      font-weight: 700;
    }
    .side-nav button.is-active:hover {
      background: rgba(228, 154, 76, 0.08);
    }
    .side-nav-ico {
      grid-column: 1;
      justify-self: center;
      width: 22px;
      height: 22px;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .side-nav-ico svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .side-nav-lab {
      grid-column: 2;
      align-self: center;
      justify-self: start;
      max-width: 0;
      opacity: 0;
      overflow: hidden;
      white-space: nowrap;
      font-family: inherit;
      font-weight: 700;
      font-size: inherit;
      line-height: 1.2;
      letter-spacing: inherit;
      text-align: left;
      color: inherit;
      transition:
        opacity var(--sidebar-label-dur) var(--sidebar-label-ease),
        max-width var(--sidebar-label-dur) var(--sidebar-label-ease);
    }
    .app-sidebar:is(:hover, .app-sidebar--expanded) .side-nav-lab {
      max-width: 140px;
      opacity: 1;
      transition-delay: 0.06s;
    }
    .side-foot {
      margin-top: auto;
      padding-top: 10px;
      overflow: hidden;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
    }
    .side-gear.labs-gear {
      appearance: none;
      display: grid;
      grid-template-columns: var(--sidebar-icon-slot) minmax(0, 1fr);
      align-items: center;
      justify-items: stretch;
      width: 100%;
      min-width: 0;
      height: 40px;
      margin: 0;
      padding: 0;
      column-gap: 0;
      border: 0 !important;
      border-radius: 10px;
      background: transparent !important;
      box-shadow: none !important;
      color: var(--omni-text, #f2ebe3);
      font-family: var(--omni-font-ui, "Onest", system-ui, sans-serif);
      font-weight: 700;
      font-size: 0.9rem;
      line-height: 1.2;
      letter-spacing: -0.01em;
      text-align: left;
      cursor: pointer;
      overflow: hidden;
      position: relative;
      flex-shrink: 0;
      place-items: unset;
      transition:
        column-gap var(--sidebar-label-dur) var(--sidebar-label-ease),
        color 0.15s ease,
        background 0.18s ease;
    }
    body.dev-mode .side-gear.labs-gear {
      border: 0 !important;
      box-shadow: none !important;
      color: var(--omni-accent-hover, #e49a4c);
    }
    .app-sidebar:is(:hover, .app-sidebar--expanded) .side-gear.labs-gear {
      column-gap: 10px;
      transition-delay: 0.06s;
    }
    .side-gear.labs-gear:hover {
      color: #fff;
      background: rgba(255, 255, 255, 0.06) !important;
    }
    .side-gear .side-nav-ico {
      position: relative;
      grid-column: 1;
      justify-self: center;
      align-self: center;
      width: 22px;
      height: 22px;
      display: grid;
      place-items: center;
      margin: 0;
    }
    .side-gear .side-nav-ico svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .side-gear .fab-dot {
      position: absolute;
      top: -2px;
      right: -2px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--omni-accent, #d4893a);
      opacity: 0;
    }
    body.dev-mode .side-gear .fab-dot { opacity: 1; }
    /* #labs-mode keeps id for JS; do not inherit topbar .labs-mode (right/uppercase). */
    .side-gear #labs-mode.side-nav-lab,
    .side-gear .side-nav-lab {
      margin: 0;
      padding: 0;
      text-transform: none !important;
      letter-spacing: -0.01em;
      text-shadow: none !important;
      text-align: left !important;
      line-height: 1.2;
      font-family: inherit;
      font-weight: 700;
      font-size: inherit;
      color: inherit;
    }
    .side-burger {
      appearance: none;
      display: none;
      align-items: center;
      justify-content: center;
      width: 2.1rem;
      height: 2.1rem;
      margin: 0 0.35rem 0 0;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 9px;
      background: rgba(255, 255, 255, 0.04);
      color: var(--omni-text, #f2ebe3);
      cursor: pointer;
      flex-shrink: 0;
    }
    .side-burger-bars,
    .side-burger-bars::before,
    .side-burger-bars::after {
      display: block;
      width: 14px;
      height: 1.5px;
      background: currentColor;
      border-radius: 1px;
      position: relative;
    }
    .side-burger-bars::before,
    .side-burger-bars::after {
      content: "";
      position: absolute;
      left: 0;
    }
    .side-burger-bars::before { top: -5px; }
    .side-burger-bars::after { top: 5px; }
    body.is-side-open .side-burger {
      border-color: rgba(212, 137, 58, 0.45);
      color: var(--omni-accent-hover, #e49a4c);
    }
    @media (min-width: 921px) {
      .app-frame {
        padding-left: var(--sidebar-collapsed-w);
      }
      /* Desktop: dim is visual-only via ::before; no click catcher. */
      .app-shell-dim { display: none !important; }
      .side-burger { display: none !important; }
      /* Topbar brand redundant with side rail on desktop */
      .topbar-primary > .brand-block .brand { display: none; }
    }
    @media (max-width: 920px) {
      .side-burger { display: inline-flex; }
      .app-sidebar {
        width: var(--sidebar-expanded-w);
        transform: translateX(-105%);
        filter: none;
      }
      .app-sidebar.app-sidebar--expanded,
      body.is-side-open .app-sidebar {
        transform: translateX(0);
        filter: drop-shadow(10px 0 22px rgba(0, 0, 0, 0.38));
      }
      .app-sidebar .side-brand { column-gap: 12px; }
      .app-sidebar .side-brand-name,
      .app-sidebar .side-nav-lab {
        max-width: 140px;
        opacity: 1;
      }
      .app-sidebar .side-nav button,
      .app-sidebar .side-gear.labs-gear { column-gap: 10px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .app-sidebar,
      .side-brand-name,
      .side-nav-lab,
      .side-nav__indicator,
      .app-shell::before,
      .app-shell-dim {
        transition: none !important;
      }
    }
    .main {
      position: relative;
      z-index: 1;
      flex: 1 1 auto;
      min-height: 0;
    }

    /* Workspace chrome — HRня warm (#161410), no bottom stripe.
       z-index above .main so vacancy/tenant dropdowns are not clipped. */
    .topbar {
      --omni-header-h: auto;
      position: relative;
      z-index: 40;
      min-height: 0;
      height: auto;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 0;
      background: var(--omni-bg, #161410);
      border-bottom: none;
      flex-shrink: 0;
      overflow: visible;
      /* Soft depth under chrome — keep short, not a glow curtain */
      box-shadow: 0 4px 10px -6px rgba(0, 0, 0, 0.55);
      /* Shared with .app-shell logo band so rail/header lock vertically. */
      --ws-topbar-h: 6rem;
    }

    /* Fixed center “dashboard” strip — same box Work ↔ Matching ↔ HRня */
    .topbar {
      --ws-center-w: 36rem;
    }
    /* Brand | center strip | tools — fixed band; center strip same H on Workflow & Matching. */
    .topbar-primary {
      --ws-chrome-admin: 26px;
      --ws-chrome-vac: 1.35rem;
      --ws-chrome-tools-gap: 0.2rem;
      --ws-center-strip-h: 3.6rem;
      display: grid;
      grid-template-columns: minmax(0, 1fr) var(--ws-center-w) minmax(0, 1fr);
      align-items: center;
      gap: 0.55rem 1rem;
      height: var(--ws-topbar-h, 6rem);
      min-height: var(--ws-topbar-h, 6rem);
      padding: 0.75rem clamp(1rem, 2.2vw, 1.75rem);
      box-sizing: border-box;
    }
    /* Topbar stays single-row on all domains — tenant/platform live in Dashboard strip. */
    .topbar-primary > .brand-block {
      justify-self: start;
      align-self: center;
    }
    .topbar-primary > .ws-center-chrome {
      grid-column: 2;
      justify-self: center;
      align-self: center;
      position: relative;
      width: var(--ws-center-w);
      max-width: var(--ws-center-w);
      min-width: var(--ws-center-w);
      height: var(--ws-center-strip-h, 3.6rem);
      min-height: var(--ws-center-strip-h, 3.6rem);
    }
    .topbar-primary > .topbar-tools {
      justify-self: end;
      align-self: center;
      grid-column: 3;
      padding-top: 0;
    }
    /* Matching / HRня: brand | vac-metrics | Admin+gear+vacancy */
    body.is-mg-domain .topbar-primary > .topbar-tools {
      display: flex;
      grid-column: 3;
    }

    /* Center chrome: Workflow nav ↔ Matching/HR KPIs crossfade in one slot. */
    .ws-center-chrome .is-chrome-layer {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      margin: 0;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition:
        opacity 0.38s ease,
        visibility 0s linear 0.38s;
    }
    .ws-center-chrome .is-chrome-layer.is-on {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition:
        opacity 0.38s ease,
        visibility 0s linear 0s;
      z-index: 1;
    }

    .ws-match-metrics {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 1fr;
      align-items: stretch;
      box-sizing: border-box;
      overflow: hidden;
      border: 1px solid var(--omni-border);
      border-radius: 12px;
      background: rgba(30, 27, 23, 0.92);
    }
    .ws-match-metrics .kpi-lab,
    .ws-match-metrics .kpi-val {
      opacity: 1;
      transition: opacity 0.26s ease;
    }
    .ws-match-metrics.is-text-fade .kpi-lab,
    .ws-match-metrics.is-text-fade .kpi-val {
      opacity: 0;
      transition: opacity 0.24s ease;
    }
    /* Soft pending: keep strip silhouette, dim values until live cells arrive.
       Do not fight an in-flight text crossfade. */
    body.is-chrome-pending .ws-match-metrics:not(.is-text-fade) .kpi-lab,
    body.is-chrome-pending .ws-match-metrics:not(.is-text-fade) .kpi-val {
      opacity: 0.28;
      transition: opacity 0.26s ease;
    }
    body.is-chrome-pending .ws-vac-menu:not(.is-vac-off) {
      opacity: 0.45;
      pointer-events: none;
    }
    body.is-booting .topbar-primary > .brand-block .brand {
      visibility: visible;
    }
    .ws-match-metrics .kpi {
      appearance: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.18rem;
      min-width: 0;
      height: 100%;
      margin: 0;
      padding: 0.4rem 0.55rem;
      box-sizing: border-box;
      border: 0;
      border-right: 1px solid var(--omni-border);
      border-radius: 0;
      background: transparent;
      color: var(--omni-text);
      font: inherit;
      text-align: center;
      cursor: default;
      transition:
        background-color 0.15s ease,
        color 0.15s ease;
    }
    .ws-match-metrics button.kpi { cursor: pointer; }
    .ws-match-metrics .kpi:hover {
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.14));
      color: var(--omni-accent-hover, #e49a4c);
    }
    .ws-match-metrics .kpi:hover .kpi-lab {
      color: rgba(228, 154, 76, 0.9);
    }
    .ws-match-metrics button.kpi:hover {
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.18));
      color: var(--omni-accent-hover, #e49a4c);
    }
    .ws-match-metrics button.kpi:hover .kpi-lab {
      color: rgba(228, 154, 76, 0.9);
    }
    .ws-match-metrics button.kpi.is-ok:hover {
      background: rgba(61, 186, 122, 0.14);
      color: #3dba7a;
    }
    .ws-match-metrics button.kpi.is-ok:hover .kpi-lab { color: rgba(61, 186, 122, 0.9); }
    .ws-match-metrics button.kpi.is-bad:hover {
      background: rgba(224, 84, 74, 0.14);
      color: #e0544a;
    }
    .ws-match-metrics button.kpi.is-bad:hover .kpi-lab { color: rgba(224, 84, 74, 0.9); }
    .ws-match-metrics .kpi.is-active {
      color: var(--omni-accent-hover, #e49a4c);
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.16));
    }
    .ws-match-metrics .kpi.is-ok .kpi-val { color: #3dba7a; }
    .ws-match-metrics .kpi.is-bad .kpi-val { color: #e0544a; }
    .ws-match-metrics .kpi.is-active.is-ok {
      color: #3dba7a;
      background: rgba(61, 186, 122, 0.12);
    }
    .ws-match-metrics .kpi.is-active.is-bad {
      color: #e0544a;
      background: rgba(224, 84, 74, 0.12);
    }
    .ws-match-metrics .kpi:last-child { border-right: 0; }
    .ws-match-metrics .kpi-lab {
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--omni-text-muted, #6a6762);
    }
    .ws-match-metrics .kpi.is-active .kpi-lab {
      color: rgba(228, 154, 76, 0.85);
    }
    .ws-match-metrics .kpi.is-active.is-ok .kpi-lab {
      color: rgba(61, 186, 122, 0.9);
    }
    .ws-match-metrics .kpi.is-active.is-bad .kpi-lab {
      color: rgba(224, 84, 74, 0.9);
    }
    .ws-match-metrics .kpi-val {
      font-size: 0.95rem;
      font-weight: 650;
      line-height: 1.2;
      color: inherit;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      /* Never mask/fade values — soft-mask clipped KPI digits in HRня chrome. */
      -webkit-mask-image: none;
      mask-image: none;
    }
    /* Matching long geo/role strings: fade only the right edge of overflowing cells */
    .ws-match-metrics[data-kind="matching"] .kpi-val.is-overflow {
      -webkit-mask-image: linear-gradient(
        90deg,
        #000 0%,
        #000 calc(100% - 0.9em),
        transparent 100%
      );
      mask-image: linear-gradient(
        90deg,
        #000 0%,
        #000 calc(100% - 0.9em),
        transparent 100%
      );
      text-overflow: clip;
    }

    /* Tools: Admin|gear + vacancy row (vac row stays in flow on Workflow, invisible). */
    .topbar-tools-stack {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center;
      gap: var(--ws-chrome-tools-gap, 0.2rem);
      min-width: 0;
      width: 100%;
      max-width: 100%;
      margin-left: auto;
      padding: 0;
      overflow: visible;
    }
    .topbar-tools-row {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      gap: 0.35rem;
      flex-shrink: 0;
      width: max-content;
      max-width: 100%;
    }
    .ws-vac-menu {
      position: relative;
      z-index: 50;
      /* Cap so long «Азбука вкуса | …» / вахта titles never invade KPI strip. */
      width: auto;
      max-width: min(22rem, 100%);
      min-width: 0;
      margin: 0;
      transform: none;
      overflow: visible;
    }
    .ws-vac-menu.is-open {
      z-index: 60;
    }
    .ws-vac-menu[hidden] { display: none !important; }
    /* Workflow: keep height, hide control (do not collapse topbar). */
    .ws-vac-menu.is-vac-off {
      visibility: hidden;
      pointer-events: none;
      min-height: var(--ws-chrome-vac, 1.35rem);
    }
    .ws-vac-trigger {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 0.22rem;
      margin: 0;
      padding: 0.1rem 0;
      border: 0;
      border-radius: 5px;
      background: transparent;
      color: var(--omni-text-secondary, #c4bfb6);
      font: inherit;
      font-size: 0.84rem;
      font-weight: 600;
      line-height: 1.15;
      white-space: nowrap;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      cursor: pointer;
    }
    .ws-vac-trigger #ws-vac-label {
      flex: 1 1 auto;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      text-align: right;
    }
    .ws-vac-trigger .ws-vac-caret {
      flex: 0 0 auto;
    }
    .ws-vac-trigger:hover,
    .ws-vac-menu.is-open .ws-vac-trigger {
      color: var(--omni-accent-hover, #e49a4c);
      background: rgba(212, 137, 58, 0.1);
    }
    .ws-vac-trigger[disabled] { opacity: 0.7; cursor: default; }
    .ws-vac-caret {
      display: inline-block;
      width: 0.45rem;
      height: 0.45rem;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg) translateY(-1px);
      opacity: 0.75;
    }
    .ws-vac-pop {
      position: absolute;
      top: calc(100% + 0.4rem);
      right: 0;
      z-index: 70;
      min-width: min(22rem, 86vw);
      max-width: min(28rem, 92vw);
      margin: 0;
      padding: 0.3rem;
      border: 1px solid var(--omni-border-strong, var(--omni-border));
      border-radius: 12px;
      background: rgba(30, 27, 23, 0.98);
      box-shadow: 0 14px 36px rgba(0, 0, 0, 0.45);
    }
    .ws-vac-pop[hidden] { display: none !important; }
    .ws-vac-tools {
      margin: 0 0 0.35rem;
      padding: 0 0 0.45rem;
      border-bottom: 1px solid var(--omni-border, rgba(255,255,255,0.08));
    }
    .ws-vac-find {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      align-items: center;
    }
    .ws-vac-find input[type="text"] {
      flex: 1 1 7rem;
      min-width: 6rem;
      border-radius: 8px;
      border: 1px solid var(--omni-border-strong, var(--omni-border));
      background: rgba(12, 10, 8, 0.9);
      color: var(--omni-text);
      padding: 0.4rem 0.65rem;
      font: inherit;
      font-size: 0.82rem;
    }
    .ws-vac-find input[type="text"]::placeholder {
      color: var(--omni-text-muted);
    }
    .ws-vac-find input[type="text"]:focus {
      outline: none;
      border-color: var(--omni-accent, #d4893a);
      box-shadow: 0 0 0 2px var(--omni-accent-dim, rgba(212, 137, 58, 0.25));
    }
    .ws-vac-find-go {
      appearance: none;
      border: 1px solid var(--omni-accent, #d4893a);
      background: var(--omni-accent, #d4893a);
      color: #1a120c;
      border-radius: 8px;
      padding: 0.4rem 0.7rem;
      font: inherit;
      font-size: 0.78rem;
      font-weight: 700;
      cursor: pointer;
    }
    .ws-vac-list {
      list-style: none;
      margin: 0;
      padding: 0;
      max-height: min(16rem, 46vh);
      overflow: auto;
    }
    .ws-vac-list button {
      width: 100%;
      display: grid;
      gap: 0.12rem;
      text-align: left;
      border: 0;
      border-radius: 8px;
      background: transparent;
      color: var(--omni-text);
      padding: 0.55rem 0.65rem;
      font: inherit;
      font-size: 0.84rem;
      font-weight: 600;
      cursor: pointer;
    }
    .ws-vac-list button:hover { background: rgba(255, 255, 255, 0.06); }
    .ws-vac-list button.is-active {
      background: var(--omni-accent-dim);
      color: var(--omni-accent-hover);
    }
    .ws-vac-list .vac-pop-title {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      flex-wrap: wrap;
    }
    .ws-vac-list .vac-pop-new {
      display: inline-flex;
      align-items: center;
      padding: 0.08rem 0.36rem;
      border-radius: 999px;
      font-size: 0.58rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: #1a1510;
      background: #3dba7a;
      line-height: 1.2;
      flex-shrink: 0;
    }
    .ws-vac-list .vac-pop-meta {
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--omni-text-muted);
    }
    @media (max-width: 1100px) {
      .topbar { --ws-center-w: min(36rem, calc(100vw - 16rem)); }
      .ws-center-chrome {
        min-width: 0;
      }
    }
    @media (max-width: 960px) {
      .topbar { --ws-center-w: 100%; }
      .topbar-primary {
        grid-template-columns: minmax(0, 1fr) auto;
      }
      .topbar-primary > .brand-block { grid-column: 1; }
      .topbar-primary > .topbar-tools { grid-column: 2; }
      .topbar-primary > .ws-center-chrome {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: auto;
        max-width: none;
        min-width: 0;
      }
    }

    .brand-block {
      display: grid;
      grid-template-columns: max-content;
      justify-items: stretch;
      gap: 0.55rem;
      min-width: 0;
      width: max-content;
      max-width: 100%;
    }
    .brand-row {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      flex-wrap: nowrap;
      width: max-content;
      max-width: 100%;
      min-width: 0;
    }
    #brand-meta-park {
      position: absolute;
      width: 0;
      height: 0;
      overflow: hidden;
      pointer-events: none;
    }
    /* Docked into Dashboard accounts strip (not under OMNI). */
    .brand-meta {
      display: none;
      align-items: stretch;
      gap: 0.55rem;
      box-sizing: border-box;
      min-width: 0;
    }
    .brand-meta[hidden] {
      display: none !important;
    }
    .brand-meta.is-in-dash:not([hidden]) {
      display: inline-flex;
      flex: 0 0 auto;
      width: auto;
      min-width: 0;
      margin: 0;
    }
    .dash-accounts__scope {
      display: inline-flex;
      align-items: stretch;
      flex: 0 0 auto;
      min-width: 0;
      gap: 0.55rem;
    }
    .brand-meta.is-in-dash .topbar-dd {
      flex: 0 1 auto;
      min-width: 7.5rem;
      max-width: 12rem;
    }
    .brand-meta.is-in-dash .meta-link {
      height: auto;
      min-height: 2.15rem;
      padding: 0.4rem 0.7rem;
      border: 1px solid var(--omni-border-strong, var(--omni-border));
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.03);
      margin-bottom: 0;
      color: var(--omni-text-secondary);
    }
    .brand-meta.is-in-dash .meta-link:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: var(--omni-accent-line);
      color: var(--omni-text);
    }
    .brand-meta.is-in-dash .topbar-dd.is-open .meta-link {
      border-color: var(--omni-accent-line);
      background: var(--omni-accent-dim);
      color: var(--omni-text);
    }

    .brand {
      font-family: var(--omni-font-display);
      font-weight: 700;
      font-size: 0.92rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--omni-accent, #d4893a);
      flex-shrink: 0;
    }

    /* Workflow | Matching | HR — one thin-lined segmented block next to OMNI. */
    .domain-nav {
      display: inline-flex;
      flex-wrap: nowrap;
      gap: 0;
      flex-shrink: 0;
      align-items: stretch;
      max-width: 100%;
      margin: 0;
      padding: 0.12rem;
      border: 1px solid var(--omni-border, rgba(138, 134, 128, 0.32));
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.02);
      box-sizing: border-box;
    }
    .domain-nav[hidden] { display: none !important; }
    .domain-nav button {
      font-family: var(--omni-font-ui);
      font-weight: 650;
      font-size: 0.68rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 0.22rem 0.55rem;
      border: 1px solid transparent;
      border-radius: 6px;
      background: transparent;
      color: var(--omni-text-muted, #6a6762);
      cursor: pointer;
      white-space: nowrap;
      position: relative;
      transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
    }
    .domain-nav button + button::before {
      content: "";
      position: absolute;
      left: 0;
      top: 22%;
      bottom: 22%;
      width: 1px;
      background: rgba(138, 134, 128, 0.28);
      pointer-events: none;
    }
    .domain-nav button:hover {
      color: var(--omni-text);
      background: var(--omni-surface, rgba(255, 255, 255, 0.06));
    }
    .domain-nav button.active {
      color: var(--omni-accent-hover, #e49a4c);
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.16));
      border-color: var(--omni-accent-line, rgba(212, 137, 58, 0.45));
    }
    .domain-nav button.active + button::before,
    .domain-nav button.active::before {
      opacity: 0;
    }

    /* Tenant / platform — outlined buttons under OMNI, share brand-row width. */
    .meta-link {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.28rem;
      width: 100%;
      min-width: 0;
      margin: 0;
      padding: 0.28rem 0.45rem;
      border: 1px solid var(--omni-border, rgba(138, 134, 128, 0.28));
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.03);
      color: var(--omni-text-secondary, #c4bfb6);
      font-family: var(--omni-font-ui);
      font-size: 0.68rem;
      font-weight: 650;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      cursor: pointer;
      box-sizing: border-box;
      white-space: nowrap;
    }
    .meta-link:hover {
      color: var(--omni-text);
      border-color: var(--omni-border-strong, rgba(138, 134, 128, 0.45));
      background: rgba(255, 255, 255, 0.06);
    }
    .meta-link__label {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .meta-link__chev {
      width: 0.55rem;
      height: 0.55rem;
      opacity: 0.55;
      flex-shrink: 0;
    }
    .meta-link .topbar-pick__dot {
      width: 6px;
      height: 6px;
      flex-shrink: 0;
    }

    body.is-mg-domain .content.is-matching,
    body.is-mg-domain .content.is-hiring {
      min-height: 0;
      flex: 1;
    }

    .topbar-dd {
      position: relative;
      display: flex;
      min-width: 0;
      max-width: none;
      width: 100%;
    }
    .topbar-dd.is-open .topbar-pick__chev,
    .topbar-dd.is-open .meta-link__chev {
      transform: rotate(180deg);
    }
    .topbar-dd__menu {
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      z-index: 80;
      min-width: max(100%, 180px);
      max-width: min(320px, 70vw);
      max-height: min(320px, 50vh);
      overflow: auto;
      margin: 0;
      padding: 6px;
      list-style: none;
      border-radius: var(--omni-radius);
      border: 1px solid var(--omni-border-strong, var(--omni-border));
      background: var(--omni-bg-elevated, #1c1c1e);
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    }
    .topbar-dd__menu[hidden] { display: none !important; }
    .topbar-dd__opt {
      display: block;
      width: 100%;
      text-align: left;
      border: none;
      background: transparent;
      color: var(--omni-text);
      font: inherit;
      font-size: 13px;
      font-weight: 600;
      padding: 8px 10px;
      border-radius: var(--omni-radius-sm, 6px);
      cursor: pointer;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .topbar-dd__opt:hover,
    .topbar-dd__opt:focus-visible {
      background: var(--omni-surface, #2c2c2e);
      outline: none;
    }
    .topbar-dd__opt.is-active {
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.18));
      color: var(--omni-text);
      box-shadow: inset 0 0 0 1px var(--omni-accent-line, rgba(212, 137, 58, 0.35));
    }
    .topbar-dd__opt.is-muted {
      opacity: 0.45;
      cursor: default;
    }
    .topbar-dd__hint {
      padding: 8px 10px;
      font-size: 12px;
      color: var(--omni-text-muted);
    }
    .topbar-pick__chev {
      transition: transform 0.15s ease;
    }

    .topbar-pick {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 5px 10px;
      border-radius: var(--omni-radius);
      border: 1px solid var(--omni-border);
      background: var(--omni-surface);
      color: var(--omni-text);
      font-family: var(--omni-font-ui);
      font-size: 12px;
      font-weight: 600;
      cursor: pointer;
      white-space: nowrap;
      max-width: 160px;
    }
    .topbar-pick__dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: #2aabee;
      flex-shrink: 0;
    }
    .topbar-pick__chev {
      width: 11px; height: 11px; opacity: 0.55; flex-shrink: 0;
    }
    .topbar-pick__label {
      overflow: hidden;
      text-overflow: ellipsis;
    }

    /* Work tabs = same fixed box as Matching/HRня KPI strip (layer inside .ws-center-chrome) */
    .nav,
    .topbar-subnav {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 1fr;
      align-items: stretch;
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      overflow: hidden;
      padding: 0;
      border: 1px solid var(--omni-border);
      border-radius: 12px;
      background: var(--omni-bg-elevated, #141416);
    }

    .nav button {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.18rem;
      margin: 0;
      min-width: 0;
      height: 100%;
      padding: 0.4rem 0.55rem;
      box-sizing: border-box;
      border: 0;
      border-right: 1px solid var(--omni-border);
      border-radius: 0;
      background: transparent;
      color: var(--omni-text);
      font-family: var(--omni-font-ui);
      font-weight: 650;
      font-size: 0.95rem;
      letter-spacing: -0.01em;
      line-height: 1.15;
      cursor: pointer;
      white-space: nowrap;
      transition:
        color 0.2s ease,
        background-color 0.2s ease;
    }
    .nav button:last-child { border-right: 0; }
    .nav button .nav-seg__lab {
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.01em;
      color: var(--omni-text-muted, #6a6762);
      line-height: 1.2;
    }
    .nav button .nav-seg__val {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .nav button:hover {
      color: var(--omni-accent-hover, #e49a4c);
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.12));
    }
    .nav button:hover .nav-seg__lab {
      color: rgba(228, 154, 76, 0.85);
    }
    .nav button.active {
      color: var(--omni-accent-hover, #e49a4c);
      background: var(--omni-accent-dim, rgba(212, 137, 58, 0.16));
      box-shadow: none;
    }
    .nav button.active .nav-seg__lab {
      color: rgba(228, 154, 76, 0.85);
    }

    .topbar-tools {
      display: flex;
      align-items: flex-start;
      justify-content: flex-end;
      width: 100%;
      min-width: 0;
      flex-shrink: 1;
      overflow: visible;
    }
    .labs-mode {
      font-family: var(--omni-font-ui);
      font-weight: 750;
      font-size: 0.78rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--omni-text, #f2efe9);
      line-height: 26px;
      padding: 0;
      text-align: right;
      flex-shrink: 0;
      text-shadow: 0 0 12px rgba(242, 239, 233, 0.12);
    }
    body.dev-mode .labs-mode { color: var(--omni-accent); text-shadow: none; }
    .labs-gear {
      width: 26px;
      height: 26px;
      padding: 0;
      border-radius: 50%;
      border: 1px solid var(--omni-border-strong);
      background: var(--omni-bg-elevated);
      color: var(--omni-text);
      cursor: pointer;
      display: grid;
      place-items: center;
      position: relative;
      flex-shrink: 0;
    }
    .labs-gear svg {
      width: 13px; height: 13px;
      fill: none; stroke: currentColor; stroke-width: 1.9;
    }
    body.dev-mode .labs-gear {
      border-color: var(--omni-accent-line);
      box-shadow: 0 0 0 2px var(--omni-accent-dim);
      color: var(--omni-accent);
    }
    .labs-gear .fab-dot {
      position: absolute;
      top: 4px; right: 4px;
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--omni-accent);
      opacity: 0;
    }
    body.dev-mode .labs-gear .fab-dot { opacity: 1; }

    .main {
      flex: 1;
      display: flex;
      min-height: 0;
    }

    .content {
      flex: 1;
      padding: 14px 16px 24px;
      overflow: auto;
      min-width: 0;
      display: flex;
      flex-direction: column;
      background: transparent;
    }
    .content.is-crm,
    .content.is-mind,
    .content.is-dash,
    .content.is-ops {
      padding: 0;
      overflow: hidden;
    }
    .content.is-ops {
      padding: 0;
      overflow: auto;
      background:
        radial-gradient(120% 80% at 12% -10%, rgba(212, 137, 58, 0.06), transparent 55%),
        linear-gradient(180deg, #1a1713 0%, var(--omni-bg) 28%, var(--omni-bg-deep, #100e0c) 100%);
    }

    .ops-frame {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      padding: 0 0 24px;
    }
    .ops-subnav {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      padding: 8px 12px 0;
      border-bottom: 1px solid var(--omni-border);
      background: rgba(18, 17, 15, 0.92);
      position: sticky;
      top: 0;
      z-index: 2;
    }
    .ops-subnav__btn {
      appearance: none;
      border: 0;
      background: transparent;
      color: var(--omni-text-muted);
      font: inherit;
      font-size: 13px;
      font-weight: 600;
      padding: 8px 12px 10px;
      cursor: pointer;
      border-bottom: 2px solid transparent;
      margin-bottom: -1px;
    }
    .ops-subnav__btn:hover { color: var(--omni-text); }
    .ops-subnav__btn.is-active {
      color: var(--omni-accent);
      border-bottom-color: var(--omni-accent);
    }
    .ops-panel[hidden] { display: none !important; }
    .ops-panel { padding: 10px 12px 0; }
    .ops-acc-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 14px;
      padding: 10px 12px;
      border-bottom: 1px solid var(--omni-border);
    }
    .ops-acc-pick {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: var(--omni-text-muted);
    }
    .ops-input {
      background: #1a1816;
      border: 1px solid var(--omni-border);
      color: var(--omni-text);
      border-radius: 8px;
      padding: 7px 10px;
      font: inherit;
      font-size: 13px;
      min-width: 140px;
    }
    .ops-input--block {
      display: block;
      width: 100%;
      margin: 0 0 8px;
      box-sizing: border-box;
    }
    .ops-link {
      color: var(--omni-accent);
      text-decoration: none;
      font-size: 12px;
      font-weight: 600;
    }
    .ops-link:hover { text-decoration: underline; }
    .ops-grid {
      display: grid;
      gap: 10px;
    }
    .ops-grid--3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .ops-grid--2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (max-width: 1100px) {
      .ops-grid--3 { grid-template-columns: 1fr; }
      .ops-grid--2 { grid-template-columns: 1fr; }
    }
    .ops-card {
      border: 1px solid var(--omni-border);
      border-radius: 12px;
      background: rgba(22, 20, 18, 0.9);
      padding: 10px 12px 12px;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .ops-card__head {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: flex-start;
      margin-bottom: 8px;
    }
    .ops-card__eyebrow {
      font-size: 11px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--omni-metal-bright);
      font-weight: 700;
    }
    .ops-card__sub {
      font-size: 12px;
      color: var(--omni-text-muted);
      margin-top: 2px;
    }
    .ops-abc { display: flex; gap: 4px; flex-wrap: wrap; }
    .ops-abc__chip {
      appearance: none;
      border: 1px solid var(--omni-border);
      background: transparent;
      color: var(--omni-text-muted);
      border-radius: 999px;
      padding: 3px 8px;
      font: inherit;
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
    }
    .ops-abc__chip.is-active {
      border-color: var(--omni-accent);
      color: var(--omni-accent);
    }
    .ops-table-wrap {
      overflow: auto;
      max-height: 420px;
      margin: 0 -4px;
    }
    .ops-table-wrap--tall { max-height: 560px; flex: 1; }
    .ops-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 12px;
    }
    .ops-table th {
      text-align: left;
      color: var(--omni-text-muted);
      font-weight: 600;
      padding: 6px 8px;
      border-bottom: 1px solid var(--omni-border);
      position: sticky;
      top: 0;
      background: #161412;
      z-index: 1;
    }
    .ops-table td {
      padding: 7px 8px;
      border-bottom: 1px solid rgba(255,255,255,0.04);
      vertical-align: top;
    }
    .ops-feed-row { cursor: pointer; }
    .ops-feed-row:hover { background: rgba(212, 137, 58, 0.06); }
    .ops-entity { display: flex; flex-direction: column; gap: 2px; }
    .ops-entity__id { font-size: 11px; color: var(--omni-text-muted); font-family: var(--omni-font-mono); }
    .ops-muted { color: var(--omni-text-muted); padding: 16px 8px; }
    .ops-toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      margin-bottom: 10px;
    }
    .ops-feed-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
      gap: 10px;
      align-items: start;
    }
    @media (max-width: 900px) {
      .ops-feed-layout { grid-template-columns: 1fr; }
    }
    .ops-feed-detail {
      border: 1px solid var(--omni-border);
      border-radius: 12px;
      background: rgba(22, 20, 18, 0.95);
      padding: 12px;
      max-height: 560px;
      overflow: auto;
    }
    .ops-feed-detail[hidden] { display: none !important; }
    .ops-feed-detail__head {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
    }
    .ops-feed-detail__head h3 {
      margin: 0;
      font-size: 15px;
    }
    .ops-feed-detail__pre {
      margin: 0;
      white-space: pre-wrap;
      word-break: break-word;
      font-family: var(--omni-font-mono);
      font-size: 12px;
      color: var(--omni-text);
    }
    .ops-list {
      list-style: none;
      margin: 8px 0 0;
      padding: 0;
      max-height: 420px;
      overflow: auto;
      font-size: 13px;
    }
    .ops-list li {
      padding: 6px 0;
      border-bottom: 1px solid rgba(255,255,255,0.04);
    }
    .ops-list code {
      font-family: var(--omni-font-mono);
      font-size: 11px;
      color: var(--omni-metal-bright);
      margin-right: 6px;
    }
    .ops-hint {
      font-size: 12px;
      color: var(--omni-text-muted);
      margin: 0 0 10px;
    }
    .ops-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }
    @media (max-width: 720px) {
      .ops-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    .ops-stat {
      border: 1px solid var(--omni-border);
      border-radius: 12px;
      padding: 14px;
      background: rgba(22, 20, 18, 0.9);
      text-align: center;
    }
    .ops-stat__n {
      display: block;
      font-size: 28px;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: var(--omni-text);
    }
    .ops-stat__l {
      font-size: 11px;
      color: var(--omni-text-muted);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }
    .ops-label {
      display: block;
      font-size: 12px;
      color: var(--omni-text-muted);
      margin: 8px 0 4px;
    }
    .ops-textarea {
      width: 100%;
      box-sizing: border-box;
      background: #1a1816;
      border: 1px solid var(--omni-border);
      color: var(--omni-text);
      border-radius: 10px;
      padding: 10px 12px;
      font-family: var(--omni-font-mono);
      font-size: 12px;
      resize: vertical;
    }
    .cell-mono { font-family: var(--omni-font-mono); font-size: 11px; }
    .cell-num { font-variant-numeric: tabular-nums; text-align: right; }

    /* Dashboard: one continuous panel (parity with CRM shell, not floating cards) */
    .content.is-dash {
      padding: 0;
      box-sizing: border-box;
      overflow: hidden;
      background: var(--omni-bg);
    }

    /* CRM: one continuous shell (list | thread), not two floating cards */
    .crm-frame {
      flex: 1;
      min-height: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    .crm-subnav {
      display: flex;
      gap: 4px;
      padding: 8px 12px 0;
      flex-shrink: 0;
      border-bottom: 1px solid var(--omni-border);
      background: rgba(18, 17, 15, 0.92);
    }
    .crm-subnav__btn {
      appearance: none;
      border: 0;
      background: transparent;
      color: var(--omni-text-muted);
      font: inherit;
      font-size: 13px;
      font-weight: 600;
      padding: 8px 12px 10px;
      cursor: pointer;
      border-bottom: 2px solid transparent;
      margin-bottom: -1px;
    }
    .crm-subnav__btn:hover { color: var(--omni-text); }
    .crm-subnav__btn.is-active {
      color: var(--omni-accent);
      border-bottom-color: var(--omni-accent);
    }
    .crm-view {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .crm-view[hidden] { display: none !important; }
    .crm-contacts__bar {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px 10px;
      border-bottom: 1px solid var(--omni-border);
    }
    .crm-contacts__eyebrow {
      margin: 0;
      font-size: 11px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--omni-metal-bright);
    }
    .crm-contacts__sub {
      margin-top: 2px;
      font-size: 12px;
      color: var(--omni-text-muted);
    }
    .crm-contacts__tools {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .crm-contacts__input,
    .crm-contacts__select {
      background: #1a1816;
      border: 1px solid var(--omni-border);
      color: var(--omni-text);
      border-radius: 8px;
      padding: 8px 10px;
      font: inherit;
      font-size: 13px;
      min-width: 160px;
    }
    .crm-contacts__table-wrap {
      flex: 1;
      min-height: 0;
      overflow: auto;
      padding: 0 8px 16px;
    }
    .crm-contacts__table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
    }
    .crm-contacts__table th {
      text-align: left;
      font-weight: 600;
      color: var(--omni-text-muted);
      padding: 10px 8px;
      border-bottom: 1px solid var(--omni-border);
      position: sticky;
      top: 0;
      background: var(--omni-bg-deep, #100e0c);
      z-index: 1;
    }
    .crm-contacts__table td {
      padding: 9px 8px;
      border-bottom: 1px solid rgba(255,255,255,0.04);
      vertical-align: middle;
    }
    .crm-contacts__table tr[data-contact-id]:hover {
      background: rgba(212, 137, 58, 0.06);
      cursor: pointer;
    }
    .crm-contacts__muted { color: var(--omni-text-muted); padding: 24px 8px !important; }
    .crm-contacts__open { font-size: 12px; }
    .pill-abc { font-weight: 700; }
    .pill-abc-A { color: #3dba7a; }
    .pill-abc-B { color: #e0b03a; }
    .pill-abc-C { color: var(--omni-text-muted); }

    .dash-live {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 12px;
      padding: 8px 12px;
      margin: 0 0 8px;
      border: 1px solid var(--omni-border);
      border-radius: 10px;
      background: rgba(22, 20, 18, 0.85);
      font-size: 12px;
      color: var(--omni-text-muted);
    }
    .dash-live__dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: var(--omni-text-muted);
      flex-shrink: 0;
    }
    .dash-live__dot.is-ok { background: var(--omni-success); box-shadow: 0 0 0 3px rgba(61,186,122,0.18); }
    .dash-live__dot.is-warn { background: var(--omni-warning); }
    .dash-live__dot.is-muted { background: #555; }
    .dash-live__lab {
      font-weight: 700;
      color: var(--omni-text);
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-size: 11px;
    }
    .dash-live__detail {
      flex: 1;
      min-width: 120px;
      font-family: var(--omni-font-mono);
      color: var(--omni-text-muted);
    }
    .dash-live__link {
      color: var(--omni-accent);
      text-decoration: none;
      font-weight: 600;
      white-space: nowrap;
    }
    .dash-live__link:hover { text-decoration: underline; }

    .crm-frame .chat-layout {
      flex: 1;
      min-height: 0;
      width: 100%;
      gap: 0;
      border: none;
      border-radius: 0;
      background:
        radial-gradient(120% 80% at 8% -10%, rgba(212, 137, 58, 0.05), transparent 50%),
        linear-gradient(180deg, #1a1713 0%, var(--omni-bg) 28%, var(--omni-bg-deep, #100e0c) 100%);
      /* Brand materials on Allmatch chat shell */
      --accent: var(--omni-accent);
      --accent-hover: var(--omni-accent-hover);
      --accent-weak: var(--omni-accent-dim);
      --accent-weak-2: rgba(212, 137, 58, 0.28);
      --on-accent: #1a1208;
      --blue: var(--omni-accent);
      --blue-weak: var(--omni-accent-dim);
      --ok: var(--omni-success);
      --ok-weak: rgba(61, 186, 122, 0.18);
      --warn: var(--omni-warning);
      --warn-weak: rgba(224, 176, 58, 0.16);
      --danger: var(--omni-danger);
      --danger-weak: rgba(224, 84, 74, 0.18);
      --chat-bubble-out-bg: #2a2723;
      --chat-bubble-out-fg: var(--omni-text);
      --chat-bubble-in-bg: #222224;
      --chat-bubble-in-fg: var(--omni-text);
      --chat-bubble-in-border: var(--omni-border);
      --chat-meta-out: var(--omni-text-muted);
      --chat-meta-in: var(--omni-text-muted);
      --chat-check-out: var(--omni-metal-bright);
      --canvas: #0e0d0c;
      --surface: #161412;
      --surface-2: #221e19;
      --surface-3: #2a2723;
      --border: var(--omni-border);
      --border-strong: var(--omni-border-strong);
      --text: var(--omni-text);
      --text-2: var(--omni-text-secondary);
      --text-3: var(--omni-text-muted);
      font-family: var(--omni-font-ui);
    }
    .crm-frame .chat-list {
      background: var(--surface);
      border: none;
      border-radius: 0;
      border-right: 1px solid var(--omni-border);
      box-shadow: none;
    }
    .crm-frame .chat-conversation {
      background: var(--canvas);
      border: none;
      border-radius: 0;
      box-shadow: none;
    }
    .crm-frame .chat-list__header,
    .crm-frame .chat-conversation__header {
      background: linear-gradient(180deg, rgba(212, 137, 58, 0.05), transparent 75%);
      border-bottom: 1px solid var(--omni-border);
    }
    .crm-frame .chat-list__search-input,
    .crm-frame .chat-filter__select {
      background: var(--surface-2);
      border-color: var(--omni-border);
      color: var(--omni-text);
    }
    .crm-frame .chat-list__search-input:focus,
    .crm-frame .chat-filter__select:focus {
      border-color: var(--omni-accent-line);
      box-shadow: 0 0 0 2px var(--omni-accent-dim);
    }
    .crm-frame .chat-list__scroll {
      background: transparent;
    }
    .crm-frame .chat-list-item.active,
    .crm-frame .chat-list-item:hover {
      background: var(--omni-accent-dim);
    }
    .crm-frame .chat-list-item.active {
      box-shadow: inset 3px 0 0 var(--omni-accent);
    }
    .crm-frame .chat-list-resizer {
      background: var(--omni-border);
      width: 1px;
      margin-inline: 0;
    }
    .crm-frame .chat-list-resizer:hover,
    body.chat-list-resizing .crm-frame .chat-list-resizer {
      background: color-mix(in oklch, var(--omni-accent) 72%, var(--omni-border));
      width: 3px;
      margin-inline: -1px;
    }
    .crm-frame .chat-conversation__empty {
      color: var(--omni-text-secondary);
      background: transparent;
    }
    .crm-frame .chat-conversation__thread,
    .crm-frame .chat-messages {
      background: transparent;
    }
    .crm-frame .chat-composer {
      background: var(--surface);
      border-top: 1px solid var(--omni-border);
    }

    /* List row: name · pill · time — pill must not look like plain title text */
    .crm-frame .chat-list-item {
      padding: 10px 12px;
    }
    .crm-frame .chat-list-item__title-row {
      gap: 8px;
      align-items: center;
    }
    .crm-frame .chat-list-item__name {
      flex: 1 1 auto;
      min-width: 0;
      font-size: 14px;
      font-weight: 650;
      letter-spacing: 0.01em;
    }
    .crm-frame .chat-list-item__meta {
      flex: 0 0 auto;
      max-width: none;
      gap: 8px;
      margin-left: 8px;
    }
    .crm-frame .chat-list-item__badges {
      flex: 0 0 auto;
    }
    .crm-frame .chat-list-item__time {
      flex: 0 0 auto;
      font-size: 11px;
      font-weight: 500;
      color: var(--omni-text-muted);
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .crm-frame .chat-list-item__preview {
      margin-top: 3px;
      font-size: 12.5px;
      color: var(--omni-text-secondary);
    }
    .crm-frame .chat-layout .pill {
      font-size: 10px;
      font-weight: 650;
      padding: 2px 7px;
      border-radius: 5px;
      letter-spacing: 0.01em;
      line-height: 1.35;
      white-space: nowrap;
    }
    /* Soften awaiting — muted amber chip, not accent flood */
    .crm-frame .chat-layout .pill-outcome-awaiting {
      background: rgba(201, 162, 39, 0.14);
      color: #d4b84a;
    }
    .crm-frame .chat-layout .pill-outcome-undelivered {
      background: rgba(224, 84, 74, 0.14);
      color: #e07068;
    }
    .crm-frame .chat-layout .pill-outcome-active,
    .crm-frame .chat-layout .pill-outcome-funnel_done {
      background: rgba(61, 186, 122, 0.14);
      color: #5ecf94;
    }
    .crm-frame .chat-layout .pill-outcome-ready {
      background: rgba(224, 84, 74, 0.85);
      color: #fff;
    }

    /* Avatars: metal letter on quiet surface, not neon copper */
    .crm-frame .chat-layout .avatar {
      background: #1a1917;
      border-color: var(--omni-border);
      color: var(--omni-metal-bright);
    }
    .crm-frame .chat-layout .avatar__initials {
      font-weight: 700;
      color: var(--omni-metal-bright);
    }

    /* Outgoing bubble: bordered warm charcoal, readable meta */
    .crm-frame .message-row.me .message-bubble,
    .crm-frame .message-row--outgoing .message-bubble {
      background: var(--chat-bubble-out-bg);
      color: var(--chat-bubble-out-fg);
      border: 1px solid rgba(212, 137, 58, 0.22);
      box-shadow: none;
    }
    .crm-frame .message-row.them .message-bubble,
    .crm-frame .message-row--incoming .message-bubble {
      background: var(--chat-bubble-in-bg);
      color: var(--chat-bubble-in-fg);
      border: 1px solid var(--chat-bubble-in-border);
    }
    .crm-frame .message-bubble-meta--out .message-bubble-meta__time {
      color: var(--omni-text-muted);
    }
    .crm-frame .message-bubble-sender {
      color: var(--omni-text-muted);
      font-size: 12px;
      font-weight: 500;
      margin-bottom: 4px;
    }
    .crm-frame .message-row.me .message-bubble-wrap,
    .crm-frame .message-row--outgoing .message-bubble-wrap {
      max-width: min(520px, 78%);
    }
    /* Send stays copper — only the CTA, not the bubble fill */
    .crm-frame .btn-send {
      background: var(--omni-accent);
      color: #1a1208;
    }
    .crm-frame .chat-list {
      flex: 0 0 auto;
    }
    .crm-frame .chat-list-resizer {
      z-index: 5;
    }
    /* Mock uses plain <select>; live CRM hides native behind site-select */
    .crm-frame .chat-filter__select {
      width: 100%;
      height: 36px;
      padding: 0 10px;
      border: 1px solid var(--omni-border);
      border-radius: var(--omni-radius);
      background: var(--omni-surface);
      color: var(--omni-text-secondary);
      font: inherit;
      font-size: 13px;
      font-weight: 600;
      outline: none;
      cursor: pointer;
    }
    .crm-frame .chat-filter__select:focus {
      border-color: var(--omni-accent-line);
      box-shadow: 0 0 0 2px var(--omni-accent-dim);
      color: var(--omni-text);
    }
    .crm-frame .chat-filter[data-filter="outcome"],
    .crm-frame .chat-filter[data-filter="mode"] {
      flex: 1 1 calc(50% - 4px);
    }

    .chat-conversation__title .tg-user,
    .chat-list-item__name .tg-user {
      color: var(--omni-metal-bright, #c4bfb6);
      text-decoration: none;
      cursor: pointer;
      background: none;
      border: 0;
      padding: 0;
      font: inherit;
      font-weight: 700;
    }
    .chat-conversation__title .tg-user:hover,
    .chat-list-item__name .tg-user:hover {
      color: var(--omni-accent);
      text-decoration: underline;
    }
    .chat-user-card-btn {
      flex: none;
      width: 32px;
      height: 32px;
      border-radius: 8px;
      border: 1px solid var(--border, rgba(84, 84, 88, 0.65));
      background: var(--surface-2, #2c2c2e);
      color: var(--text-2, #98989d);
      cursor: pointer;
      display: grid;
      place-items: center;
      padding: 0;
    }
    .chat-user-card-btn:hover {
      color: var(--text, #f5f5f7);
      border-color: color-mix(in oklch, var(--omni-accent, #d4893a) 45%, var(--border, #555));
    }
    .chat-user-card-btn svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
    }

    .intel-ctx {
      position: fixed;
      z-index: 9000;
      min-width: 220px;
      background: #1c1c1e;
      border: 1px solid rgba(84, 84, 88, 0.65);
      border-radius: 12px;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
      padding: 6px;
    }
    .intel-ctx[hidden] { display: none !important; }
    .intel-ctx button {
      display: block;
      width: 100%;
      text-align: left;
      background: transparent;
      border: 0;
      color: #f5f5f7;
      font: inherit;
      font-size: 13px;
      padding: 10px 12px;
      border-radius: 8px;
      cursor: pointer;
    }
    .intel-ctx button:hover {
      background: rgba(212, 137, 58, 0.16);
      color: #f0d2b0;
    }
    .intel-ctx .intel-ctx__hint {
      font-size: 11px;
      color: #8e8e93;
      padding: 4px 12px 8px;
      line-height: 1.3;
    }

    .intel-modal[hidden] { display: none !important; }
    .intel-modal {
      position: fixed;
      inset: 0;
      z-index: 9100;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
    }
    .intel-modal__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.62);
      backdrop-filter: blur(4px);
    }
    .intel-modal__card {
      position: relative;
      z-index: 1;
      width: min(520px, 100%);
      max-height: min(86vh, 720px);
      overflow: auto;
      background: linear-gradient(180deg, #1a1612 0%, #121214 40%);
      border: 1px solid rgba(212, 137, 58, 0.28);
      border-radius: 18px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
      padding: 18px 20px 22px;
      color: #f5f5f7;
    }
    .intel-modal__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 14px;
    }
    .intel-modal__eyebrow {
      font-size: 11px;
      color: #8e8e93;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      margin-bottom: 4px;
    }
    .intel-modal__head h2 {
      font-size: 18px;
      font-weight: 650;
      margin: 0;
    }
    .intel-modal__close {
      border: 0;
      background: transparent;
      color: #98989d;
      font-size: 18px;
      cursor: pointer;
      line-height: 1;
      padding: 4px 6px;
    }
    .intel-who__handle { font-size: 13px; color: #5ac8fa; margin-bottom: 2px; }
    .intel-who__name { font-size: 16px; font-weight: 650; margin-bottom: 10px; }
    .intel-bio {
      font-size: 13px;
      line-height: 1.45;
      color: #98989d;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(84, 84, 88, 0.65);
      border-radius: 12px;
      padding: 10px 12px;
    }
    .intel-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 14px;
    }
    .intel-stat {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(84, 84, 88, 0.65);
      border-radius: 12px;
      padding: 10px 12px;
    }
    .intel-stat__label { font-size: 11px; color: #8e8e93; margin-bottom: 4px; }
    .intel-stat__val { font-size: 14px; font-weight: 600; }

    .section-title {
      margin: 0 0 4px;
      font-size: 16px;
      font-weight: 700;
    }
    .section-sub {
      margin: 0 0 12px;
      font-size: 12px;
      color: var(--omni-text-secondary);
    }

    .status-line {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      padding: 8px 10px;
      margin-bottom: 12px;
      background: var(--omni-surface);
      border: 1px solid var(--omni-border);
      border-radius: var(--omni-radius-sm);
      font-size: 12px;
      font-weight: 600;
    }
    .status-line span b { color: var(--omni-accent); font-weight: 700; }

    /* ── Dashboard — warm brand canvas (parity with Matching / HR) ── */
    .dash-frame {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      height: 100%;
      font-family: var(--omni-font-ui);
      color: var(--omni-text);
      background: transparent;
    }
    .dash-body {
      padding: 0;
      display: flex;
      flex-direction: column;
      flex: 1;
      min-height: 0;
      width: 100%;
      margin: 0;
      box-sizing: border-box;
    }
    .dash-panel {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
      border: 0;
      border-radius: 0;
      padding: 0.85rem clamp(0.85rem, 1.6vw, 1.25rem) 1.25rem;
      background: transparent;
      box-shadow: none;
      overflow: auto;
    }
    .dash-accounts {
      display: block;
      flex-shrink: 0;
      padding: 0 0 0.75rem;
      border: 0;
      border-bottom: 1px solid var(--omni-border);
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    .dash-accounts__warn {
      padding: 0.45rem 0 0.15rem;
      font-size: 11px;
      color: var(--omni-warning);
      border-top: 0;
    }
    .dash-accounts__bar {
      display: flex;
      flex-wrap: nowrap;
      gap: 0.5rem;
      align-items: center;
      min-height: 2.4rem;
      padding: 0.2rem 0;
    }
    .dash-accounts__spacer { flex: 1 1 auto; min-width: 1rem; }
    .dash-accounts__switch {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      min-width: 0;
      gap: 0.45rem;
      padding-left: 0.65rem;
      margin-left: 0.2rem;
      border-left: 1px solid var(--omni-border);
    }
    .dash-acc {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      padding: 0.4rem 0.75rem;
      border-radius: 6px;
      border: 1px solid var(--omni-border);
      background: rgba(255, 255, 255, 0.02);
      color: var(--omni-text-secondary);
      font: inherit;
      font-size: 12px;
      font-weight: 600;
      cursor: pointer;
      flex: 0 0 auto;
      margin-bottom: 0;
      transition:
        color var(--omni-transition),
        background var(--omni-transition),
        border-color var(--omni-transition);
    }
    .dash-acc:hover {
      background: rgba(255, 255, 255, 0.05);
      border-color: var(--omni-border-strong, var(--omni-border));
      color: var(--omni-text);
    }
    .dash-acc.is-active {
      border-color: var(--omni-accent-line);
      background: var(--omni-accent-dim);
      color: var(--omni-text);
    }
    .dash-acc__name {
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-weight: 700;
    }
    .dash-acc__meta {
      font-size: 10px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--omni-text-muted);
      font-weight: 650;
    }
    .dash-acc__count {
      font-size: 13px;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: inherit;
      letter-spacing: 0;
    }
    .dash-acc.is-hub {
      position: relative;
      z-index: 2;
      margin-right: 0;
      flex: 0 0 auto;
    }
    .dash-acc.is-hub .dash-acc__meta { color: var(--omni-metal); }
    .dash-acc.is-hub.is-active .dash-acc__meta { color: var(--omni-text-muted); }
    .dash-acc.is-add {
      border: 1px solid transparent;
      color: var(--omni-text-muted);
      font-weight: 650;
      margin-left: 0;
      flex: 0 0 auto;
      background: transparent;
    }
    .dash-acc.is-add:hover {
      color: var(--omni-accent-hover);
      border-color: var(--omni-accent-line);
      background: var(--omni-accent-dim);
    }
    .dash-acc.is-add .dash-acc__meta { color: var(--omni-text-muted); }
    .dash-acc-pick {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.4rem 0.7rem;
      border: 1px solid var(--omni-border);
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.02);
      min-width: 0;
      max-width: min(28rem, 100%);
      flex: 0 0 auto;
      position: relative;
      z-index: 1;
      overflow: hidden;
      isolation: isolate;
      cursor: pointer;
      margin-bottom: 0;
      transition:
        color var(--omni-transition),
        background var(--omni-transition),
        border-color var(--omni-transition);
    }
    .dash-acc-pick:hover {
      background: rgba(255, 255, 255, 0.05);
      border-color: var(--omni-border-strong, var(--omni-border));
    }
    .dash-acc-pick.is-active {
      border-color: var(--omni-accent-line);
      background: var(--omni-accent-dim);
    }
    .dash-acc-pick__lab {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--omni-text-muted);
      flex: 0 0 auto;
      position: relative;
      z-index: 1;
      pointer-events: none;
    }
    .dash-acc-pick.is-active .dash-acc-pick__lab { color: rgba(228, 154, 76, 0.95); }
    .dash-acc-pick.is-active .dash-acc__count { color: var(--omni-text); }
    .dash-acc-pick .dash-acc__count {
      flex: 0 0 auto;
      padding-right: 0.35rem;
      position: relative;
      z-index: 1;
      pointer-events: none;
    }
    .dash-acc-select {
      position: absolute;
      inset: 0;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      height: 100%;
      margin: 0;
      padding: 0;
      opacity: 0;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      border: none;
      background: transparent;
      font: inherit;
      z-index: 2;
    }
    .dash-acc-pick::after {
      content: "";
      width: 8px;
      height: 5px;
      flex: 0 0 auto;
      position: relative;
      z-index: 1;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a9690' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") center / contain no-repeat;
      pointer-events: none;
    }
    .dash-acc-select option {
      background: var(--omni-bg-elevated);
      color: var(--omni-text);
      text-transform: none;
    }

    /* Flat sections — one plane, hairlines only (no card-in-card). */
    .dash-hub {
      flex-shrink: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      overflow: visible;
      padding: 0.15rem 0 0;
    }
    .dash-hub__head {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0 0 0.65rem;
      border-bottom: 0;
      background: transparent;
    }
    .dash-hub__pulse {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--omni-success);
      box-shadow: none;
    }
    .dash-hub__label {
      font-weight: 700;
      font-size: 0.72rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--omni-text-muted);
    }
    a.dash-acc { text-decoration: none; color: inherit; }
    .dash-hub__note {
      grid-column: 1 / -1;
      padding: 0.65rem 0 0;
      font-size: 12px;
      color: var(--omni-warning);
      border-top: 1px solid var(--omni-border);
    }
    .dash-hub__grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 0;
      padding: 0;
      border-top: 1px solid var(--omni-border);
      border-bottom: 1px solid var(--omni-border);
    }
    @media (max-width: 1100px) {
      .dash-hub__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      .dash-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    .dash-metric {
      padding: 0.85rem 0.95rem 0.95rem;
      border: 0;
      border-right: 1px solid var(--omni-border);
      border-radius: 0;
      background: transparent;
      transition: background-color var(--omni-transition, 0.15s ease);
    }
    .dash-hub__grid > .dash-metric:last-child,
    .dash-hub__grid > a.dash-metric--report:last-of-type {
      border-right: 0;
    }
    @media (max-width: 1100px) {
      .dash-hub__grid > .dash-metric:nth-child(3n),
      .dash-hub__grid > a.dash-metric--report:nth-child(3n) {
        border-right: 0;
      }
      .dash-hub__grid > .dash-metric:nth-child(n+4),
      .dash-hub__grid > a.dash-metric--report:nth-child(n+4) {
        border-top: 1px solid var(--omni-border);
      }
    }
    @media (max-width: 640px) {
      .dash-hub__grid > .dash-metric:nth-child(3n) { border-right: 1px solid var(--omni-border); }
      .dash-hub__grid > .dash-metric:nth-child(2n),
      .dash-hub__grid > a.dash-metric--report:nth-child(2n) {
        border-right: 0;
      }
      .dash-hub__grid > .dash-metric:nth-child(n+3),
      .dash-hub__grid > a.dash-metric--report:nth-child(n+3) {
        border-top: 1px solid var(--omni-border);
      }
    }
    .dash-metric:hover {
      background: rgba(255, 255, 255, 0.03);
    }
    a.dash-metric--report {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 0.85rem 0.95rem;
      min-height: 100%;
      box-sizing: border-box;
      text-decoration: none;
      color: var(--omni-text-secondary);
      font-size: 0.82rem;
      font-weight: 650;
      letter-spacing: 0.02em;
      background: transparent;
      cursor: pointer;
      border-right: 0;
      transition: color var(--omni-transition), background var(--omni-transition);
    }
    a.dash-metric--report:hover {
      color: var(--omni-accent-hover);
      background: rgba(255, 255, 255, 0.03);
    }
    .dash-metric__label {
      font-size: 0.7rem;
      letter-spacing: 0.02em;
      color: var(--omni-text-muted);
      margin-bottom: 0.35rem;
    }
    .dash-metric__val {
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      font-variant-numeric: tabular-nums;
      color: var(--omni-text);
      font-family: var(--omni-font-display);
    }

    .dash-kb {
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      overflow: visible;
      padding-top: 0.35rem;
    }
    .dash-kb__top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 0.5rem 0 0;
      flex-shrink: 0;
    }
    .dash-kb__eyebrow {
      margin: 0;
      font-size: 0.7rem;
      color: var(--omni-text-muted);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-weight: 650;
    }
    .dash-kb__title {
      margin: 0.3rem 0 0;
      font-size: 1.35rem;
      font-weight: 700;
      font-family: var(--omni-font-display);
      letter-spacing: -0.02em;
    }
    .dash-kb__link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--omni-accent);
      font-size: 12px;
      font-weight: 650;
      text-decoration: none;
      flex-shrink: 0;
    }
    .dash-kb__link:hover { color: var(--omni-accent-hover); }
    .dash-kb__summary {
      margin: 0.45rem 0 0;
      font-size: 13px;
      line-height: 1.5;
      color: var(--omni-text-secondary);
      flex-shrink: 0;
    }
    .dash-kb__kpis {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin: 0.85rem 0 0;
      border-top: 1px solid var(--omni-border);
      border-bottom: 1px solid var(--omni-border);
      border-radius: 0;
      overflow: visible;
      background: transparent;
      flex-shrink: 0;
    }
    @media (max-width: 720px) {
      .dash-kb__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    .dash-kb__kpi {
      flex: none;
      padding: 0.75rem 0.85rem;
      border: 0;
      border-right: 1px solid var(--omni-border);
      border-radius: 0;
      background: transparent;
    }
    .dash-kb__kpis > .dash-kb__kpi:last-child { border-right: 0; }
    @media (max-width: 720px) {
      .dash-kb__kpis > .dash-kb__kpi:nth-child(2n) { border-right: 0; }
      .dash-kb__kpis > .dash-kb__kpi:nth-child(n+3) {
        border-top: 1px solid var(--omni-border);
      }
    }
    .dash-kb__kpi:hover {
      background: rgba(255, 255, 255, 0.03);
    }
    .dash-kb__kpi-val {
      display: block;
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--omni-text);
      font-family: var(--omni-font-display);
      letter-spacing: -0.02em;
    }
    .dash-kb__kpi-lbl {
      display: block;
      margin-top: 0.2rem;
      font-size: 0.7rem;
      color: var(--omni-text-muted);
    }
    .dash-kb__tabs {
      display: flex;
      gap: 1.1rem;
      flex-wrap: wrap;
      padding: 0.85rem 0 0;
      border-bottom: 1px solid var(--omni-border);
      flex-shrink: 0;
      background: transparent;
    }
    .dash-kb__tab {
      border: 0;
      border-bottom: 2px solid transparent;
      background: transparent;
      color: var(--omni-text-secondary);
      font: inherit;
      font-size: 13px;
      font-weight: 650;
      padding: 0.35rem 0 0.55rem;
      margin-bottom: -1px;
      cursor: pointer;
      border-radius: 0;
      transition: color var(--omni-transition), border-color var(--omni-transition);
    }
    .dash-kb__tab:hover {
      color: var(--omni-text);
      background: transparent;
    }
    .dash-kb__tab.is-active {
      color: var(--omni-text);
      background: transparent;
      border-bottom-color: var(--omni-accent);
    }
    .dash-kb__main {
      display: grid;
      grid-template-columns: minmax(220px, 0.88fr) minmax(0, 1.22fr);
      gap: 0;
      min-height: 280px;
      flex: 1;
      padding: 0;
      margin-top: 0;
    }
    @media (max-width: 900px) {
      .dash-kb__main { grid-template-columns: 1fr; }
    }
    .dash-kb__list {
      border: 0;
      border-right: 1px solid var(--omni-border);
      border-radius: 0;
      padding: 0.85rem 1rem 1rem 0;
      display: flex;
      flex-direction: column;
      gap: 0;
      background: transparent;
    }
    @media (max-width: 900px) {
      .dash-kb__list {
        border-right: 0;
        border-bottom: 1px solid var(--omni-border);
        padding: 0.85rem 0;
      }
    }
    .dash-kb__list-label {
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--omni-text-muted);
      padding: 0 0 0.55rem;
    }
    .dash-kb__row {
      text-align: left;
      border: 0;
      border-left: 2px solid transparent;
      background: transparent;
      color: var(--omni-text-secondary);
      font: inherit;
      font-size: 13px;
      padding: 0.55rem 0.35rem 0.55rem 0.65rem;
      border-radius: 0;
      cursor: pointer;
      display: flex;
      gap: 0.55rem;
      align-items: flex-start;
      transition: color var(--omni-transition), border-color var(--omni-transition);
    }
    .dash-kb__row:hover {
      background: transparent;
      color: var(--omni-text);
    }
    .dash-kb__row.is-active {
      background: transparent;
      border-left-color: var(--omni-accent);
      color: var(--omni-text);
      box-shadow: none;
    }
    .dash-kb__row-n {
      color: var(--omni-text-muted);
      font-variant-numeric: tabular-nums;
      flex-shrink: 0;
    }
    .dash-kb__detail {
      padding: 0.85rem 0 1rem 1.15rem;
      border: 0;
      border-radius: 0;
      background: transparent;
    }
    @media (max-width: 900px) {
      .dash-kb__detail { padding: 0.85rem 0 1rem; }
    }
    .dash-kb__detail-title {
      margin: 0 0 0.45rem;
      font-size: 1.05rem;
      font-weight: 700;
      font-family: var(--omni-font-display);
      letter-spacing: -0.02em;
    }
    .dash-kb__badge {
      display: inline;
      padding: 0;
      border-radius: 0;
      font-size: 11px;
      font-weight: 650;
      letter-spacing: 0.02em;
      text-transform: none;
      background: transparent;
      color: #e07068;
      margin-left: 0.55rem;
      vertical-align: baseline;
    }
    .dash-kb__status {
      font-size: 12px;
      color: var(--omni-text-muted);
      margin-bottom: 0.85rem;
    }
    .dash-kb__kv {
      display: grid;
      grid-template-columns: 110px 1fr;
      gap: 0.4rem 0.75rem;
      font-size: 12px;
      margin-bottom: 1rem;
      padding-bottom: 0.85rem;
      border-bottom: 1px solid var(--omni-border);
    }
    .dash-kb__kv dt { color: var(--omni-text-muted); }
    .dash-kb__kv dd { margin: 0; color: var(--omni-text-secondary); }
    .dash-kb__action-label {
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--omni-text-muted);
      margin-bottom: 0.4rem;
    }
    .dash-kb__action {
      font-size: 13px;
      line-height: 1.55;
      color: var(--omni-text-secondary);
      background: transparent;
      border: 0;
      border-left: 2px solid var(--omni-accent-line);
      border-radius: 0;
      padding: 0.1rem 0 0.1rem 0.85rem;
      margin-top: 0;
    }

    table.data {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
    }
    table.data th,
    table.data td {
      text-align: left;
      padding: 7px 8px;
      border-bottom: 1px solid var(--omni-border);
    }
    table.data th {
      font-size: 11px;
      font-weight: 700;
      color: var(--omni-text-muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    table.data tr:hover td { background: var(--omni-surface); }

    .conv-list { display: flex; flex-direction: column; border: 1px solid var(--omni-border); border-radius: var(--omni-radius-sm); overflow: hidden; }
    .conv {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 4px 12px;
      padding: 9px 10px;
      border-bottom: 1px solid var(--omni-border);
      cursor: default;
    }
    .conv:last-child { border-bottom: none; }
    .conv:hover { background: var(--omni-surface); }
    .conv .name { font-weight: 700; font-size: 13px; }
    .conv .preview { grid-column: 1 / -1; font-size: 12px; color: var(--omni-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .conv .time { font-size: 11px; color: var(--omni-text-muted); }

    .agents { display: flex; flex-direction: column; gap: 1px; border: 1px solid var(--omni-border); border-radius: var(--omni-radius-sm); overflow: hidden; }
    .agent {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px 12px;
      background: var(--omni-bg-elevated);
    }
    .agent:hover { background: var(--omni-surface); }
    .agent .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--omni-success); flex-shrink: 0; }
    .agent .meta { flex: 1; min-width: 0; }
    .agent .meta strong { display: block; font-size: 13px; }
    .agent .meta span { font-size: 12px; color: var(--omni-text-secondary); }
    .agent button {
      font-family: var(--omni-font-ui);
      font-weight: 600;
      font-size: 12px;
      padding: 6px 10px;
      border-radius: var(--omni-radius-sm);
      border: 1px solid var(--omni-border);
      background: var(--omni-surface);
      color: var(--omni-text);
      cursor: pointer;
    }

    .tickets textarea {
      width: 100%;
      min-height: 90px;
      padding: 10px;
      font-family: var(--omni-font-ui);
      font-size: 13px;
      font-weight: 500;
      color: var(--omni-text);
      background: var(--omni-surface);
      border: 1px solid var(--omni-border);
      border-radius: var(--omni-radius-sm);
      resize: vertical;
    }
    .tickets .btn {
      margin-top: 8px;
      padding: 8px 14px;
      font-family: var(--omni-font-ui);
      font-weight: 700;
      font-size: 13px;
      color: #1a1208;
      background: var(--omni-accent);
      border: none;
      border-radius: var(--omni-radius-sm);
      cursor: pointer;
    }

    .log-line {
      font-family: var(--omni-font-mono);
      font-size: 12px;
      padding: 4px 0;
      border-bottom: 1px solid var(--omni-border);
      color: var(--omni-text-secondary);
    }
    .log-line .id { color: var(--omni-accent); }

    .toast {
      position: fixed;
      left: 50%;
      bottom: 28px;
      transform: translateX(-50%) translateY(12px);
      z-index: 50;
      padding: 10px 16px;
      font-size: 13px;
      font-weight: 700;
      color: var(--omni-text);
      background: var(--omni-surface-raised);
      border: 1px solid var(--omni-accent-line);
      border-radius: var(--omni-radius);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.25s ease, transform 0.25s ease;
    }
    .toast.show {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
    }

    .content.is-panel-stack {
      padding: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      position: relative;
      min-height: 0;
      flex: 1;
    }
    /* Crossfade panels: keep both painted; soft opacity only (no blank wipe). */
    .panel-host {
      position: absolute;
      inset: 0;
      min-height: 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      z-index: 0;
      transition:
        opacity 0.4s ease,
        visibility 0s linear 0.4s;
    }
    .panel-host.is-active {
      position: relative;
      inset: auto;
      flex: 1;
      min-height: 0;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      z-index: 1;
      transition:
        opacity 0.4s ease,
        visibility 0s linear 0s;
    }
    /* After leave-Labs purge, never leave a half-faded host intercepting clicks. */
    .panel-host:not(.is-active) {
      content-visibility: hidden;
    }
    .panel-host.is-instant {
      transition: none !important;
    }
    .panel-host[hidden] {
      display: none !important;
    }
    .ws-embed-boot {
      flex: 1;
      min-height: 12rem;
      display: grid;
      place-content: center;
      place-items: center;
      gap: 0.85rem;
      margin: 0;
      padding: 2rem 1rem;
      color: var(--omni-text-muted, #6a6762);
      font-family: var(--omni-font-ui);
      font-size: 0.82rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      background: transparent;
    }
    .ws-embed-boot::before {
      content: "";
      width: 1.5rem;
      height: 1.5rem;
      border-radius: 50%;
      border: 2px solid rgba(212, 137, 58, 0.2);
      border-top-color: var(--omni-accent-hover, #e49a4c);
      animation: wsEmbedSpin 0.75s linear infinite;
    }
    @keyframes wsEmbedSpin {
      to { transform: rotate(360deg); }
    }
    @media (prefers-reduced-motion: reduce) {
      .panel-host,
      .ws-center-chrome .is-chrome-layer,
      .ws-match-metrics .kpi-lab,
      .ws-match-metrics .kpi-val {
        transition: none !important;
      }
      .domain-nav button {
        transition: none;
      }
      .ws-embed-boot::before {
        animation: none;
        border-top-color: var(--omni-accent, #d4893a);
      }
    }
    .panel-host.is-soft-refresh,
    .content .is-soft-refresh {
      /* keep shell; optional subtle cue without blanking */
    }
    .panel-host > .dash-frame,
    .panel-host > .crm-frame,
    .panel-host > .ops-frame,
    .panel-host > .pm-mind,
    .panel-host > .proomni-bridge,
    .panel-host > .proomni-boot,
    .panel-host > .ws-embed-frame {
      flex: 1;
      min-height: 0;
    }
    .ws-embed-frame {
      width: 100%;
      height: 100%;
      border: 0;
      background: transparent;
      display: block;
    }
    .content.is-matching,
    .content.is-hiring {
      padding: 0;
      overflow: hidden; /* iframe owns the only scrollbar — no shell+embed double rail */
    }


/* proomni cluster extras */
.proomni-boot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  min-height: 0; /* never force document past 100vh (was double-scroll with embeds) */
  box-sizing: border-box;
  color: var(--omni-text-muted);
  font-family: var(--omni-font-ui);
  font-size: 13px;
  letter-spacing: 0.02em;
  text-align: center;
}
.proomni-boot::before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--omni-border);
  border-top-color: var(--omni-accent);
  animation: proomni-spin 0.7s linear infinite;
  flex: none;
}
@keyframes proomni-spin {
  to { transform: rotate(360deg); }
}
.proomni-empty {
  display: grid;
  place-items: center;
  flex: 1;
  padding: 32px 20px;
  text-align: center;
  color: var(--omni-text-muted);
  font-family: var(--omni-font-ui);
  font-size: 13px;
  line-height: 1.45;
}
.proomni-empty__title {
  margin: 0 0 6px;
  font-family: var(--omni-font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--omni-text-secondary);
}
.topbar-pick:focus-visible,
.labs-gear:focus-visible,
.nav a:focus-visible,
.nav button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--omni-accent) 65%, transparent);
  outline-offset: 2px;
}
.proomni-bridge {
  display: grid;
  place-items: center;
  flex: 1;
  padding: 24px 16px;
}
.proomni-bridge__card {
  max-width: 440px;
  width: 100%;
  padding: 28px 24px;
  border-radius: var(--omni-radius-lg);
  border: 1px solid var(--omni-border);
  background: var(--omni-bg-elevated);
}
.proomni-bridge__eyebrow {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--omni-accent);
  font-weight: 600;
  margin-bottom: 8px;
}
.proomni-bridge__title {
  margin: 0 0 10px;
  font-family: var(--omni-font-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--omni-text);
}
.proomni-bridge__text {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--omni-text-secondary);
}
.proomni-bridge__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: var(--omni-radius);
  background: var(--omni-accent);
  color: #1a1208;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
}
.proomni-bridge__cta:hover { background: var(--omni-accent-hover); }
.proomni-bridge__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.proomni-legacy-hint {
  margin-top: 12px;
  font-size: 12px;
  color: var(--omni-text-muted);
}
.proomni-legacy-hint a { color: var(--omni-accent); }
.dash-ops-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 0.65rem 0;
  border: 0;
  border-bottom: 1px solid var(--omni-border);
  border-radius: 0;
  margin: 0;
  background: transparent;
  font-size: 12px;
  color: var(--omni-text-secondary);
  box-shadow: none;
}
.dash-ops-strip a {
  color: var(--omni-accent);
  font-weight: 600;
  text-decoration: none;
}
.dash-ops-strip a:hover { text-decoration: underline; }
.dash-frame {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.dash-frame .dash-body {
  max-width: none;
}
.dash-metric__val--sm { font-size: 18px; }
.chat-composer .textarea {
  flex: 1;
  min-height: 40px;
  max-height: 120px;
  resize: none;
  padding: 10px 12px;
  border-radius: var(--omni-radius);
  border: 1px solid var(--omni-border);
  background: var(--omni-surface);
  color: var(--omni-text);
  font: inherit;
}
.btn-send {
  width: 40px; height: 40px;
  border: none; border-radius: 50%;
  background: var(--omni-accent);
  color: #1a1208;
  cursor: pointer;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.btn-send:hover { background: var(--omni-accent-hover); }
.btn-send svg { width: 18px; height: 18px; }
.btn-send:disabled { opacity: 0.45; cursor: not-allowed; }
.proomni-err {
  padding: 16px;
  color: #f07178;
  font-size: 13px;
}

/* ── Mind Studio: Brand metal workshop (parity with dash-hub / CRM chat) ── */
.pm-mind {
  --pm-warm: #1a1612;
  --pm-warm-2: #221e19;
  --pm-ink: #2a2723;
  --pm-bubble-in: #222224;
  flex: 1;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(200px, 248px) minmax(280px, 1fr) minmax(300px, 1.08fr);
  gap: 10px;
  padding: 10px 12px 12px;
  box-sizing: border-box;
  background:
    radial-gradient(120% 80% at 12% -10%, rgba(212, 137, 58, 0.07), transparent 55%),
    linear-gradient(180deg, #1a1713 0%, var(--omni-bg) 28%, var(--omni-bg-deep, #100e0c) 100%);
  color: var(--omni-text);
  font-family: var(--omni-font-ui);
}
.pm-mind .btn {
  font-family: var(--omni-font-ui);
  font-size: 13px;
  font-weight: 650;
  padding: 8px 14px;
  border-radius: var(--omni-radius);
  border: 1px solid transparent;
  cursor: pointer;
  line-height: 1.2;
  transition: background var(--omni-transition), border-color var(--omni-transition), color var(--omni-transition);
}
.pm-mind .btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pm-mind .btn-primary {
  background: var(--omni-accent);
  color: var(--omni-on-accent, #1a1208);
  border-color: transparent;
}
.pm-mind .btn-primary:hover:not(:disabled) {
  background: var(--omni-accent-hover);
}
.pm-mind .btn-ghost {
  background: rgba(255, 255, 255, 0.03);
  color: var(--omni-text-secondary);
  border-color: var(--omni-border);
}
.pm-mind .btn-ghost:hover:not(:disabled) {
  color: var(--omni-text);
  border-color: var(--omni-accent-line);
  background: var(--omni-accent-dim);
}

.pm-mind-rail,
.pm-mind-editor,
.pm-mind-play {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--omni-border);
  border-radius: var(--omni-radius-lg);
  background:
    linear-gradient(180deg, var(--pm-warm) 0%, var(--omni-bg-elevated) 42%);
  box-shadow:
    inset 0 1px 0 rgba(244, 232, 210, 0.045),
    0 10px 28px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.pm-mind-rail__head,
.pm-mind-pane__bar {
  flex: 0 0 auto;
  padding: 12px 14px;
  border-bottom: 1px solid var(--omni-border);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  background: linear-gradient(180deg, rgba(212, 137, 58, 0.06), transparent 70%);
}
.pm-mind-rail__title-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.pm-mind-rail__title,
.pm-mind-pane__title {
  margin: 0;
  font-family: var(--omni-font-display);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--omni-text);
}
.pm-mind-rail__count {
  font-size: 12px;
  color: var(--omni-metal-bright);
  font-variant-numeric: tabular-nums;
}
.pm-mind-rail__status {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
}
.pm-mind-pill {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--omni-text-secondary);
  border: 1px solid var(--omni-border);
}
.pm-mind-rail__list {
  flex: 1;
  overflow: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: rgba(0, 0, 0, 0.12);
}
.pm-mind-agent {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 2px 8px;
  text-align: left;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  transition: background var(--omni-transition), border-color var(--omni-transition);
}
.pm-mind-agent:hover {
  background: rgba(255, 255, 255, 0.04);
  color: var(--omni-text);
}
.pm-mind-agent.is-active {
  background: var(--omni-accent-dim);
  border-color: var(--omni-accent-line);
  box-shadow: inset 0 0 0 1px rgba(212, 137, 58, 0.12);
}
.pm-mind-agent__name {
  grid-column: 1;
  font-size: 13px;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pm-mind-agent__id {
  grid-column: 1;
  font-size: 11px;
  color: var(--omni-text-muted);
  font-family: var(--omni-font-mono);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pm-mind-agent__lint {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--omni-border);
  color: var(--omni-metal-bright);
  background: rgba(255, 255, 255, 0.03);
}
.pm-mind-agent__lint--ok {
  color: var(--omni-success);
  border-color: rgba(61, 186, 122, 0.4);
  background: rgba(61, 186, 122, 0.1);
}
.pm-mind-agent__lint--warn {
  color: var(--omni-warning);
  border-color: rgba(224, 176, 58, 0.45);
  background: rgba(224, 176, 58, 0.1);
}
.pm-mind-agent__lint--err {
  color: var(--omni-danger);
  border-color: rgba(224, 84, 74, 0.45);
  background: rgba(224, 84, 74, 0.1);
}

.pm-mind-pane__who { min-width: 0; flex: 1; }
.pm-mind-pane__title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.pm-mind-pane__cap {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--omni-text-secondary);
}
.pm-mind-lint {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--omni-border);
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.03);
}
.pm-mind-lint.is-warn {
  color: var(--omni-warning);
  border-color: rgba(224, 176, 58, 0.45);
}
.pm-mind-lint.is-error {
  color: var(--omni-danger);
  border-color: rgba(224, 84, 74, 0.45);
}

.pm-mind-seg {
  flex: 0 0 auto;
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--omni-border);
  background: rgba(0, 0, 0, 0.14);
}
.pm-mind-seg__btn {
  flex: 1;
  padding: 7px 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  color: var(--omni-text-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: background var(--omni-transition), color var(--omni-transition), border-color var(--omni-transition);
}
.pm-mind-seg__btn:hover { color: var(--omni-text); background: rgba(255, 255, 255, 0.04); }
.pm-mind-seg__btn.is-active {
  color: var(--omni-text);
  background: var(--omni-accent-dim);
  border-color: var(--omni-accent-line);
}

.pm-mind-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pm-mind-tab {
  display: none;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
}
.pm-mind-tab.is-active {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
.pm-mind-tab[hidden] {
  display: none !important;
}
.pm-mind-field--grow {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.pm-mind-field--grow .pm-mind-input--fill {
  flex: 1 1 auto;
  min-height: 140px;
  height: 100%;
  resize: none;
}
.pm-mind-tab-hint {
  margin: 0;
  padding: 8px 14px;
  font-size: 12px;
  color: var(--omni-text-secondary);
  border-bottom: 1px solid var(--omni-border);
  flex: 0 0 auto;
  background: rgba(212, 137, 58, 0.04);
}
.pm-mind-field__hint {
  font-size: 12px;
  color: var(--omni-text-muted);
  line-height: 1.35;
  margin-top: -2px;
}
.pm-mind-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 40px;
  padding: 10px;
  border: 1px solid var(--omni-border);
  border-radius: var(--omni-radius);
  background: rgba(0, 0, 0, 0.18);
}
.pm-mind-chips__empty {
  font-size: 12px;
  color: var(--omni-text-muted);
  padding: 4px 2px;
}
.pm-mind-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px 5px 10px;
  border-radius: 999px;
  border: 1px solid var(--omni-border);
  background: rgba(255, 255, 255, 0.04);
  font-size: 12px;
  max-width: 100%;
}
.pm-mind-chip:hover {
  border-color: var(--omni-accent-line);
  background: var(--omni-accent-dim);
}
.pm-mind-chip__lab {
  font-weight: 650;
  color: var(--omni-text);
}
.pm-mind-chip__code {
  font-size: 10px;
  color: var(--omni-metal);
  font-family: var(--omni-font-mono);
}
.pm-mind-chip__x {
  border: none;
  background: transparent;
  color: var(--omni-text-muted);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0 2px;
}
.pm-mind-chip__x:hover { color: var(--omni-danger); }
.pm-mind-input--add {
  margin-top: 2px;
}
.pm-mind-lang {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pm-mind-lang__lab {
  font-size: 11px;
  color: var(--omni-metal-bright);
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pm-mind-bubble__who {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--omni-metal);
  margin-bottom: 4px;
}
.pm-mind-form-row {
  display: flex;
  gap: 10px;
}
.pm-mind-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0;
}
.pm-mind-field--sm { flex: 0 0 120px; }
.pm-mind-field__lab,
.pm-mind-section-lab {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--omni-metal-bright);
}
.pm-mind-input {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 11px;
  font: inherit;
  font-size: 13px;
  color: var(--omni-text);
  background: var(--pm-warm-2);
  border: 1px solid var(--omni-border);
  border-radius: var(--omni-radius);
  outline: none;
  transition: border-color var(--omni-transition), box-shadow var(--omni-transition);
}
.pm-mind-input:hover {
  border-color: var(--omni-border-strong);
}
.pm-mind-input:focus {
  border-color: var(--omni-accent-line);
  box-shadow: 0 0 0 2px var(--omni-accent-dim);
}
.pm-mind-input--area {
  resize: vertical;
  min-height: 72px;
  line-height: 1.45;
}
.pm-mind-input--mono {
  font-family: var(--omni-font-mono);
  font-size: 12px;
  line-height: 1.4;
}
.pm-mind-input--chip {
  width: auto;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
}
.pm-mind-advanced {
  border: 1px solid var(--omni-border);
  border-radius: var(--omni-radius);
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.16);
}
.pm-mind-advanced summary {
  cursor: pointer;
  font-size: 12px;
  color: var(--omni-metal-bright);
  margin-bottom: 8px;
}
.pm-mind-flash {
  padding: 8px 10px;
  font-size: 12px;
  border-radius: var(--omni-radius);
  border: 1px solid var(--omni-border);
  background: rgba(255, 255, 255, 0.03);
}
.pm-mind-flash.is-ok {
  color: var(--omni-success);
  border-color: rgba(61, 186, 122, 0.4);
  background: rgba(61, 186, 122, 0.08);
}
.pm-mind-flash.is-err {
  color: var(--omni-danger);
  border-color: rgba(224, 84, 74, 0.4);
  background: rgba(224, 84, 74, 0.08);
}

.pm-mind-play__tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.pm-mind-play__body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(90% 60% at 80% 0%, rgba(212, 137, 58, 0.05), transparent 60%),
    rgba(0, 0, 0, 0.14);
}
.pm-mind-play__thread {
  flex: 1;
  overflow: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pm-mind-bubble {
  max-width: 88%;
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}
.pm-mind-bubble--in {
  align-self: flex-start;
  background: var(--pm-bubble-in);
  border: 1px solid var(--omni-border);
  color: var(--omni-text);
}
.pm-mind-bubble--out {
  align-self: flex-end;
  background: var(--pm-ink);
  border: 1px solid rgba(212, 137, 58, 0.18);
  color: var(--omni-text);
}
.pm-mind-suite {
  margin: 0 14px 8px;
  padding: 10px 12px;
  border-radius: var(--omni-radius);
  border: 1px solid var(--omni-border);
  background: var(--pm-warm-2);
  font-size: 12px;
}
.pm-mind-suite__sum { margin-bottom: 6px; color: var(--omni-text-secondary); }
.pm-mind-suite__pre {
  margin: 0;
  font-family: var(--omni-font-mono);
  font-size: 11px;
  white-space: pre-wrap;
  color: var(--omni-text-muted);
  max-height: 120px;
  overflow: auto;
}
.pm-mind-play__dock {
  flex: 0 0 auto;
  border-top: 1px solid var(--omni-border);
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: linear-gradient(180deg, var(--pm-warm) 0%, var(--omni-bg-elevated) 100%);
}
.pm-mind-play__compose {
  display: flex;
  gap: 8px;
}
.pm-mind-play__compose .pm-mind-input { flex: 1; }
.pm-mind-xray {
  font-size: 11px;
  color: var(--omni-metal-bright);
  font-family: var(--omni-font-mono);
  line-height: 1.4;
}
.pm-mind-play__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.pm-mind-play__spacer { flex: 1; }

.pm-mind-empty {
  padding: 28px 16px;
  text-align: center;
  font-size: 13px;
  color: var(--omni-text-secondary);
  line-height: 1.5;
  margin: auto 0;
}
.pm-mind-muted {
  font-size: 11px;
  color: var(--omni-text-muted);
}

@media (max-width: 980px) {
  .pm-mind {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(160px, 28vh) minmax(220px, 1fr) minmax(260px, 1fr);
    overflow: auto;
    gap: 8px;
    padding: 8px;
  }
  .pm-mind-rail,
  .pm-mind-editor,
  .pm-mind-play {
    min-height: 0;
  }
}


/* Labs panels (QR/Fleet · Stack) */
.labs-fleet,
.labs-stack {
  padding: 12px 14px 24px;
  gap: 12px;
}
.labs-fleet .ops-card,
.labs-stack .ops-card {
  margin: 0;
}
.labs-fleet__sub,
.labs-stack .ops-card__sub {
  color: var(--omni-metal-bright, #c4b8a8);
}
.labs-fleet__toolbar,
.labs-fleet__modes {
  margin-top: 0.75rem;
  flex-wrap: wrap;
  gap: 8px;
}
.labs-fleet__select {
  min-width: 220px;
  max-width: min(420px, 70vw);
}
.labs-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  border: 1px solid var(--omni-line, rgba(255,255,255,0.12));
  color: var(--omni-text-muted, #9a9084);
}
.labs-chip.is-on {
  color: var(--omni-accent-hover, #e49a4c);
  border-color: var(--omni-accent, #d4893a);
  background: var(--omni-accent-dim, rgba(212, 137, 58, 0.14));
}
.labs-chip.is-off { opacity: 0.85; }
.labs-qr {
  display: grid;
  place-items: center;
  min-height: 12rem;
  margin-top: 0.75rem;
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid var(--omni-line, rgba(255,255,255,0.1));
  background: rgba(0,0,0,0.22);
}
.labs-qr__img {
  display: block;
  width: 180px;
  height: 180px;
  border-radius: 8px;
  background: #fff;
}
/* display:block on img must not beat [hidden] — same class of bug as legacy auth strip */
.labs-qr__img[hidden],
.labs-qr__skel[hidden],
.labs-fleet [hidden] {
  display: none !important;
}
.labs-qr__skel {
  color: var(--omni-metal-bright, #c4b8a8);
  font-size: 0.85rem;
  text-align: center;
  max-width: 16rem;
}
.labs-qr__hint {
  margin: 0.65rem 0 0.75rem;
  font-size: 0.78rem;
  color: var(--omni-text-muted, #9a9084);
}
.ops-hint.is-bad,
[data-fleet-msg].is-bad {
  color: #e07070;
}
