/**
 * SalesHive — единая дизайн-система (типографика, кнопки, таблицы, поля, окна).
 * Подключается после app_shell_head_styles; токены --sh-* заданы в шаблоне shell.
 */

:root,
html[data-theme="light"] {
  --sh-success: #059669;
  --sh-warning: #d97706;
  --sh-table-header-bg: #f4f7fa;
  --sh-table-row-line: color-mix(in srgb, var(--sh-border) 55%, var(--sh-surface));
  --sh-surface-3: color-mix(in srgb, var(--sh-border) 22%, var(--sh-surface));
  --sh-text-2xs: 0.625rem;
  --sh-text-xs: 0.6875rem;
  --sh-text-sm: 0.75rem;
  --sh-text-compact: 0.8125rem;
  --sh-text-base: 0.875rem;
  --sh-text-md: 0.9375rem;
  --sh-text-lg: 1rem;
  --sh-text-xl: 1.125rem;
  --sh-text-h2: 1rem;
  --sh-text-h1: 1.5rem;
  --sh-table-cell-py: 0.625rem;
  --sh-table-cell-px: 0.75rem;
  --sh-table-font: var(--sh-text-sm);
  --sh-table-th-weight: 600;
  --sh-col-sku-width: 10rem;
  --sh-col-name-width: 12rem;
  --sh-col-metric-width: 5.6rem;
  --sh-col-metric-wide-width: 9.1rem;
  --sh-metric-cell-px: 0.35rem;
  --sh-workspace-shell-radius: 0.75rem;
  --sh-radius-sm: 0.375rem;
  --sh-shadow-md: 0 10px 40px rgba(0, 26, 52, 0.12), 0 2px 10px rgba(0, 26, 52, 0.08);
  --sh-focus-ring: 0 0 0 2px color-mix(in srgb, var(--sh-primary) 22%, transparent);
}

html[data-theme="dark"] {
  --sh-table-header-bg: #1a2332;
  --sh-table-row-line: color-mix(in srgb, var(--sh-border) 50%, var(--sh-surface));
  --sh-surface-3: #111c35;
  --sh-shadow-md: 0 12px 48px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.04);
}

/* ——— Типографика разделов ——— */
.sh-page-title,
.unit-page-title,
.fin-page-title {
  margin: 0;
  font-size: var(--sh-text-h1);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--sh-text);
  line-height: 1.2;
}

.sh-section-head,
.unit-head,
.fin-section-head,
.ads-top-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sh-space-md);
}

.sh-section-head h2,
.unit-head h2,
.fin-section-head h2,
.ads-head h2 {
  margin: 0;
  font-size: var(--sh-text-h2);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--sh-text);
  line-height: 1.25;
}

.sh-section-sub,
.unit-sub,
.fin-section-head .sub,
.unit-note {
  margin: 0;
  font-size: var(--sh-text-sm);
  color: var(--sh-muted);
  line-height: 1.45;
}

.sh-muted-text,
.ai-assist-muted,
.ads-cell-muted,
.ads-cell-center-muted {
  color: var(--sh-muted);
  font-size: var(--sh-text-base);
  line-height: 1.45;
}

.ads-cell-muted {
  font-variant-numeric: tabular-nums;
}

/* ——— Кнопки ——— */
.sh-btn,
button.sh-btn,
a.sh-btn,
.unit-btn,
.unit-unit-btn.unit-unit-download-btn,
.fin-btn-compact,
.home-detail-btn,
button.fbs-btn,
button.probe-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sh-space-sm);
  min-height: var(--sh-control-height);
  padding: 0 var(--sh-space-md);
  border-radius: var(--sh-control-radius);
  border: 1px solid transparent;
  background: transparent;
  color: var(--sh-text);
  font-family: inherit;
  font-size: var(--sh-text-base);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}

.sh-btn:disabled,
button.sh-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.sh-btn--primary,
.sh-btn-primary,
.content-btn,
button.fbs-btn {
  background: var(--sh-primary);
  color: #fff;
  border-color: transparent;
}

.sh-btn--primary:hover,
.sh-btn-primary:hover,
.content-btn:hover,
button.fbs-btn:hover:not(:disabled),
a.sh-btn-primary:hover,
a.sh-btn--primary:hover {
  background: var(--sh-primary-hover);
  color: #fff;
  text-decoration: none;
}

button.sh-btn.sh-btn-primary,
button.sh-btn.sh-btn--primary,
a.sh-btn.sh-btn-primary {
  background: var(--sh-primary);
  color: #fff;
  border-color: transparent;
}
button.sh-btn.sh-btn-primary:hover:not(:disabled),
button.sh-btn.sh-btn--primary:hover:not(:disabled),
a.sh-btn.sh-btn-primary:hover {
  background: var(--sh-primary-hover);
  color: #fff;
}

.sh-btn--secondary,
.sh-btn-secondary,
.sh-btn.sh-btn-secondary,
.unit-btn,
.unit-unit-download-btn,
.fin-btn-compact,
.home-detail-btn,
button.probe-btn {
  background: var(--sh-surface);
  color: var(--sh-text);
  border-color: var(--sh-border);
}

.sh-btn--secondary:hover,
.sh-btn-secondary:hover,
.unit-btn:hover,
.unit-unit-download-btn:hover,
.fin-btn-compact:hover,
.home-detail-btn:hover,
button.probe-btn:hover {
  background: var(--sh-surface-2);
  color: var(--sh-text);
}

.sh-btn--ghost {
  background: transparent;
  color: var(--sh-muted);
  border-color: transparent;
}

.sh-btn--ghost:hover {
  background: var(--sh-surface-2);
  color: var(--sh-text);
}

.sh-btn--danger {
  background: transparent;
  color: var(--sh-danger);
  border-color: color-mix(in srgb, var(--sh-danger) 45%, var(--sh-border));
}

.sh-btn--danger:hover {
  background: color-mix(in srgb, var(--sh-danger) 10%, var(--sh-surface));
}

.sh-btn--sm,
.sh-btn-sm {
  min-height: 2rem;
  padding: 0 0.625rem;
  font-size: var(--sh-text-sm);
}

.sh-btn--md,
.sh-btn-md,
.sh-btn-eq {
  min-height: var(--sh-control-height);
  padding: 0 var(--sh-space-md);
  font-size: var(--sh-text-base);
}

/* Пресеты периода (period_bar) */
.sh-btn.sh-btn-secondary.sh-btn-tall-date {
  flex-shrink: 0;
  white-space: nowrap;
  height: var(--sh-control-height);
  min-height: var(--sh-control-height);
}

.sh-btn.sh-btn-secondary.sh-btn-tall-date.sh-preset-active {
  font-weight: 700;
  color: var(--sh-text);
  background: color-mix(in srgb, var(--sh-primary) 14%, var(--sh-surface));
  border-color: color-mix(in srgb, var(--sh-primary) 40%, var(--sh-border));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--sh-primary) 22%, transparent),
    0 1px 3px color-mix(in srgb, var(--sh-primary) 8%, transparent);
}

/* ——— Поля ввода ——— */
.sh-input,
input.sh-input,
select.sh-input,
select.sh-select,
.sh-pager-size-label select,
textarea.sh-input,
.unit-planned-input,
.sh-date-text {
  box-sizing: border-box;
  min-height: var(--sh-control-height);
  padding: 0 var(--sh-space-md);
  border-radius: var(--sh-control-radius);
  border: 1px solid var(--sh-input-border, var(--sh-border));
  background: var(--sh-input-bg, var(--sh-surface));
  color: var(--sh-text);
  font-family: inherit;
  font-size: var(--sh-text-base);
  line-height: 1.2;
}

/* Явные классы workspace — не form input { width:100% }; размеры — в стилях вкладки */
.unit-cell-input,
.unit-cell-input--money,
.unit-cell-input--pct,
.fbs-select,
.fbo-row-select,
.content-head-input,
.content-check,
.ads-drr-period-input {
  width: auto;
  max-width: 100%;
  min-height: unset;
}

.sh-main-workspace .unit-planned-input,
.sh-main-workspace .sh-period-sag-input {
  box-sizing: border-box;
  min-height: var(--sh-control-height);
  padding: 0 0.5rem;
  border: 1px solid var(--sh-input-border);
  border-radius: var(--sh-control-radius);
  background: var(--sh-input-bg);
  color: var(--sh-text);
  font-family: inherit;
  font-size: var(--sh-text-base);
  line-height: 1.2;
}

.sh-input:focus,
select.sh-select:focus,
.unit-planned-input:focus,
.sh-date-text:focus {
  outline: none;
  border-color: var(--sh-primary);
  box-shadow: var(--sh-focus-ring);
}

.sh-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
}

.sh-field__label,
.unit-planned-field__lab {
  font-size: var(--sh-text-xs);
  font-weight: 600;
  color: var(--sh-muted);
  white-space: nowrap;
}

/* ——— Карточки и алерты ——— */
.sh-card,
.card {
  padding: var(--sh-space-lg) var(--sh-space-xl);
  margin-bottom: var(--sh-space-lg);
}

.sh-inline-err,
.unit-inline-err,
.fin-inline-err,
.ads-err {
  border-radius: var(--sh-control-radius);
  padding: var(--sh-space-md) var(--sh-space-lg);
  font-size: var(--sh-text-base);
  line-height: 1.45;
  border: 1px solid color-mix(in srgb, var(--sh-danger) 40%, var(--sh-border));
  background: color-mix(in srgb, var(--sh-danger) 12%, var(--sh-surface));
  color: var(--sh-danger);
}

.sh-placeholder,
.unit-placeholder,
.fin-sku-placeholder {
  border-radius: var(--sh-radius);
  border: 1px dashed var(--sh-border);
  background: var(--sh-surface-3);
  padding: var(--sh-space-xl) var(--sh-space-lg);
  text-align: center;
  font-size: var(--sh-text-base);
  color: var(--sh-muted);
  line-height: 1.55;
}

.sh-status-line,
.unit-refresh-line,
.fin-loading-line,
.fin-refresh-line {
  font-size: var(--sh-text-sm);
  font-weight: 500;
  min-height: 1.25rem;
  margin: 0 0 var(--sh-space-sm);
}

/* Скелетон вместо спиннера — меньше визуального шума, стабильная вёрстка */
.sh-skeleton-grid {
  width: 100%;
}
.sh-skeleton-card {
  min-height: 5.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: center;
  border-style: dashed;
}
.fin-metric-card.sh-skeleton-card {
  min-height: 12.5rem;
  align-items: stretch;
}
.fin-metric-card.sh-skeleton-card .sh-skeleton--value {
  width: 72%;
}
.fin-metric-grid.sh-skeleton-grid,
#home-grid.fin-metric-grid.sh-skeleton-grid {
  min-height: 14rem;
}
.fin-sku-table-shell:not(:empty) {
  min-height: 11rem;
}
#fin-raw-body:not(:empty) .sh-table-wrap {
  min-height: 9rem;
}
.home-news-card.sh-skeleton-card {
  min-height: 5.5rem;
  padding: 1rem 1.1rem;
  border: 1px dashed var(--sh-border);
  border-radius: var(--sh-card-radius, var(--sh-radius));
  background: var(--sh-surface);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.home-news-card.sh-skeleton-card .sh-skeleton--row {
  height: 2.4rem;
}
.sh-skeleton {
  display: block;
  border-radius: var(--sh-control-radius);
  background: linear-gradient(
    90deg,
    var(--sh-surface-3) 0%,
    color-mix(in srgb, var(--sh-border) 35%, var(--sh-surface-3)) 50%,
    var(--sh-surface-3) 100%
  );
  background-size: 200% 100%;
  animation: sh-skeleton-shimmer 1.35s ease-in-out infinite;
}
.sh-skeleton--label { height: 0.62rem; width: 42%; }
.sh-skeleton--value { height: 1.3rem; width: 55%; }
.sh-skeleton--sub { height: 0.52rem; width: 34%; }
.sh-skeleton--row { height: 2.1rem; width: 100%; }
.sh-skeleton--w80 { width: 80%; }
.sh-skeleton-tr td {
  padding: 0.55rem 0.75rem;
  vertical-align: middle;
}
.sh-route-loading--quiet {
  padding: 0.35rem 0;
}
.sh-route-loading--quiet .sh-route-loading__text {
  color: var(--sh-muted);
}

/* Инфо-баннер (догрузка / stale) — не красить как ошибку */
.sh-status-info,
.home-inline-err.sh-status-info,
.fin-inline-err.sh-status-info,
.unit-inline-err.sh-status-info,
.content-err.sh-status-info {
  color: var(--sh-muted);
  border-color: var(--sh-border);
  background: var(--sh-surface-3);
}

@keyframes sh-skeleton-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .sh-skeleton,
  .sh-route-loading__spin,
  .sh-workspace-gate__spin,
  .ads-cell-loading {
    animation: none !important;
  }
  .sh-skeleton {
    background: var(--sh-surface-3);
  }
}

.unit-refresh-line,
.fin-refresh-line {
  color: var(--sh-primary);
}

/* ——— Оболочка и таблицы данных ——— */
.sh-table-shell,
.unit-table-shell,
.fin-sku-table-shell,
.ads-shell,
.content-table-shell,
.ai-assist-table-shell,
.sag-shell {
  position: relative;
  min-width: 0;
  /* Вертикальный скролл — у страницы; горизонталь — у .sh-table-x-scroll (иначе sticky th не работает) */
  overflow: visible;
  border-radius: var(--sh-workspace-shell-radius);
  border: 1px solid var(--sh-border);
  background: var(--sh-surface);
  box-shadow: var(--sh-shadow);
}

.sh-table-x-scroll {
  overflow-x: auto;
  overflow-y: clip;
  max-width: 100%;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  border-radius: inherit;
}

.sh-table,
.unit-table,
.fin-sku-table,
.ads-table,
.ai-assist-table,
table.sh-table {
  table-layout: fixed;
  width: max-content;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--sh-table-font);
  color: var(--sh-text);
}

/* Липкая шапка: table.sh-sticky-head-active + --sh-sticky-viewport-top (sh-table-sticky-head.js) */

.sh-table thead th,
.unit-table thead th,
.fin-sku-table thead th,
.ads-table thead th,
.ai-assist-table thead th,
.sh-table tbody td,
.unit-table tbody td,
.fin-sku-table tbody td,
.ads-table td,
.ai-assist-table tbody td {
  box-sizing: border-box;
  padding: var(--sh-table-cell-py) var(--sh-table-cell-px);
  border-bottom: 1px solid var(--sh-table-row-line);
  vertical-align: middle;
}

.sh-table thead th,
.unit-table thead th,
.fin-sku-table thead th,
.ads-table thead th,
.ai-assist-table thead th {
  background: var(--sh-table-header-bg) !important;
  text-align: left;
  font-size: var(--sh-table-font);
  font-weight: var(--sh-table-th-weight);
  white-space: nowrap;
}

.sh-table tbody td,
.unit-table tbody td,
.fin-sku-table tbody td,
.ads-table td,
.ai-assist-table tbody td {
  background: var(--sh-surface);
}

.ai-assist-table tbody td {
  vertical-align: top;
}

.sh-table tbody tr:hover td,
.unit-table tbody tr:hover td,
.fin-sku-table tbody tr:hover td,
.ads-table tbody tr:hover td,
.ai-assist-table tbody tr:hover td {
  background: var(--sh-surface-3);
}

.sh-table .text-right,
.unit-table .text-right,
.fin-sku-table .text-right,
.ads-table .text-right {
  text-align: right;
}

.sh-table .text-center,
.unit-table .text-center,
.ads-table .text-center {
  text-align: center;
}

/* ——— Диалоги / всплывающие панели ——— */
.sh-dialog,
.sh-cal-popover,
.sh-cab-panel,
.sh-brand-panel {
  border-radius: var(--sh-radius);
  border: 1px solid var(--sh-border);
  background: var(--sh-surface);
  box-shadow: var(--sh-shadow-md);
}

.sh-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1990;
  background: color-mix(in srgb, var(--sh-text) 28%, transparent);
  backdrop-filter: blur(2px);
}

.sh-dialog-panel {
  position: fixed;
  z-index: 2000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(32rem, calc(100vw - 2rem));
  max-height: min(85vh, 40rem);
  overflow: auto;
  padding: var(--sh-space-xl);
}

.sh-dialog-panel__title {
  margin: 0 0 var(--sh-space-md);
  font-size: var(--sh-text-xl);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--sh-text);
}

.sh-dialog-panel__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--sh-space-sm);
  margin-top: var(--sh-space-lg);
}

.sh-cookie-banner {
  border-radius: var(--sh-radius);
  border: 1px solid var(--sh-border);
  box-shadow: var(--sh-shadow-md);
}

/* ——— Тулбар workspace ——— */
.sh-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--sh-space-md) var(--sh-space-lg);
}

.sh-toolbar__group {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--sh-space-sm) var(--sh-space-md);
}

/* ——— SKU-таблицы workspace (единый регламент) ——— */
.sh-col-sku,
.sh-th-sku,
.sh-td-sku,
.unit-th-sku,
.unit-td-sku,
.ads-th-sku,
.ads-td-sku,
.fbo-th-sku,
.fbo-td-sku,
.fbs-col-sku-th,
.fbs-col-sku-td,
.content-th-sku,
.content-td-sku,
.sag-th-sku,
.sag-td-sku {
  width: var(--sh-col-sku-width);
  min-width: var(--sh-col-sku-width);
  max-width: var(--sh-col-sku-width);
}

.sh-col-name,
.sh-th-name,
.sh-td-name,
.unit-th-name,
.unit-td-name,
.ads-th-name,
.ads-td-name,
.fbo-th-name,
.fbo-td-name,
.fbs-col-name-th,
.fbs-col-name-td,
.content-th-name,
.content-td-name,
.sag-th-name,
.sag-td-name {
  width: var(--sh-col-name-width) !important;
  min-width: var(--sh-col-name-width) !important;
  max-width: var(--sh-col-name-width) !important;
  box-sizing: border-box;
}
.fbs-col-name-td,
.content-td-name,
.sag-td-name {
  overflow: hidden;
}
.fbs-table thead th.fbs-col-name-th,
.content-table thead th.content-th-name,
.sag-table thead th.sag-th-name {
  overflow: visible;
  text-overflow: clip;
}

.unit-name-clip,
.fbo-name-clip,
.fbs-ellipsis,
.content-ellipsis,
.fin-sku-title,
.ads-ellipsis {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

.content-table thead th.content-dyn-head,
.content-table tbody td.content-check-cell {
  width: 8.25rem;
  min-width: 8.25rem;
  max-width: 8.25rem;
  box-sizing: border-box;
}

.content-table tbody td.content-check-cell {
  width: 3.25rem;
  min-width: 3.25rem;
  max-width: 3.25rem;
  text-align: center;
}

.sh-td-planfact,
.fbo-th-planfact,
.fbo-td-planfact {
  box-sizing: border-box;
  min-width: var(--sh-col-metric-width) !important;
  width: var(--sh-col-metric-width) !important;
  max-width: var(--sh-col-metric-width) !important;
  padding-left: var(--sh-metric-cell-px) !important;
  padding-right: var(--sh-metric-cell-px) !important;
  text-align: center;
}

.sh-col-metric,
.sh-table .sh-col-metric,
.unit-table .sh-col-metric,
.ads-table .sh-col-metric,
.fbs-table .sh-col-metric,
.fbo-table .sh-col-metric,
.content-table .sh-col-metric {
  box-sizing: border-box;
  min-width: var(--sh-col-metric-width) !important;
  width: var(--sh-col-metric-width) !important;
  max-width: var(--sh-col-metric-width) !important;
  padding-left: var(--sh-metric-cell-px) !important;
  padding-right: var(--sh-metric-cell-px) !important;
}

/* Вкладки SKU-таблиц: одинаковые отступы у блоков метрик (эталон — FBO ABC) */
.fbo-table thead th.sh-col-metric,
.fbo-table tbody td.sh-col-metric,
.fbs-table thead th.sh-col-metric,
.fbs-table tbody td.sh-col-metric,
.fbs-table thead th.fbs-col-abc,
.fbs-table tbody td.fbs-col-abc,
.ads-table thead th.sh-col-metric,
.ads-table tbody td.sh-col-metric,
.ads-table thead th.sh-col-metric-wide,
.ads-table tbody td.sh-col-metric-wide,
.content-table thead th.sh-col-metric,
.content-table tbody td.sh-col-metric,
.unit-table thead th.sh-col-metric,
.unit-table tbody td.sh-col-metric,
.sag-table thead th.sh-col-metric,
.sag-table tbody td.sh-col-metric {
  padding-left: var(--sh-metric-cell-px) !important;
  padding-right: var(--sh-metric-cell-px) !important;
  text-align: center;
}

/* Вертикальная линия только после «Наименование» (контент / юнит / реклама / FBS) */
.fbs-table thead th,
.fbs-table tbody td,
.content-table thead th,
.content-table tbody td,
.ads-table thead th,
.ads-table tbody td,
.unit-table thead th,
.unit-table tbody td {
  border-right: none;
}
.fbs-col-name-th,
.fbs-col-name-td,
.content-th-name,
.content-td-name,
.ads-th-name,
.ads-td-name,
.unit-th-name,
.unit-td-name {
  border-right: 1px solid var(--sh-table-row-line) !important;
}
/* План/факт: без линий после SKU, ABC, Динамика; разделитель после наименования и остатков */
.sag-table thead th,
.sag-table tbody td {
  border-right: none;
}
.sag-th-name,
.sag-td-name,
.sag-th-stock,
.sag-td-stock {
  border-right: 1px solid var(--sh-table-row-line) !important;
}
.sag-th-sku,
.sag-td-sku,
.sag-td-sku.sh-td-sku-article,
.sag-th-abc,
.sag-td-abc,
.sag-th-dynamics,
.sag-td-dynamics {
  border-right: none !important;
  box-shadow: none !important;
}
.sag-th-name,
.sag-td-name,
.sag-th-stock,
.sag-td-stock {
  box-shadow: none !important;
}

.sh-col-metric-wide {
  min-width: var(--sh-col-metric-wide-width) !important;
  width: var(--sh-col-metric-wide-width) !important;
  max-width: var(--sh-col-metric-wide-width) !important;
}

.fbo-table .sh-abc-pair,
.fbs-table .sh-abc-pair,
.ads-table .sh-abc-pair,
.unit-table .sh-abc-pair,
.sag-table .sh-abc-pair {
  justify-content: center;
}

.sh-after-product-col,
.fbs-after-name,
.fbo-after-name {
  border-left: 1px solid var(--sh-border) !important;
}

.sh-tabular {
  font-variant-numeric: tabular-nums;
}

.sh-cell-right,
.fbs-num,
.fbo-num,
.ads-td-num {
  text-align: right;
}

.sh-cell-center,
.fbs-center,
.fbo-center,
.ads-cell-center,
.ads-cell-center-muted {
  text-align: center;
}

.fbo-shell {
  position: relative;
  min-width: 0;
  overflow: visible;
  border-radius: var(--sh-workspace-shell-radius);
  border: 1px solid var(--sh-border);
  background: var(--sh-surface);
  box-shadow: var(--sh-shadow);
}

.fbs-shell {
  position: relative;
  min-width: 0;
  overflow: visible;
  border-radius: var(--sh-workspace-shell-radius);
  border: 1px solid var(--sh-border);
  background: var(--sh-surface);
  box-shadow: var(--sh-shadow);
}

.fbo-table,
.content-table {
  table-layout: fixed;
  width: max-content;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--sh-table-font);
  color: var(--sh-text);
}

.fbs-table {
  table-layout: fixed;
  width: 100%;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--sh-table-font);
  color: var(--sh-text);
}

/* fbo/fbs/content: липкий thead — через .sh-sticky-head-active */

.fbs-table thead th,
.fbo-table thead th,
.content-table thead th,
.fbs-table td,
.fbo-table td,
.content-table tbody td {
  box-sizing: border-box;
  padding: var(--sh-table-cell-py) var(--sh-table-cell-px);
  border-bottom: 1px solid var(--sh-table-row-line);
  vertical-align: middle;
  font-size: var(--sh-table-font);
}

.fbs-table thead th,
.fbo-table thead th,
.content-table thead th {
  background: var(--sh-table-header-bg) !important;
  text-align: left;
  font-weight: var(--sh-table-th-weight);
  white-space: nowrap;
}

.fbs-table td,
.fbo-table td,
.content-table tbody td {
  background: var(--sh-surface);
}

.fbs-table tbody tr:hover td,
.fbo-table tbody tr:hover td:not(.fbo-td-sku):not(.fbo-td-art):not(.fbo-td-name):not(.fbo-td-abc):not(.fbo-td-dynamics):not(.fbo-td-planfact),
.content-table tbody tr:hover td:not(.content-td-sku):not(.content-td-name) {
  background: var(--sh-surface-3);
}

/* План/Факт: компактная сетка по дням (отдельные отступы ячеек) */
.sag-table {
  width: max-content;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--sh-table-font);
  color: var(--sh-text);
}

.fbo-table tbody tr:hover .fbo-td-sku,
.fbo-table tbody tr:hover .fbo-td-art,
.fbo-table tbody tr:hover .fbo-td-name,
.fbo-table tbody tr:hover .fbo-td-abc,
.fbo-table tbody tr:hover .fbo-td-dynamics,
.fbo-table tbody tr:hover .fbo-td-planfact,
.content-table tbody tr:hover .content-td-sku,
.content-table tbody tr:hover .content-td-name {
  background: var(--sh-surface-3);
}

.sh-th-sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  position: relative;
}

.sh-th-sortable__inner {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  max-width: 100%;
  min-width: 0;
  vertical-align: middle;
}

th.text-right.sh-th-sortable .sh-th-sortable__inner,
.sh-th-sortable.text-right .sh-th-sortable__inner {
  justify-content: flex-end;
  width: 100%;
}

th.sh-col-metric.sh-th-sortable .sh-th-sortable__inner,
.fbs-center.sh-th-sortable .sh-th-sortable__inner {
  justify-content: center;
  width: 100%;
}

.sh-th-sortable__tools {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  flex-shrink: 0;
}

.sh-th-sortable .sh-help-wrap {
  position: static;
  transform: none;
  flex-shrink: 0;
  z-index: auto;
  margin: 0;
  pointer-events: auto;
}

.sh-th-sortable.sh-col-metric .sh-help-wrap,
.fbs-center.sh-th-sortable .sh-help-wrap,
.unit-workspace .unit-table thead th.sh-th-sortable .sh-help-wrap,
.sag-table thead th.sh-th-sortable .sh-help-wrap,
.fbs-table thead th.sh-th-sortable .sh-help-wrap {
  right: auto;
}

.sh-th-sortable__tools {
  margin-left: 0.1rem;
}

.sh-th-sortable .sh-th-sortable__inner {
  padding-right: 0.1rem;
  flex-wrap: nowrap;
  gap: 0.25rem;
}

.sh-th-sortable__label {
  display: inline;
}

.sh-th-sortable__icon {
  display: inline-block;
  width: 0.65rem;
  flex-shrink: 0;
  opacity: 0.35;
  vertical-align: middle;
}

.sh-th-sortable__icon::before {
  content: "⇅";
  font-size: 0.62rem;
  line-height: 1;
  letter-spacing: -0.08em;
}

.sh-th-sort--active .sh-th-sortable__icon {
  opacity: 1;
  color: var(--sh-primary);
}

.sh-th-sort--asc .sh-th-sortable__icon::before {
  content: "▲";
  font-size: 0.5rem;
}

.sh-th-sort--desc .sh-th-sortable__icon::before {
  content: "▼";
  font-size: 0.5rem;
}

.sh-th-sortable:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--sh-primary) 55%, transparent);
  outline-offset: -2px;
}

.sag-table thead th.sh-th-sortable,
.fbs-table thead th.sh-th-sortable,
.sh-sku-period-table thead th.sh-th-sortable,
.finance-raw-table thead th.sh-th-sortable {
  overflow: visible;
}

button.sh-cal-day.sh-cal-day--pick-from,
button.sh-cal-day.sh-cal-day--pick-to {
  color: var(--sh-text) !important;
}

.sh-table-pager,
.unit-table-pager,
.fbs-table-pager,
.fbo-table-pager,
.ads-table-pager,
.content-table-pager,
.fin-table-pager {
  margin-top: var(--sh-space-sm);
  display: block;
  width: 100%;
}

.sh-table-pager__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sh-space-md);
  flex-wrap: wrap;
}

.sh-pager-meta {
  color: var(--sh-muted);
  font-size: var(--sh-text-sm);
  line-height: 1.35;
}

.sh-pager-controls {
  display: flex;
  align-items: center;
  gap: var(--sh-space-sm);
  flex-wrap: wrap;
}

.sh-pager-size-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--sh-muted);
  font-size: var(--sh-text-sm);
  line-height: 1.35;
}

select.sh-select,
.sh-pager-size-label select {
  min-width: 5.5rem;
  padding-right: 1.75rem;
  cursor: pointer;
  vertical-align: middle;
}

.sh-pager-size-label select:focus {
  outline: none;
  border-color: var(--sh-primary);
  box-shadow: var(--sh-focus-ring);
}

/* Компактные поля в шапке таблицы (Content и др.) */
.sh-table-head-input,
.content-head-input {
  box-sizing: border-box;
  min-height: 1.75rem;
  padding: var(--sh-space-xs) var(--sh-space-sm);
  border: 1px solid var(--sh-border);
  border-radius: var(--sh-radius-sm);
  background: color-mix(in srgb, var(--sh-surface) 88%, transparent);
  color: var(--sh-text);
  font-family: inherit;
  font-size: var(--sh-text-sm);
  font-weight: 600;
  line-height: 1.2;
}

.sh-table-head-input:focus,
.content-head-input:focus {
  outline: none;
  border-color: var(--sh-primary);
  box-shadow: var(--sh-focus-ring);
}

.sh-table-head-btn,
.content-col-del {
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  border-radius: var(--sh-radius-sm);
  border: 1px solid var(--sh-border);
  background: var(--sh-surface);
  color: var(--sh-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: var(--sh-text-sm);
  line-height: 1;
  padding: 0;
}

.sh-table-head-btn:hover,
.content-col-del:hover {
  color: var(--sh-danger);
  border-color: color-mix(in srgb, var(--sh-danger) 45%, var(--sh-border));
}

.content-col-del[hidden] {
  display: none;
}

.sh-table-pager .sh-pager-wrap,
.unit-table-pager .sh-pager-wrap,
.fbs-table-pager .sh-pager-wrap,
.fbo-table-pager .sh-pager-wrap,
.ads-table-pager .sh-pager-wrap,
.content-table-pager .sh-pager-wrap,
.fin-table-pager .sh-pager-wrap {
  width: 100%;
  padding: 0 !important;
}

/* Sticky SKU / name — общая геометрия (z-index задаётся в workspace) */
.sh-sticky-sku,
.unit-th-sku,
.unit-td-sku,
.ads-th-sku,
.ads-td-sku,
.fbo-th-sku,
.fbo-td-sku,
.fbs-col-sku-th,
.fbs-col-sku-td,
.content-th-sku,
.content-td-sku,
.sag-th-sku,
.sag-td-sku {
  position: sticky;
  left: 0;
  box-shadow: 1px 0 0 var(--sh-table-row-line);
}

.sh-sticky-name,
.unit-th-name,
.unit-td-name,
.ads-th-name,
.ads-td-name,
.fbo-th-name,
.fbo-td-name,
.fbs-col-name-th,
.fbs-col-name-td,
.content-th-name,
.content-td-name,
.sag-th-name,
.sag-td-name {
  position: sticky;
  left: var(--sh-col-sku-width);
  box-shadow: 1px 0 0 var(--sh-table-row-line);
}

/* Finance / отчёты: периодная SKU-таблица */
.sh-sku-period-table {
  table-layout: fixed;
  width: max-content;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--sh-table-font);
  color: var(--sh-text);
  -webkit-font-smoothing: antialiased;
}

.sh-sku-period-table thead th,
.sh-sku-period-table tbody td {
  box-sizing: border-box;
  padding: var(--sh-table-cell-py) var(--sh-table-cell-px);
  border-bottom: 1px solid var(--sh-table-row-line);
  vertical-align: middle;
  background: var(--sh-surface);
}

.sh-sku-period-table thead th {
  background: var(--sh-table-header-bg) !important;
  text-align: left;
  font-weight: var(--sh-table-th-weight);
  white-space: nowrap;
}

.sh-sku-period-table thead th.text-right,
.sh-sku-period-table tbody td.text-right {
  text-align: right;
  white-space: nowrap;
  width: 6.75rem;
  min-width: 6.75rem;
  max-width: 7.25rem;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sh-sku-period-table tbody tr:hover td {
  background: var(--sh-surface-3);
}

.sh-sku-period-table--sku-art-merged .fin-th-sticky-sku,
.sh-sku-period-table--sku-art-merged .fin-td-sticky-sku.sh-td-sku-article {
  width: var(--sh-col-sku-width);
  min-width: var(--sh-col-sku-width);
  max-width: var(--sh-col-sku-width);
}

.sh-sku-period-table--sku-art-merged .fin-th-sticky-name,
.sh-sku-period-table--sku-art-merged .fin-td-sticky-name {
  left: var(--sh-col-sku-width);
  width: var(--sh-col-name-width);
  min-width: var(--sh-col-name-width);
  max-width: var(--sh-col-name-width);
}

.fin-sku-table-shell {
  position: relative;
  min-width: 0;
  /* Финансы: вертикальный скролл внутри панели — см. finance_workspace_styles */
  overflow: visible;
  border-radius: var(--sh-radius);
  border: 1px solid var(--sh-border);
  background: var(--sh-surface);
  box-shadow: var(--sh-shadow);
}

/* Утилиты типографики (workspace inline → токены) */
.sh-text-2xs { font-size: var(--sh-text-2xs); }
.sh-text-xs { font-size: var(--sh-text-xs); }
.sh-text-sm { font-size: var(--sh-text-sm); }
.sh-text-compact { font-size: var(--sh-text-compact); }
.sh-text-base { font-size: var(--sh-text-base); }
.sh-text-md { font-size: var(--sh-text-md); }
.sh-text-lg { font-size: var(--sh-text-lg); }
.sh-text-xl { font-size: var(--sh-text-xl); }
.sh-text-h2 { font-size: var(--sh-text-h2); }
.sh-text-h1 { font-size: var(--sh-text-h1); }

.muted,
.sh-muted-text {
  color: var(--sh-muted);
}

/* Липкая шапка: fixed-копия thead (sh-table-sticky-head.js) */
.sh-sticky-head-float {
  position: fixed;
  z-index: 44;
  display: none;
  overflow: hidden;
  pointer-events: none;
  background: var(--sh-table-header-bg);
  box-shadow: 0 2px 0 var(--sh-table-row-line), 0 4px 12px -4px rgba(0, 0, 0, 0.08);
}
.sag-shell > .sh-sticky-head-float {
  z-index: 46;
  /* Одна линия снизу вместо shadow + border thead */
  box-shadow: 0 1px 0 0 var(--sh-table-row-line, var(--sh-border));
  background: var(--sh-table-header-bg);
}
/* Заполняем ширину оболочки: flex-трек тянется, фон не обрывается справа */
.sag-shell > .sh-sticky-head-float .sh-sticky-head-float__inner,
.sag-shell > .sh-sticky-head-float .sh-sticky-head-float__scroll {
  height: 100%;
}
.sag-shell > .sh-sticky-head-float .sh-sticky-head-float__inner {
  width: 100%;
  min-width: 100%;
}
.sag-shell > .sh-sticky-head-float .sh-sag-float-head {
  width: 100%;
  min-width: 100%;
  height: 100%;
}
.sag-shell > .sh-sticky-head-float .sh-sag-float-head__pin,
.sag-shell > .sh-sticky-head-float .sh-sag-float-ws--pin {
  height: 100%;
  align-self: stretch;
}
.sag-shell > .sh-sticky-head-float .sh-sag-float-head__scroll {
  background: var(--sh-table-header-bg);
  height: 100%;
  align-self: stretch;
}
.sh-sag-float-head__pin .sh-sticky-head-float__table.sag-table thead th {
  padding: 0 !important;
  vertical-align: middle !important;
}
.sh-sag-float-head__pin .sag-float-th-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  padding: 0.22rem 0.15rem;
  text-align: center;
  line-height: 1.25;
}
.sh-sag-float-head__pin .sag-th-sku .sag-float-th-inner,
.sh-sag-float-head__pin .sag-th-name .sag-float-th-inner {
  justify-content: flex-start;
  text-align: left;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}
.sh-sag-float-head__track .sh-sticky-head-float__table.sag-table thead th {
  vertical-align: middle !important;
  box-sizing: border-box;
}
/* Нижняя линия только у .sh-sticky-head-float (box-shadow), не у коротких th */
.sag-shell > .sh-sticky-head-float .sag-table thead th {
  border-bottom-color: transparent !important;
}
.fbs-shell > .sh-sticky-head-float {
  z-index: 46;
  box-shadow: 0 1px 0 0 var(--sh-table-row-line, var(--sh-border));
  background: var(--sh-table-header-bg);
}
.fbs-shell > .sh-sticky-head-float .sh-sticky-head-float__inner,
.fbs-shell > .sh-sticky-head-float .sh-sticky-head-float__scroll {
  width: 100%;
  min-width: 100%;
  background: var(--sh-table-header-bg);
}
/* Скрытый нативный thead при pin: без нижней границы — иначе «двойная» линия */
table.sag-table.sh-sticky-head-active.sh-sticky-head-pinned > thead th {
  border-bottom-color: transparent !important;
}
.sh-sticky-head-float.is-visible {
  display: block;
}
.sh-sticky-head-float__scroll {
  /* Делаем реальный scroll-контейнер (как .sh-table-x-scroll), иначе sticky-колонки и colspans
     в сложных шапках (FBO) могут раскладываться иначе и визуально "съезжать". */
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  background: var(--sh-table-header-bg);
  scrollbar-width: none; /* Firefox */
}
.sh-sticky-head-float__scroll::-webkit-scrollbar { width: 0; height: 0; }
.sh-sticky-head-float__inner {
  display: block;
  width: 100%;
  min-width: 100%;
  background: var(--sh-table-header-bg);
}
.sh-sticky-head-float__table {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
}
.sh-sag-float-ws {
  display: block;
  width: max-content;
  min-width: 100%;
}
.sh-sag-float-ws .sh-sticky-head-float__table.sag-table {
  width: max-content;
  min-width: 100%;
}
/* План/Факт: закреплённые колонки отдельно, даты — transform как у тела таблицы */
.sh-sag-float-head {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 100%;
  height: 100%;
}
.sh-sag-float-head__pin {
  flex: 0 0 auto;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--sh-table-header-bg);
  box-shadow: 1px 0 0 var(--sh-table-row-line);
  z-index: 3;
}
.sh-sag-float-head__pin > .sh-sticky-head-float__table {
  height: 100%;
  flex: 1 1 auto;
}
.sh-sag-float-head__scroll {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.sh-sag-float-head__track {
  will-change: auto;
}
/* Pin/track: не тянуть таблицу на 100% — иначе pin схлопывается и пропадают SKU/Наименование */
.sh-sag-float-head__pin > .sh-sticky-head-float__table,
.sh-sag-float-head__track > .sh-sticky-head-float__table {
  min-width: 0 !important;
  width: max-content !important;
}
.sh-sag-float-head__pin table,
.sh-sag-float-head__track table {
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}
.sh-sag-float-head__pin thead th,
.sh-sag-float-head__track thead th {
  position: static !important;
  top: auto !important;
  background: var(--sh-table-header-bg) !important;
}
/* FBO: rowspan-колонки pin — по центру по вертикали, как в спокойной шапке */
.sh-sag-float-head__pin .fbo-th-sku,
.sh-sag-float-head__pin .fbo-th-name,
.sh-sag-float-head__pin .fbo-th-abc,
.sh-sag-float-head__pin .fbo-th-dynamics,
.sh-sag-float-head__pin .fbo-th-planfact,
.sh-sag-float-head__pin thead th[rowspan] {
  vertical-align: middle !important;
  padding: 0 !important;
}
.sh-sag-float-head__pin .fbo-float-th-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  padding: var(--sh-table-cell-py) calc(var(--sh-table-cell-px) + 1.1rem) var(--sh-table-cell-py) var(--sh-table-cell-px);
  text-align: center;
  line-height: 1.25;
}
.sh-sag-float-head__pin .fbo-float-th-inner .sh-help-wrap {
  position: absolute;
  right: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
}
.sh-sag-float-head__pin .fbo-th-sku .fbo-float-th-inner,
.sh-sag-float-head__pin .fbo-th-name .fbo-float-th-inner {
  justify-content: flex-start;
  text-align: left;
}
.sh-sticky-head-float__table thead th {
  background: var(--sh-table-header-bg) !important;
  top: 0;
}

/* Горизонтально липкие колонки в плавающей шапке (scrollLeft у __scroll) */
.sh-sticky-head-float__table .unit-th-sku,
.sh-sticky-head-float__table .unit-th-name,
.sh-sticky-head-float__table .ads-th-sku,
.sh-sticky-head-float__table .ads-th-name,
.sh-sticky-head-float__table .fbo-th-sku,
.sh-sticky-head-float__table .fbo-th-name,
.sh-sticky-head-float__table .content-th-sku,
.sh-sticky-head-float__table .content-th-name {
  position: sticky !important;
  box-shadow: 1px 0 0 var(--sh-table-row-line);
}
.sh-sticky-head-float__table .fbs-col-sku-th,
.sh-sticky-head-float__table .fbs-col-name-th {
  position: sticky !important;
  box-shadow: none !important;
}
.sh-sticky-head-float__table .unit-th-sku,
.sh-sticky-head-float__table .ads-th-sku,
.sh-sticky-head-float__table .fbo-th-sku,
.sh-sticky-head-float__table .fbs-col-sku-th,
.sh-sticky-head-float__table .content-th-sku {
  left: 0 !important;
  z-index: 56 !important;
}
.sh-sticky-head-float__table .unit-th-name,
.sh-sticky-head-float__table .ads-th-name,
.sh-sticky-head-float__table .fbo-th-name,
.sh-sticky-head-float__table .fbs-col-name-th,
.sh-sticky-head-float__table .content-th-name {
  left: var(--sh-col-sku-width) !important;
  z-index: 55 !important;
}
/* План/Факт: left для sticky-колонок копируется из исходной таблицы (syncStickyLeftStyles) */
.sh-sticky-head-float__table .sag-th-sku {
  z-index: 56 !important;
}
.sh-sticky-head-float__table .sag-th-name {
  z-index: 55 !important;
}
.sh-sticky-head-float__table .sag-th-abc {
  z-index: 54 !important;
}
.sh-sticky-head-float__table .sag-th-dynamics,
.sh-sticky-head-float__table .sag-th-stock,
.sh-sticky-head-float__table .sag-th-month,
.sh-sticky-head-float__table .sag-th-kind {
  z-index: 53 !important;
}
table.sh-sticky-head-active.sh-sticky-head-pinned > thead {
  visibility: hidden;
  pointer-events: none;
}
/* Unit: липкие th в нативной шапке не должны просвечивать под float-копией */
table.unit-table.sh-sticky-head-active.sh-sticky-head-pinned > thead th {
  border-bottom-color: transparent !important;
}
/* Остальные таблицы: при pin скрываем нижнюю границу нативного thead, чтобы не было «двойной» линии */
table.sh-sticky-head-active.sh-sticky-head-pinned > thead th {
  border-bottom-color: transparent !important;
}

/* Мобильная версия: без липких колонок и плавающей шапки (ПК без изменений) */
@media (max-width: 900px) {
  .sh-sticky-sku,
  .sh-sticky-name,
  .unit-th-sku,
  .unit-td-sku,
  .unit-th-name,
  .unit-td-name,
  .ads-th-sku,
  .ads-td-sku,
  .ads-th-name,
  .ads-td-name,
  .fbo-th-sku,
  .fbo-td-sku,
  .fbo-th-name,
  .fbo-td-name,
  .fbo-th-abc,
  .fbo-td-abc,
  .fbo-th-dynamics,
  .fbo-td-dynamics,
  .fbo-th-planfact,
  .fbo-td-planfact,
  .fbs-page .fbs-table thead th.fbs-col-sku-th,
  .fbs-page .fbs-table thead th.fbs-col-name-th,
  .fbs-col-sku-th,
  .fbs-col-sku-td,
  .fbs-col-name-th,
  .fbs-col-name-td,
  .content-th-sku,
  .content-td-sku,
  .content-th-name,
  .content-td-name,
  .sag-workspace .sag-table .sag-th-sku,
  .sag-workspace .sag-table .sag-td-sku,
  .sag-workspace .sag-table .sag-th-art,
  .sag-workspace .sag-table .sag-td-art,
  .sag-workspace .sag-table .sag-th-name,
  .sag-workspace .sag-table .sag-td-name,
  .sag-workspace .sag-table .sag-th-abc,
  .sag-workspace .sag-table .sag-td-abc,
  .sag-workspace .sag-table .sag-th-dynamics,
  .sag-workspace .sag-table .sag-td-dynamics,
  .sag-workspace .sag-table .sag-th-stock,
  .sag-workspace .sag-table .sag-td-stock,
  .sag-workspace .sag-table .sag-th-month,
  .sag-workspace .sag-table .sag-td-month,
  .sag-workspace .sag-table .sag-th-kind,
  .sag-workspace .sag-table .sag-td-kind,
  .sag-th-sku,
  .sag-td-sku,
  .sag-th-art,
  .sag-td-art,
  .sag-th-name,
  .sag-td-name,
  .sag-th-abc,
  .sag-td-abc,
  .sag-th-dynamics,
  .sag-td-dynamics,
  .sag-th-stock,
  .sag-td-stock,
  .sag-th-month,
  .sag-td-month,
  .sag-th-kind,
  .sag-td-kind,
  .fin-th-sticky-sku,
  .fin-td-sticky-sku,
  .fin-th-sticky-art,
  .fin-td-sticky-art,
  .fin-th-sticky-name,
  .fin-td-sticky-name {
    position: static !important;
    left: auto !important;
    box-shadow: none !important;
    z-index: auto !important;
  }
  .fin-workspace .sh-table.finance-raw-table thead th,
  .fin-sku-table-shell .sh-sku-period-table thead > tr > th {
    position: static !important;
    top: auto !important;
    box-shadow: none !important;
  }
  .sh-sticky-head-float {
    display: none !important;
  }
  table.sh-sticky-head-active.sh-sticky-head-pinned > thead {
    visibility: visible !important;
  }

  /* План/Факт (в period bar, если встроен): одна строка — план/факт слева, сброс справа */
  .sh-period-bar .sh-period-inputs-row {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }
  .sh-period-sag-actions {
    flex: 1 1 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 0.3rem 0.4rem;
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: none !important;
  }
  .sh-period-sag-field {
    flex: 0 1 auto;
    min-width: 0;
  }
  .sh-period-sag-reset {
    margin-left: auto;
    flex-shrink: 0;
  }
  .sag-planfact-toolbar .sh-period-sag-field > span {
    font-size: var(--sh-text-xs);
  }
  .sag-planfact-toolbar .sh-period-sag-actions #sag-global-plan-rub,
  .sag-planfact-toolbar .sh-period-sag-actions #sag-global-fact-rub,
  .sag-planfact-toolbar .sh-period-sag-actions .sh-period-sag-input,
  .sag-planfact-toolbar .sh-period-sag-reset.unit-btn {
    min-height: var(--sh-control-height);
    height: var(--sh-control-height);
    font-size: var(--sh-text-sm);
  }
  .sag-planfact-toolbar .sh-period-sag-actions #sag-global-plan-rub,
  .sag-planfact-toolbar .sh-period-sag-actions #sag-global-fact-rub {
    width: 6.75rem;
    min-width: 6.75rem;
    max-width: 6.75rem;
  }
  .sag-planfact-toolbar .sh-period-sag-reset.unit-btn {
    padding: 0 0.65rem;
    white-space: nowrap;
  }
  .fbs-page .sh-sticky-head-float__table.fbs-table thead th.fbs-col-sku-th,
  .fbs-page .sh-sticky-head-float__table.fbs-table thead th.fbs-col-name-th {
    position: static !important;
    left: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }
}
