/* Host-page integration only. The launcher drawer is isolated in Shadow DOM. */
izmsis-workspace-launcher {
  position: fixed;
  z-index: 2147483000;
  right: 16px;
  top: 16px;
  display: block;
  width: max-content;
  height: max-content;
}

izmsis-workspace-launcher[hidden] {
  display: none !important;
}

[data-workspace-legacy-hidden="true"] {
  display: none !important;
  pointer-events: none !important;
}

/* Keep the application's existing navigation until the optional launcher has
   a valid profile, loaded styles and a mounted control. */

[data-workspace-chrome-slot="true"] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

[data-workspace-chrome-slot="true"] > izmsis-workspace-launcher {
  position: static;
  z-index: auto;
  inset: auto;
  display: inline-flex;
  flex: 0 0 auto;
  order: 100;
  margin: 0;
  pointer-events: auto;
}

html[data-workspace-app="tasks"] .dashboard-corner-actions[data-workspace-chrome-slot] {
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
}

html[data-workspace-app="assistant"] .assistant-identity {
  min-width: 0;
  margin-right: auto;
}

html[data-workspace-app="operator"] .operator-titlebar__actions {
  align-self: start;
}

html[data-workspace-app="instructions"] .portal-header,
html[data-workspace-app="files"] .files-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-inline: 16px;
}

html[data-workspace-app="instructions"] .portal-heading,
html[data-workspace-app="files"] .files-heading {
  min-width: 0;
  justify-content: flex-start;
}

html[data-workspace-app="instructions"] .portal-nav,
html[data-workspace-app="files"] .files-nav {
  width: auto;
  flex: 0 0 auto;
  justify-content: flex-end;
}

[data-workspace-heading="inline"] {
  display: flex;
  align-items: center;
  gap: 10px;
}

[data-workspace-heading="group"] {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
}

[data-workspace-heading="group"] > :not([data-workspace-app-icon]) {
  grid-column: 2;
}

[data-workspace-heading="group"] > [data-workspace-app-icon] {
  grid-column: 1;
  grid-row: 1 / span 3;
}

/* Same lossless artwork and tile coordinates as the catalog. Native marks
   remain in the DOM so disabling the shared shell restores the original UI. */
html [data-workspace-app-icon] {
  display: inline-block !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  flex: 0 0 44px;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

[data-workspace-app-icon] > *,
[data-workspace-app-icon]::before,
[data-workspace-app-icon]::after {
  display: none !important;
}

html :is([data-workspace-app-icon="tasks"], [data-workspace-app-icon="crm"],
  [data-workspace-app-icon="reports"], [data-workspace-app-icon="money"],
  [data-workspace-app-icon="logist"], [data-workspace-app-icon="operator"],
  [data-workspace-app-icon="arshin"], [data-workspace-app-icon="snake"]) {
  background-image: var(--workspace-header-core-icons-image) !important;
  background-size: 400% 200% !important;
}

[data-workspace-app-icon="tasks"] { background-position: 0 0 !important; }
[data-workspace-app-icon="crm"] { background-position: 33.333% 0 !important; }
[data-workspace-app-icon="reports"] { background-position: 66.667% 0 !important; }
[data-workspace-app-icon="money"] { background-position: 100% 0 !important; }
[data-workspace-app-icon="logist"] { background-position: 0 100% !important; }
[data-workspace-app-icon="operator"] { background-position: 33.333% 100% !important; }
[data-workspace-app-icon="arshin"] { background-position: 66.667% 100% !important; }
[data-workspace-app-icon="snake"] { background-position: 100% 100% !important; }

html :is([data-workspace-app-icon="instructions"], [data-workspace-app-icon="files"],
  [data-workspace-app-icon="svoy"], [data-workspace-app-icon="assistant"],
  [data-workspace-app-icon="complaints"], [data-workspace-app-icon="agents"]) {
  background-image: var(--workspace-header-secondary-icons-image) !important;
  background-size: 300% 200% !important;
}

[data-workspace-app-icon="instructions"] { background-position: 0 0 !important; }
[data-workspace-app-icon="files"] { background-position: 50% 0 !important; }
[data-workspace-app-icon="svoy"] { background-position: 100% 0 !important; }
[data-workspace-app-icon="assistant"] { background-position: 0 100% !important; }
[data-workspace-app-icon="complaints"] { background-position: 50% 100% !important; }
[data-workspace-app-icon="agents"] { background-position: 100% 100% !important; }

html [data-workspace-app-icon="protocols"] {
  background-image: url("./icons/workspace-protocols-v1.webp") !important;
  background-size: contain !important;
  background-position: center !important;
}

html[data-workspace-app="instructions"],
html[data-workspace-app="files"] {
  --page: #eef5f9;
  --surface: #ffffff;
  --ink: #123a5a;
  --muted: #4c6172;
  --line: #d4e2ea;
  --accent: #00718f;
  --accent-dark: #123a5a;
  --accent-soft: #e3f7fd;
  --role-accent: #00718f;
  --hover: #eaf7fc;
  --shadow: 0 12px 34px rgba(18, 58, 90, 0.1);
}

html[data-workspace-app="instructions"] .portal-workbar,
html[data-workspace-app="files"] .files-toolbar {
  background: #f5f9fc;
}

html[data-workspace-app="instructions"] :is(input, select):focus,
html[data-workspace-app="files"] :is(input, select):focus {
  border-color: #0098c8;
  box-shadow: 0 0 0 3px rgba(0, 182, 240, 0.18);
}

html[data-workspace-app="instructions"] .app-link:hover,
html[data-workspace-app="instructions"] .app-icon-link:hover,
html[data-workspace-app="files"] .app-link:hover,
html[data-workspace-app="files"] .app-icon-link:hover {
  color: #123a5a;
  background: #e3f7fd;
  border-color: #66cbed;
}

html[data-workspace-app="files"] .pinned-section {
  border-color: #b9deeb;
  background: linear-gradient(120deg, #e3f7fd 0%, #f5fbfd 58%, #ffffff 100%);
}

html[data-workspace-app="files"] .access-pill {
  color: #006887;
  background: #dff4fc;
  border-color: #83d3ec;
}

html[data-workspace-app="files"] .role-control {
  --role-accent: #00718f;
  border-color: #83d3ec;
  background: #e3f7fd;
  box-shadow: 0 3px 12px rgba(18, 58, 90, 0.07);
}

html[data-workspace-app="files"] .role-control select {
  color: #123a5a;
  border-color: #b9cfdb;
}

html[data-workspace-app="files"] .file-item.is-selected {
  background: #e3f7fd !important;
}

html[data-workspace-app="files"] .file-action.is-pinned {
  color: #00718f;
  background: #e3f7fd;
  border-color: #83d3ec;
}

html[data-workspace-app="files"] .file-action.is-pinned svg { fill: #b9e9f8; }
html[data-workspace-app="files"] :is(.file-viewer, .file-viewer-stage) { background: #eef5f9; }
html[data-workspace-app="files"] .file-viewer-bar { border-color: #d4e2ea; box-shadow: 0 3px 14px rgba(18, 58, 90, .08); }
html[data-workspace-app="files"] :is(.viewer-download, .viewer-close, .file-viewer-loading) { background: #f5f9fc; border-color: #b9cfdb; }
html[data-workspace-app="files"] :is(.viewer-download, .viewer-close):is(:hover, :focus-visible) { outline-color: rgba(0, 182, 240, .2); }
html[data-workspace-app="files"] .file-viewer-loading span { border-color: #b9deeb; border-top-color: #0098c8; }
html[data-workspace-app="files"] .files-empty { background: #f5f9fc; }
html[data-workspace-app="files"] .toast { background: #123a5a; }

/* Authored guides live in an iframe. The allowlisted HTML response gets this
   theme too, without a second launcher or any alteration of its content. */
html[data-workspace-document-theme],
html[data-workspace-document-theme] :is(.general-guide, .role-guide, .role-guide.scheme-role, .role-guide.logist-unified),
html[data-workspace-document-theme] #logist-operational-guide {
  --bg: #eef5f9;
  --page: #eef5f9;
  --paper: #ffffff;
  --surface: #ffffff;
  --surface-soft: #f5f9fc;
  --ink: #123a5a;
  --muted: #4c6172;
  --line: #d4e2ea;
  --accent: #00718f;
  --accent-dark: #123a5a;
  --soft: #e3f7fd;
  --soft-2: #f5f9fc;
  --accent-soft: #e3f7fd;
}

html[data-workspace-document-theme] body { background: #eef5f9; }
html[data-workspace-document-theme] .role-guide :is(.guide-nav [aria-current="page"], .guide-nav a.is-active, .guide-nav button.is-active, .guide-nav .active) {
  color: #123a5a;
  background: #e3f7fd;
  border-color: #0098c8;
}
html[data-workspace-document-theme] .role-guide :is(.guide-code, .guide-nav .code, .guide-nav-code) { color: #00718f; }
html[data-workspace-document-theme] .role-guide .guide-nav [aria-current="page"] .guide-summary { color: #4c6172; }
html[data-workspace-document-theme] .role-guide :is(.guide-button, .bpmn-button):hover { border-color: #83d3ec; }
html[data-workspace-document-theme] .role-guide :is(.file-manager-link, .role-files-link) {
  color: #123a5a;
  border-color: #83d3ec;
  background: #e3f7fd;
}
html[data-workspace-document-theme] .role-guide :is(.file-manager-link, .role-files-link):is(:hover, :focus-visible) {
  border-color: #0098c8;
  background: #d4f1fb;
}
html[data-workspace-document-theme] .role-guide :is(.quick-card, .route-card, .done-item, .page-toc, .guide-table th) {
  background: #f5f9fc;
}
html[data-workspace-document-theme] .role-guide :is(.step-list li, .pill-link, .page-toc, .page-toc a, .quick-card, .path-box, .page-next-link, .doc-item, .script-box, .status-chip) { border-color: #d4e2ea; }
html[data-workspace-document-theme] .role-guide :is(.lede, .purpose, .doc-note) { color: #4c6172; }
html[data-workspace-document-theme] .role-guide .source-doc-link { border-color: #83d3ec; }
html[data-workspace-document-theme] .role-guide :is(.guide-search-results, .print-options, .to-top, .xt-pop) { box-shadow: 0 6px 20px rgba(18, 58, 90, .16); }
html[data-workspace-document-theme] .role-guide dialog { box-shadow: 0 12px 40px rgba(18, 58, 90, .3); }
html[data-workspace-document-theme] .role-guide dialog::backdrop { background: rgba(8, 24, 38, .78); }
html[data-workspace-document-theme] .role-guide .xt-col { color: #4c6172; }
html[data-workspace-document-theme] .role-guide :is(.xt-col:hover, .xt-col:focus-visible, td.xt-num:hover, tr.xt-title-row td:hover, td.xt-block, td.xt-block:hover, .xt-swatch-block) { background: #e3f7fd; }
html[data-workspace-document-theme] .role-guide tr.xt-title-row td { color: #123a5a; }
html[data-workspace-document-theme] .general-guide :is(.screen, .screen-media, .gallery-thumbs, .thumb-strip, .mini-table th) { background: #eef5f9; }
html[data-workspace-document-theme] #logist-operational-guide :is(.hero, .registry-section) { box-shadow: 0 16px 42px rgba(18, 58, 90, .08); }
html[data-workspace-document-theme] #logist-operational-guide :is(.intro, .screen figcaption, .verification-lead) { color: #4c6172; }
html[data-workspace-document-theme] #logist-operational-guide :is(.screen, .screen-media) { background: #eef5f9; }
html[data-workspace-document-theme] #logist-operational-guide .pin { color: #123a5a; }
html[data-workspace-document-theme] #logist-operational-guide :is(.gallery-bar button, .zoom-close):is(:hover, :focus-visible) { outline-color: rgba(0, 182, 240, .2); }

/* Diagram artwork and status tones are authored content. Only the viewer's
   controls/grid are themed; success/warning/error feedback stays untouched. */
html[data-workspace-document-theme] .bpmn-stage { background: linear-gradient(#edf5fa 1px, transparent 1px) 0 0 / 100% 26px, linear-gradient(90deg, #edf5fa 1px, transparent 1px) 0 0 / 26px 100%, #ffffff; }
html[data-workspace-document-theme] :is(.bpmn-toolbar, .bpmn-edit-toolbar) { border-color: #d4e2ea; box-shadow: 0 6px 18px rgba(18, 58, 90, .14); }
html[data-workspace-document-theme] :is(.bpmn-control, .bpmn-edit-control, .bpmn-zoom-level) { color: #123a5a; border-color: #d4e2ea; }
html[data-workspace-document-theme] :is(.bpmn-edit-control.is-primary, .bpmn-control[data-bpmn-action="expand"]) { color: #ffffff; background: #00718f; }
html[data-workspace-document-theme] :is(.bpmn-edit-control.is-primary, .bpmn-control[data-bpmn-action="expand"]):hover:not(:disabled) { background: #005f79; }
html[data-workspace-document-theme] :is(.bpmn-control:not([data-bpmn-action="expand"]), .bpmn-edit-control:not(.is-primary)):hover:not(:disabled) { color: #123a5a; background: #e3f7fd; }
html[data-workspace-document-theme] .bpmn-edit-control:disabled { color: #728594; background: #f0f5f8; }
html[data-workspace-document-theme] :is(.bpmn-hint, .bpmn-status, .bpmn-fallback-note) { color: #4c6172; border-color: #d4e2ea; }
html[data-workspace-document-theme] .bpmn-fallback-note { background: #f5f9fc; }
html[data-workspace-document-theme] .bpmn-canvas:focus-visible { box-shadow: inset 0 0 0 3px rgba(0, 182, 240, .24); }

html[data-workspace-app="reports"] {
  --bg: #eef5f9;
  --panel: #ffffff;
  --ink: #123a5a;
  --muted: #4c6172;
  --line: #d4e2ea;
  --accent: #00718f;
  --soft: #e3f7fd;
}

html[data-workspace-app="reports"] .topbar,
html[data-workspace-app="reports"] .dashboard-nav-shell {
  border-color: #d4e2ea;
}

html[data-workspace-app="reports"] .dashboard-switch-link,
html[data-workspace-app="reports"] .nav-toggle:hover {
  color: #123a5a;
  border-color: #00b6f0;
}

html[data-workspace-app="reports"] .tab-button.is-active {
  color: #123a5a;
  background: #e3f7fd;
  border-color: #0098c8;
  box-shadow: inset 3px 0 0 #0098c8;
}

html[data-workspace-app="reports"] :is(.finance-hero, .klc-ai-panel) {
  background: var(--panel);
  border-color: var(--line);
}

html[data-workspace-app="reports"] :is(.finance-pulse span, .source-note-popover-head, .source-note-section, .klc-cockpit, .klc-signal-group) { border-color: var(--line); }
html[data-workspace-app="reports"] :is(.source-note-section h3, .conversation-examples-summary span, .conversation-case-meta span, .overview-flow-arrow strong, .overview-flow-reading strong) { color: var(--ink); }
html[data-workspace-app="reports"] :is(.klc-ai-more summary, .assistant-context button) { color: var(--accent); }
html[data-workspace-app="reports"] .source-note-section.formula { border-left-color: #0098c8; }
html[data-workspace-app="reports"] .conversation-line span { color: var(--muted); }
/* Rail's compact totals use a fixed navy accent in the light report stylesheet. */
html[data-workspace-app="reports"][data-workspace-theme="dark"]
  :is(.work-summary dd, .other-amount strong) { color: #67d6ff; }
html[data-workspace-app="reports"] .conversation-line.is-highlight p { background: var(--soft); border-color: #83d3ec; }
html[data-workspace-app="reports"] :is(.freshness-chip, .assistant-context button) { color: var(--ink); }
html[data-workspace-app="reports"] .freshness-chip:hover { background: var(--soft); }

/* Only the original primary chart series and its SVG legend swatches change.
   Positive/negative indicators and source-quality badges retain their colors. */
html[data-workspace-app="reports"] svg [stroke="#0f766e"] { stroke: #007da8; }
html[data-workspace-app="reports"] svg [fill="#0f766e"] { fill: #007da8; }

html[data-workspace-app="reports"] .assistant-launcher {
  width: 44px;
  height: 44px;
  color: #123a5a;
  background: #ffffff;
  border: 1px solid #66cbed;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(18, 58, 90, .14);
}
html[data-workspace-app="reports"] .assistant-panel { border-color: #b9cfdb; }
html[data-workspace-app="reports"] .assistant-header { background: var(--soft); }
html[data-workspace-app="reports"] .assistant-message.is-user { border-color: #b9deeb; }
html[data-workspace-app="reports"] .assistant-form button { background: #00718f; }
html[data-workspace-app="reports"] .assistant-form .assistant-voice-button { background: #e3f7fd; color: #123a5a; border-color: #83d3ec; }

html[data-workspace-app="reports"] body.theme-dark {
  --bg: #0c1d2a;
  --panel: #132a3a;
  --ink: #f4fbff;
  --muted: #b4cad5;
  --line: #2b4a5e;
  --accent: #55d4fa;
  --soft: #183346;
  --dark-panel-raised: #183346;
  --dark-panel-soft: #1d4055;
  --dark-line-strong: #3d6074;
}

html[data-workspace-app="money"] {
  color-scheme: dark;
  --bg: #0c1d2a;
  --surface: #132a3a;
  --surface-raised: #18384c;
  --input: #0f2636;
  --text: #f4fbff;
  --muted: #aac2cf;
  --link: #55d4fa;
  --button: #00b6f0;
  --button-text: #082133;
  --border: #2b4a5e;
}

html[data-workspace-app="money"] body.desktop-mode {
  --bg: #0c1d2a;
  --surface: #132a3a;
  --text: #f4fbff;
  --muted: #aac2cf;
  --link: #55d4fa;
  --button: #00b6f0;
  --button-text: #082133;
}

html[data-workspace-app="money"] .app-header {
  background: #102638;
}

html[data-workspace-app="money"] .segmented {
  background: #102536;
}

html[data-workspace-app="money"] .submit-bar {
  background: color-mix(in srgb, #102638 94%, transparent);
}

html[data-workspace-app="snake"] {
  --bg: #eef5f9;
  --surface: #ffffff;
  --surface-muted: #f5f9fc;
  --ink: #123a5a;
  --muted: #4c6172;
  --line: #d4e2ea;
  --line-strong: #b9cfdb;
  --brand: #00718f;
  --brand-dark: #123a5a;
  --brand-soft: #e3f7fd;
  --info: #245f91;
  --info-soft: #eaf3fb;
  --shadow: 0 1px 2px rgba(18, 58, 90, 0.05), 0 8px 24px rgba(18, 58, 90, 0.07);
  --focus: 0 0 0 3px rgba(0, 182, 240, 0.22);
}

html[data-workspace-app="snake"] .tabs {
  border-bottom-color: #d4e2ea;
}

html[data-workspace-app="snake"] :is(.step-number, .button.secondary, .price-button) { border-color: #b9deeb; }
html[data-workspace-app="snake"] :is(.button.secondary, .price-button):hover { background: #d4f1fb; }

html[data-workspace-app="arshin"] {
  --bg: #eef5f9;
  --surface: #ffffff;
  --surface-soft: #f5f9fc;
  --ink: #123a5a;
  --muted: #4c6172;
  --line: #d4e2ea;
  --teal: #00718f;
  --blue: #245f91;
  --teal-fill: #e3f7fd;
  --shadow: 0 10px 24px rgba(18, 58, 90, 0.1);
}

html[data-workspace-app="arshin"] .mode-tab.active {
  border-bottom-color: #00b6f0;
}

html[data-workspace-app="arshin"] .kset-gear.is-active {
  background: #123a5a;
  border-color: #00b6f0;
}

html[data-workspace-app="svoy-chuzhoy"] {
  --accent: #00718f;
  --accent-dark: #123a5a;
  --focus: rgba(0, 182, 240, 0.22);
}

html[data-workspace-app="svoy-chuzhoy"] :is(
  .account a[href="/auth/logout"],
  .topbar-actions a[href="/auth/logout"]
) {
  display: none !important;
}

@media (prefers-color-scheme: dark) {
  html[data-workspace-app="arshin"] {
    --bg: #0c1d2a;
    --surface: #132a3a;
    --surface-soft: #183346;
    --ink: #f4fbff;
    --muted: #b4cad5;
    --line: #2b4a5e;
    --teal: #55d4fa;
    --blue: #8bcdf0;
    --teal-fill: #123e54;
    --shadow: 0 14px 30px rgba(0, 0, 0, 0.32);
  }
}

@media (max-width: 640px) {
  /* Keep the launcher in the top-right grid cell. Long profile/status copy
     gets its own row instead of pushing the launcher below the heading. */
  html[data-workspace-app="crm"] .userbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 8px;
    width: 100%;
  }
  html[data-workspace-app="crm"] .user-chip {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  html[data-workspace-app="crm"] .clients-entry { padding-inline: 10px; }

  /* Phone filters must remain visible together, without a second horizontal
     scroll strip above the independently scrollable board. */
  html[data-workspace-app="crm"] .filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  html[data-workspace-app="crm"] .filter-field:first-child { grid-column: 1 / -1; }
  html[data-workspace-app="crm"] .filter-action { min-width: 0; width: 100%; }

  html[data-workspace-app="logist"] .intake-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  html[data-workspace-app="logist"] .intake-tabs button {
    min-width: 0;
    min-height: 44px;
    white-space: normal;
  }
  html[data-workspace-app="logist"] .intake-tabs button:first-child { grid-column: 1 / -1; }
  html[data-workspace-app="logist"] .route-overview-panel .meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html[data-workspace-app="logist"] .route-overview-panel .meta-grid > div { min-width: 0; overflow-wrap: anywhere; }
  html[data-workspace-app="logist"] .intake-heading > h1 { font-size: 24px; line-height: 1.2; }
  /* Leave a separate place for the assistant beside the persistent route actions. */
  html[data-workspace-app="logist"] .route-page .route-mobile-actions:not([hidden]) { padding-inline-end: 72px; }
  html[data-workspace-app="logist"] .route-mobile-actions > * { min-width: 0; }
  html[data-workspace-app="logist"] .route-page { padding-bottom: 72px; }

  /* Keep the history table's own scroll area inside the phone viewport. */
  html[data-workspace-app="snake"] .table-card { min-width: 0; max-width: 100%; }

  /* The news panel uses a document overlay, below the assistant's fixed layer.
     Restore the assistant automatically when the panel releases its body lock. */
  html[data-workspace-app="tasks"] body.wn-lock izmsis-workspace-assistant { visibility: hidden; }

  /* A 340px pinned task column leaves no usable timeline on a phone. */
  html[data-workspace-app="tasks"] .roadmap-shell {
    --mobile-roadmap-label-width: min(168px, 44vw);
    min-width: max(100%, calc(var(--mobile-roadmap-label-width) + var(--roadmap-day-count) * var(--roadmap-day-width)));
  }
  html[data-workspace-app="tasks"] .roadmap-grid-row {
    grid-template-columns: var(--mobile-roadmap-label-width) repeat(var(--roadmap-day-count), var(--roadmap-day-width)) !important;
  }
  html[data-workspace-app="tasks"] .roadmap-task-title { white-space: normal; overflow-wrap: anywhere; }

  html[data-workspace-app="arshin"] .filter-period {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  html[data-workspace-app="arshin"] .filter-period .filter-label { grid-column: 1 / -1; }
  html[data-workspace-app="arshin"] .filter-period-dash { display: none; }
  html[data-workspace-app="arshin"] .filter-period > label { min-width: 0; }
  html[data-workspace-app="arshin"] .filter-period input { width: 100%; min-width: 0; }

  html[data-workspace-app="protocols"] .top .account { margin-inline-start: auto; }

  html[data-workspace-app="logist"] .intake-heading,
  html[data-workspace-app="snake"] .app-header,
  html[data-workspace-app="reports"] .topbar,
  html[data-workspace-app="money"] .app-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
  }
  html[data-workspace-app="logist"] .intake-heading__aside,
  html[data-workspace-app="snake"] .header-statuses,
  html[data-workspace-app="reports"] .topbar-actions,
  html[data-workspace-app="money"] .header-actions {
    display: contents;
  }
  html[data-workspace-app="logist"] .intake-heading > h1,
  html[data-workspace-app="snake"] .brand-block,
  html[data-workspace-app="reports"] .topbar > h1,
  html[data-workspace-app="money"] .app-header > [data-workspace-heading] {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  html:is([data-workspace-app="logist"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="money"])
    [data-workspace-chrome-slot] > :not(izmsis-workspace-launcher) {
    grid-column: 1 / -1;
    justify-self: end;
  }
  html:is([data-workspace-app="logist"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="money"])
    [data-workspace-chrome-slot] > izmsis-workspace-launcher {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
  html[data-workspace-app="operator"] .operator-titlebar {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 10px;
  }
  html[data-workspace-app="operator"] .operator-titlebar > [data-workspace-heading] {
    display: contents;
  }
  html[data-workspace-app="operator"] .operator-titlebar [data-workspace-app-icon] { grid-row: 1 / span 2; grid-column: 1; }
  html[data-workspace-app="operator"] .operator-titlebar :is(.eyebrow, .operator-kicker) { grid-row: 1; grid-column: 2; }
  html[data-workspace-app="operator"] .operator-titlebar h1 { grid-row: 2; grid-column: 2; font-size: 24px; }
  html[data-workspace-app="operator"] .operator-titlebar :is(.operator-lead, .lead) { grid-row: 3; grid-column: 1 / -1; }
  html[data-workspace-app="operator"] .operator-titlebar__actions { grid-row: 1 / span 2; grid-column: 3; flex-direction: column-reverse; align-items: flex-end; gap: 6px; }

  html[data-workspace-app="svoy-chuzhoy"] :is(main.page > header, .topbar) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px 12px;
  }
  html[data-workspace-app="svoy-chuzhoy"] :is(.account, .topbar-actions) {
    display: contents;
  }
  html[data-workspace-app="svoy-chuzhoy"] :is(main.page > header, .topbar) > div:first-child {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  html[data-workspace-app="svoy-chuzhoy"] [data-workspace-chrome-slot] > izmsis-workspace-launcher {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
  html[data-workspace-app="svoy-chuzhoy"] [data-workspace-chrome-slot] > :not(izmsis-workspace-launcher) {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 400px) {
  html[data-workspace-app="arshin"] .filter-period { grid-template-columns: minmax(0, 1fr); }
}

/* Presentation-only palettes. Never filter/invert images, maps or documents.
   All overrides are screen-only; application print rules retain their colors. */
@media screen {
  html[data-workspace-theme="light"] {
    color-scheme: light;
    --ws-bg: #eef5f9; --ws-surface: #ffffff; --ws-soft: #f5f9fc;
    --ws-ink: #123a5a; --ws-muted: #4c6172; --ws-line: #d4e2ea;
    --ws-line-strong: #a9c3d2; --ws-accent: #00718f; --ws-accent-soft: #e3f7fd;
    --ws-green: #176846; --ws-green-soft: #e4f4ec; --ws-red: #b3261e;
    --ws-red-soft: #fdf1f0; --ws-amber: #805600; --ws-amber-soft: #fff6da;
  }
  html[data-workspace-theme="dark"] {
    color-scheme: dark;
    --ws-bg: #0c1d2a; --ws-surface: #132a3a; --ws-soft: #183346;
    --ws-ink: #f4fbff; --ws-muted: #b4cad5; --ws-line: #2b4a5e;
    --ws-line-strong: #4b6d80; --ws-accent: #55d4fa; --ws-accent-soft: #123e54;
    --ws-green: #7ddfbb; --ws-green-soft: #143b32; --ws-red: #ffaaa1;
    --ws-red-soft: #472b30; --ws-amber: #efbf69; --ws-amber-soft: #3d3422;
  }

  /* Existing single-palette applications share token meanings, not layouts. */
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"], [data-workspace-app="logist"], [data-workspace-app="operator"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="svoy-chuzhoy"], [data-workspace-app="agents-calculation"], [data-workspace-app="protocols"]),
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"], [data-workspace-app="logist"], [data-workspace-app="operator"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="svoy-chuzhoy"], [data-workspace-app="agents-calculation"], [data-workspace-app="protocols"]) body {
    --bg: var(--ws-bg); --page: var(--ws-bg); --panel: var(--ws-surface); --surface: var(--ws-surface);
    --surface-soft: var(--ws-soft); --surface-muted: var(--ws-soft); --ink: var(--ws-ink); --text: var(--ws-ink);
    --muted: var(--ws-muted); --line: var(--ws-line); --line-soft: var(--ws-line); --line-strong: var(--ws-line-strong);
    --border: var(--ws-line); --accent: var(--ws-accent); --accent-dark: #9fe4fb; --accent-soft: var(--ws-accent-soft);
    --soft: var(--ws-accent-soft); --hover: #20445b; --shadow: 0 12px 34px rgb(0 0 0 / 22%);
    --role-accent: #7ad9fa; --good: var(--ws-green); --good-soft: var(--ws-green-soft);
    --bad: var(--ws-red); --bad-soft: var(--ws-red-soft); --warn: var(--ws-amber); --warn-soft: var(--ws-amber-soft);
    --info: #8ec6ff; --info-soft: #1c3654; --focus: rgb(85 212 250 / 28%);
    color-scheme: dark;
  }
  html[data-workspace-theme="dark"]:is([data-workspace-app="logist"], [data-workspace-app="protocols"], [data-workspace-app="agents-calculation"], [data-workspace-app="reports"]) body {
    background: var(--ws-bg); color: var(--ws-ink);
  }
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"], [data-workspace-app="logist"], [data-workspace-app="operator"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="svoy-chuzhoy"], [data-workspace-app="agents-calculation"], [data-workspace-app="protocols"])
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line-strong); color-scheme: dark;
  }
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"], [data-workspace-app="logist"], [data-workspace-app="operator"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="svoy-chuzhoy"], [data-workspace-app="agents-calculation"], [data-workspace-app="protocols"])
    :is(input, textarea)::placeholder { color: var(--ws-muted); opacity: .85; }
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"], [data-workspace-app="logist"], [data-workspace-app="operator"], [data-workspace-app="snake"], [data-workspace-app="reports"], [data-workspace-app="svoy-chuzhoy"], [data-workspace-app="agents-calculation"], [data-workspace-app="protocols"]) dialog {
    background: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line-strong);
  }

  /* Money has its own Telegram theme. Only its verified desktop shell changes. */
  html[data-workspace-app="money"][data-workspace-theme="light"] body.desktop-mode {
    --bg: var(--ws-bg); --surface: var(--ws-surface); --surface-raised: var(--ws-soft); --input: #ffffff;
    --text: var(--ws-ink); --muted: var(--ws-muted); --link: #00718f; --button: #00718f; --button-text: #ffffff;
    --border: var(--ws-line-strong); --danger: #b3261e; --success: #176846; --warning: #805600;
    color-scheme: light;
  }
  html[data-workspace-app="money"][data-workspace-theme="dark"] body.desktop-mode {
    --bg: var(--ws-bg); --surface: var(--ws-surface); --surface-raised: var(--ws-soft); --input: #0c2030;
    --text: var(--ws-ink); --muted: var(--ws-muted); --link: #55d4fa; --button: #0084b0; --button-text: #ffffff;
    --border: var(--ws-line-strong); --danger: #ffaaa1; --success: #7ddfbb; --warning: #efbf69;
    color-scheme: dark;
  }
  html[data-workspace-app="money"][data-workspace-theme] body.desktop-mode :is(.app-header, .bottom-nav, .request-toolbar, .segmented, .submit-bar, .toast) {
    background: var(--surface); color: var(--text); border-color: var(--border);
  }
  html[data-workspace-app="money"][data-workspace-theme="dark"] body.desktop-mode :is(.button.approve, .button.block) { color: #0c1d2a; }

  /* Instructions/files: only our browser, viewer chrome and editable text. */
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"])
    :is(.portal-header, .portal-workbar, .portal-sidebar, .instruction-card, .files-header, .files-toolbar, .file-viewer, .file-viewer-header, .file-viewer-actions, .file-row, .file-card, .file-preview, .version-preview, .breadcrumb, .empty-state, .search-result) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-theme="dark"]:is([data-workspace-app="instructions"], [data-workspace-app="files"])
    :is(.portal-search, .role-select, .app-link, .file-action, .file-actions button, .viewer-actions button, .file-command-actions button, .file-tools summary, .file-tools > div, .file-move-actions button, .text-file-actions button, .file-operation-dialog button, .square-control) {
    background-color: var(--ws-soft); color: var(--ws-ink); border-color: var(--ws-line-strong);
  }
  html[data-workspace-theme="dark"][data-workspace-app="files"] :is(.file-command-actions button:first-child, .file-move-actions button:last-child, .text-file-actions button:last-child) {
    background: #00718f; color: #fff;
  }
  html[data-workspace-theme="dark"][data-workspace-app="files"] .file-operation-dialog .danger-button {
    background-color: var(--ws-red-soft); color: var(--ws-red);
  }

  /* Arshin already has a system palette; explicit light must override that media query. */
  html[data-workspace-app="arshin"][data-workspace-theme] {
    --bg: var(--ws-bg); --surface: var(--ws-surface); --surface-soft: var(--ws-soft);
    --ink: var(--ws-ink); --muted: var(--ws-muted); --line: var(--ws-line); --teal: var(--ws-accent);
    --blue: var(--ws-accent); --amber: var(--ws-amber); --green: var(--ws-green); --red: var(--ws-red);
    --teal-fill: var(--ws-accent-soft); --amber-fill: var(--ws-amber-soft); --green-fill: var(--ws-green-soft); --red-fill: var(--ws-red-soft);
  }
  html[data-workspace-app="arshin"][data-workspace-theme] body { color-scheme: inherit; }
  html[data-workspace-app="arshin"][data-workspace-theme="dark"] .primary { background: #00718f; color: #fff; }

  /* Routing/operator maps and printable route sheets are not styled here. */
  html[data-workspace-theme="dark"][data-workspace-app="operator"] {
    --operator-navy: #132a3a; --operator-ink: var(--ws-ink); --operator-muted: var(--ws-muted);
    --operator-paper: var(--ws-surface); --operator-canvas: var(--ws-bg); --operator-line: var(--ws-line);
    --operator-blue: var(--ws-accent); --operator-blue-soft: var(--ws-accent-soft);
    --operator-green: var(--ws-green); --operator-green-soft: var(--ws-green-soft);
    --operator-yellow: var(--ws-amber); --operator-yellow-soft: var(--ws-amber-soft);
    --operator-red: var(--ws-red); --operator-red-soft: var(--ws-red-soft);
  }
  html[data-workspace-theme="dark"]:is([data-workspace-app="logist"], [data-workspace-app="operator"])
    :is(.panel, .card, .operator-card, .operator-workbench, .operator-job, .operator-dialog, .job-card, .summary-card, .intake-panel, .intake-heading, .suggestions, .suggestion) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-theme="dark"]:is([data-workspace-app="logist"], [data-workspace-app="operator"])
    :is(.button.secondary, .button.ghost, .operator-button, .secondary-button) { background-color: var(--ws-soft); color: var(--ws-ink); border-color: var(--ws-line-strong); }

  html[data-workspace-app="snake"][data-workspace-theme="dark"] {
    --brand: #007da8; --brand-dark: #94e5ff; --brand-soft: var(--ws-accent-soft);
  }
  html[data-workspace-app="snake"][data-workspace-theme="dark"]
    :is(.tabs, .suggestions, .suggestion, .price-choice, .price-button, .segmented-field span, .expense-row.nonzero, .button.ghost, .table-wrap, .formula-popover) {
    background: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-app="snake"][data-workspace-theme="dark"] .tab.active { color: var(--ws-accent); border-bottom-color: var(--ws-accent); }
  html[data-workspace-app="snake"][data-workspace-theme="dark"]
    :is(.field > span, .field > label, .address-field > label, .mini-field > span, .segmented-field legend, .expense-usn) { color: var(--ws-muted); }

  html[data-workspace-app="svoy-chuzhoy"][data-workspace-theme="dark"]
    :is(.card, .panel, .result-card, .result-section, .result-meta, .empty, .hint, .account, .history-item, .history-panel, .search-panel, .review-panel, .toolbar, details, th, td) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-app="svoy-chuzhoy"][data-workspace-theme="dark"]
    :is(.secondary, .ghost, .tab, .badge, .chip, .result-note, .file-button, .file-dropzone) { background: var(--ws-soft); color: var(--ws-ink); border-color: var(--ws-line); }
  html[data-workspace-app="svoy-chuzhoy"][data-workspace-theme="dark"] :is(button[type="submit"], .primary-button) { background: #00718f; color: #fff; }
  html[data-workspace-app="svoy-chuzhoy"][data-workspace-theme="dark"] label { color: var(--ws-ink); }

  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] {
    --blue: #83dafa; --green: var(--ws-green); --yellow: var(--ws-amber); --red: var(--ws-red);
  }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"]
    :is(.app-nav a, .numbers-field, .button-link.secondary, .workflow-panel, .workbench-primary, .workbench-group, .status-box, .agent-card, .payment-card, .table-wrap, th, td, .refresh-status-banner) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .app-nav a.active { background: var(--ws-accent-soft); color: var(--ws-accent); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] :is(button, .button-link) { background: #00718f; color: #fff; border-color: var(--ws-line-strong); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] :is(button.secondary, .button-link.secondary) { background: var(--ws-soft); color: var(--ws-ink); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] :is(.workbench-group h2, .workbench-group h3, .workbench-group h4, .workbench-primary h3, .status-box span, .status-box strong) { color: var(--ws-muted); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .nina-readonly { color: var(--ws-amber); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] :is(.danger-button, .refresh-status-banner[data-state="error"]) { background: var(--ws-red-soft); color: var(--ws-red); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .refresh-status-banner[data-state="done"] { background: var(--ws-green-soft); color: var(--ws-green); }
  html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .refresh-status-banner[data-state="running"] { background: var(--ws-accent-soft); color: var(--ws-accent); }

  html[data-workspace-app="protocols"][data-workspace-theme="dark"]
    :is(header, nav, .panel, .card, .stat, .tabs, .dropzone, .batch, .batch-card, .table-wrap, .notice, .empty, .modal, th, td) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-app="protocols"][data-workspace-theme="dark"] :is(.muted, small, label) { color: var(--ws-muted); }
  html[data-workspace-app="protocols"][data-workspace-theme="dark"] :is(button, .button) { background: var(--ws-soft); color: var(--ws-ink); border-color: var(--ws-line-strong); }
  html[data-workspace-app="protocols"][data-workspace-theme="dark"] .primary { background: #00718f; color: #fff; }
  html[data-workspace-app="protocols"][data-workspace-theme="dark"] :is(.quality-incomplete, .quality-results-review) { background: var(--ws-amber-soft); color: var(--ws-amber); border-color: var(--ws-amber); }
  html[data-workspace-app="protocols"][data-workspace-theme="dark"] .quality-panel { background: var(--ws-surface); color: var(--ws-ink); }
  html[data-workspace-app="protocols"][data-workspace-theme="dark"] .measurements-footer { background: var(--ws-surface); color: var(--ws-ink); }
  html[data-workspace-app="protocols"][data-workspace-theme] :is(.preview, .preview-table, .preview-table th, .preview-table td) { background: #fff; color: #182b3a; }

  /* SVG charts use their original series colors; text/grid follow the palette. */
  html[data-workspace-app="reports"][data-workspace-theme="dark"]
    :is(.topbar, .dashboard-nav-shell, .panel, .card, .chart-card, .table-wrap, .klc-cockpit, .klc-signal-card, .klc-signal-group, .detail-collapse, .source-note-popover, .source-note-section, .assistant-panel, .assistant-launcher, .klc-executive-panel, th, td) {
    background-color: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
  }
  html[data-workspace-app="reports"][data-workspace-theme="dark"]
    :is(.tab-button, .dashboard-switch-link, .nav-toggle, .freshness-chip, .assistant-voice-button) { color: var(--ws-ink); border-color: var(--ws-line); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] :is(.tab-button.is-active, .assistant-header) { color: var(--ws-ink); background: var(--ws-accent-soft); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] :is(.chart-card, .klc-executive, .klc-signal-wide-chart) svg text { fill: var(--ws-muted); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] svg :is([stroke="#d8dfd6"], [stroke="#dce1df"], [stroke="#e5e7eb"]) { stroke: var(--ws-line); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] {
    --paper: var(--ws-surface); --canvas: var(--ws-bg); --amber: var(--ws-amber); --amber-soft: var(--ws-amber-soft);
  }
  html[data-workspace-app="reports"][data-workspace-theme="dark"]
    :is(.tab, .report-mode, .report-stage, .report-frame, .editor-state, .row-total, .report-period-summary, .klc-period-summary, .period-row, .report-subtab-bar, .report-subtab-button, .klc-operator-row, .klc-operator-summary-item, .klc-source-mix-row, .finance-note, .quality-item, .history-summary-item, .assistant-messages, .assistant-message, .assistant-form, .assistant-context, .dashboard-section-group, .dashboard-section-group__body) {
    color: var(--ws-ink); background: var(--ws-surface); border-color: var(--ws-line);
  }
  html[data-workspace-app="reports"][data-workspace-theme="dark"]
    :is(.tab[aria-selected="true"], .report-mode[aria-selected="true"], .button.primary) { color: #fff; background: #00718f; border-color: #00718f; }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] :is(.report-status-note, .editor-state.is-error, .hours-input:disabled) { color: var(--ws-muted); background: var(--ws-soft); border-color: var(--ws-line); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] :is(.period-details, .period-panel, .period-heading, .period-card, .period-controls, .period-mode-button) { color: var(--ws-ink); background: var(--ws-surface); border-color: var(--ws-line); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] .period-mode-button.is-active { color: #fff; background: #00718f; }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] .period-mode { color: var(--ws-ink); background: var(--ws-soft); border-color: var(--ws-line-strong); }
  html[data-workspace-app="reports"][data-workspace-theme="dark"] .period-mode[aria-pressed="true"] { color: #fff; background: #00718f; }

  @media (max-width: 640px) {
    /* Native translucent white cards need an opaque dark surface behind light text. */
    html[data-workspace-app="logist"][data-workspace-theme="dark"]
      :is(.intake-tabs, .intake-source-card, .intake-source-summary, .route-status-strip, .meta-grid div, .geocoder-quota, .route-editor-panel, .route-mobile-actions, .route-order-editor, .manual-order-list li, .navigation-segment-card, .rm-logist-auto-fill, .one-c-draft-table-wrap, .one-c-draft-table th, .one-c-draft-table td, .event-card, .route-trip-summary) {
      background: var(--ws-soft); color: var(--ws-ink); border-color: var(--ws-line);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"]
      :is(.intake-source-switcher button:not(.is-active), .route-mobile-tabs button, .order-buttons button, .order-location-button) {
      background: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line-strong);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"] .route-mobile-tabs button[aria-pressed="true"] {
      background: var(--ws-accent-soft); border-color: var(--ws-accent);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"]
      :is(.route-warnings, .geocoder-quota--attention) {
      background: var(--ws-amber-soft); color: var(--ws-amber); border-color: var(--ws-amber);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"]
      :is(.route-warnings--critical, .geocoder-quota--critical, .geocoder-quota--exhausted, .geocoder-quota--expired) {
      background: var(--ws-red-soft); color: var(--ws-red); border-color: var(--ws-red);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"] .route-warning-action { color: inherit; }
    html[data-workspace-app="logist"][data-workspace-theme="dark"] :is(.order-number, .technical-details) {
      background: var(--ws-surface); color: var(--ws-ink); border-color: var(--ws-line);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"] :is(.route-order-plan, .route-order-time-rule) { color: var(--ws-amber); }
    html[data-workspace-app="logist"][data-workspace-theme="dark"] .route-trip-summary span { color: var(--ws-muted); }
    html[data-workspace-app="snake"][data-workspace-theme="dark"] .button.secondary {
      background: var(--ws-soft); color: var(--ws-ink); border-color: var(--ws-line-strong);
    }
    html[data-workspace-app="logist"][data-workspace-theme="dark"]
      :is(.route-map__legend, .route-map__status, .route-map__summary) { background: var(--ws-surface); color: var(--ws-ink); }
    html[data-workspace-app="logist"][data-workspace-theme="dark"] .leaflet-control-zoom a { color: #132a3a; }
    html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"]
      :is(.attention-row, .problems-details > summary, .refresh-chip) { background: var(--ws-soft); color: var(--ws-ink); }
    html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .attention-row.sev-warn { background: var(--ws-amber-soft); }
    html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .attention-row.sev-danger { background: var(--ws-red-soft); }
    html[data-workspace-app="agents-calculation"][data-workspace-theme="dark"] .chart-card-head h2 { color: var(--ws-ink); }
  }
}

html[data-workspace-telegram="true"] { min-height: var(--workspace-tg-height, 100dvh); scroll-padding-bottom: calc(20px + var(--workspace-tg-bottom, 0px)); }
html[data-workspace-telegram="true"] body { padding-top: var(--workspace-tg-top, 0px); padding-right: var(--workspace-tg-right, 0px); padding-bottom: var(--workspace-tg-bottom, 0px); padding-left: var(--workspace-tg-left, 0px); }
.telegram-entry { box-sizing: border-box; max-width: 480px; margin: 12dvh auto 0; padding: 24px; font: 18px/1.55 system-ui,sans-serif; color: #082133; }
.telegram-entry h1 { font-size: 30px; line-height: 1.2; margin: 20px 0 12px; }
.telegram-entry button { border: 0; border-radius: 12px; background: #007fa8; color: white; font: inherit; padding: 12px 18px; min-height: 48px; cursor: pointer; }
.telegram-entry a { color: #006e98; display: block; padding: 14px 0; min-height: 48px; box-sizing: border-box; }
.telegram-entry small { display: block; font-size: 16px; }
.workspace-telegram-home { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 10px; background: #00b6f0; color: #082133; box-shadow: 0 2px 6px #08213326; text-decoration: none; }
.workspace-telegram-home svg { width: 24px; height: 24px; fill: currentColor; }
.workspace-telegram-home:not([data-in-header]) { position: fixed; top: calc(10px + var(--workspace-tg-top, 0px)); right: calc(10px + var(--workspace-tg-right, 0px)); z-index: 2147482000; }
html[data-workspace-launcher="active"] .workspace-telegram-home { display: none !important; }
.workspace-telegram-home:focus-visible { outline: 3px solid #082133; outline-offset: 3px; }
html[data-telegram-theme="dark"] .telegram-entry { color: #eaf4fb; }
html[data-telegram-theme="dark"]:has(.telegram-entry) { background: #082133; }
html[data-telegram-theme="dark"] .telegram-entry a { color: #75d9fa; }
html[data-workspace-offline="true"][data-workspace-telegram="true"] body::after { content: "Нет сети. Проверьте соединение перед сохранением."; position: fixed; z-index: 2147483000; bottom: var(--workspace-tg-bottom, 0px); left: 8px; right: 8px; background: #082133; color: white; padding: 12px; border-radius: 10px; font: 16px/1.4 system-ui,sans-serif; pointer-events: none; }
