/* Единый стиль, часть 2 (15.10): строка инструментов, меню, таблицы, карточки,
   значки файлов, пустые состояния, действия строк при наведении.
   Подключается после pusk-edinyi.css. Настольные правила — под body:not(.m-app). */

:root {
  --r-tag: 4px; --r-ctl: 8px; --r-card: 12px; --r-pill: 999px;
  --ui-line: var(--border-default, #eae6de);
  --ui-teal: var(--text-accent, #137f79);
  --ui-teal-bg: var(--bg-accent-subtle, #e6f3f2);
  --ui-muted: var(--text-secondary, #6b7076);
  --ui-overlay-shadow: 0 12px 32px rgba(0, 0, 0, .14);
}

/* ===== 1. Строка инструментов ===== */
body:not(.m-app) .ui-navbtn,
body:not(.m-app) .pusk-pager-arrow,
body:not(.m-app) .pusk-planner-pager-btn,
body:not(.m-app) .pusk-ahead-week-nav,
body:not(.m-app) .mf-ibtn {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 36px; height: 36px; min-width: 36px; padding: 0 !important;
  border: 1px solid var(--ui-line) !important; border-radius: var(--r-ctl) !important;
  background: var(--bg-surface, #fff) !important; color: var(--text-primary, #1b1d20) !important;
  text-decoration: none; line-height: 1; box-sizing: border-box; cursor: pointer;
}
body:not(.m-app) .ui-navbtn:hover,
body:not(.m-app) .pusk-pager-arrow:hover,
body:not(.m-app) .pusk-ahead-week-nav:hover,
body:not(.m-app) .mf-ibtn:hover { background: var(--bg-muted, #f5f3ef) !important; }
.ui-navbtn .ui-ic, .pusk-pager-arrow .ui-ic, .mf-ibtn .ui-ic { display: block; }

body:not(.m-app) .pusk-planner-search input,
body:not(.m-app) .pusk-cases-head-search input,
body:not(.m-app) .mf-search input,
body:not(.m-app) .ui-toolbar input[type=search] {
  height: 36px; border-radius: var(--r-ctl) !important; box-sizing: border-box;
}
body:not(.m-app) .pusk-planner-filter,
body:not(.m-app) .ui-toolbar select { height: 36px; border-radius: var(--r-ctl) !important; }

/* Фильтры-«таблетки»: Все 140 / В работе 137 … */
body:not(.m-app) .reg-chips > a,
body:not(.m-app) .pusk-case-chip,
body:not(.m-app) .pusk-feed-chip,
body:not(.m-app) .enf-chip,
body:not(.m-app) .wr-chip,
body:not(.m-app) .fchip,
body:not(.m-app) .rec-chips > a,
body:not(.m-app) .pusk-planner-view-toggle > a {
  display: inline-flex !important; align-items: center; gap: 5px;
  height: 30px; padding: 0 12px !important; box-sizing: border-box;
  border-radius: var(--r-pill) !important; border: 1px solid var(--ui-line) !important;
  background: var(--bg-surface, #fff) !important; color: var(--text-primary, #1b1d20) !important;
  font-size: 13px !important; font-weight: 500; text-decoration: none; white-space: nowrap;
  box-shadow: none !important;
}
body:not(.m-app) .reg-chips > a > b, body:not(.m-app) .reg-chips > a > span,
body:not(.m-app) .pusk-case-chip > b, body:not(.m-app) .pusk-feed-chip > b,
body:not(.m-app) .pusk-feed-chip > span, body:not(.m-app) .enf-chip > b,
body:not(.m-app) .wr-chip > b, body:not(.m-app) .fchip > b,
body:not(.m-app) .pusk-planner-view-toggle > a > span {
  font-size: 12px !important; font-weight: 500 !important; color: var(--ui-muted) !important;
  background: none !important; padding: 0 !important; font-variant-numeric: tabular-nums;
}
body:not(.m-app) .reg-chips > a.on, body:not(.m-app) .pusk-case-chip.on,
body:not(.m-app) .pusk-feed-chip.on, body:not(.m-app) .enf-chip.on,
body:not(.m-app) .wr-chip.on, body:not(.m-app) .fchip.on,
body:not(.m-app) .rec-chips > a.on, body:not(.m-app) .pusk-planner-view-toggle > a.on {
  background: var(--ui-teal-bg) !important; color: var(--ui-teal) !important;
  border-color: transparent !important;
}
body:not(.m-app) .reg-chips > a.on > b, body:not(.m-app) .pusk-case-chip.on > b,
body:not(.m-app) .pusk-feed-chip.on > b, body:not(.m-app) .enf-chip.on > b,
body:not(.m-app) .wr-chip.on > b { color: var(--ui-teal) !important; opacity: .8; }

/* ===== 2. Боковое меню: линейные значки ===== */
.today-side-ico .ui-ic { display: block; width: 18px; height: 18px; color: var(--ui-muted); }
.today-side a.on .today-side-ico .ui-ic, a.on > .today-side-ico .ui-ic { color: var(--ui-teal); }
.pusk-nav-chev .ui-ic { display: block; }
.pusk-quick-btn .ui-ic { margin-right: 6px; vertical-align: -3px; }

/* ===== 3. Таблицы ===== */
body:not(.m-app) table.zebra, body:not(.m-app) table.tight, body:not(.m-app) table.rg-table,
body:not(.m-app) table.reg-table, body:not(.m-app) table.in-tbl, body:not(.m-app) table.pk-table,
body:not(.m-app) table.pusk-tasks-table, body:not(.m-app) table.pusk-planner-table,
body:not(.m-app) table.pusk-cases-table, body:not(.m-app) table.pusk-mail-table,
body:not(.m-app) table.pusk-events-table, body:not(.m-app) table.cs-table {
  border-collapse: separate; border-spacing: 0;
}
body:not(.m-app) :is(table.zebra, table.tight, table.rg-table, table.reg-table, table.in-tbl, table.pk-table,
  table.pusk-tasks-table, table.pusk-planner-table, table.pusk-cases-table, table.pusk-mail-table,
  table.pusk-events-table, table.cs-table) > thead th {
  font-size: 12px; font-weight: 600; color: var(--ui-muted); background: #f6f4ef;
  position: sticky; top: 0; z-index: 2; border-bottom: 1px solid var(--ui-line);
}
body:not(.m-app) :is(table.zebra, table.tight, table.rg-table, table.reg-table, table.in-tbl, table.pk-table,
  table.pusk-tasks-table, table.pusk-planner-table, table.pusk-cases-table, table.pusk-mail-table,
  table.pusk-events-table, table.cs-table) > tbody > tr > td { border-bottom: 1px solid var(--ui-line); }
body:not(.m-app) table.zebra > tbody > tr:nth-child(even) > td { background: #faf9f6; }
body:not(.m-app) :is(table.zebra, table.tight, table.rg-table, table.reg-table, table.in-tbl, table.pk-table,
  table.pusk-tasks-table, table.pusk-planner-table, table.pusk-cases-table, table.pusk-mail-table,
  table.pusk-events-table, table.cs-table) > tbody > tr:hover > td { background: #f3f1ec; }
td.num, th.num, td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ===== 4. Карточки, всплывающие окна, крошки ===== */
body:not(.m-app) .panel, body:not(.m-app) .card:not(.pusk-schedule-card), body:not(.m-app) .ui-card {
  background: var(--bg-surface, #fff); border: 1px solid var(--ui-line);
  border-radius: var(--r-card); box-shadow: none; padding: 16px;
}
body:not(.m-app) .panel.dense, body:not(.m-app) .card.dense { padding: 12px; }
body:not(.m-app) :is(.add-sheet, .flyout, .ovx-menu, .reg-menu, .pusk-cases-col-panel, .as-pop, .pusk-create-menu, .popup, .pop) {
  border-radius: var(--r-card) !important; box-shadow: var(--ui-overlay-shadow) !important;
}
body:not(.m-app) .tag { border-radius: var(--r-tag); }
body:not(.m-app) :is(.crumbs, .pusk-case-breadcrumb, .pusk-appearance-crumb, .ui-crumbs) {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  margin: 0 0 6px; font-size: 13px; color: var(--ui-muted);
}
body:not(.m-app) :is(.crumbs, .pusk-case-breadcrumb, .pusk-appearance-crumb, .ui-crumbs) a {
  color: var(--ui-muted); text-decoration: none;
}
body:not(.m-app) :is(.crumbs, .pusk-case-breadcrumb, .pusk-appearance-crumb, .ui-crumbs) a:hover { color: var(--ui-teal); }
.ui-crumbs .sep { color: #b7b1a6; }

/* ===== 5. Значки типов файлов ===== */
.ui-file-ic {
  --fi: #4a4740;
  position: relative; display: inline-flex; align-items: flex-end; justify-content: center;
  flex: none; width: 28px; height: 34px; padding-bottom: 6px; box-sizing: border-box;
  border-radius: 4px 9px 4px 4px; background: var(--fi); color: #fff;
  font: 700 9px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: .02em;
  vertical-align: middle; text-transform: uppercase; overflow: hidden;
}
.ui-file-ic::before {
  content: ""; position: absolute; top: 0; right: 0; width: 9px; height: 9px;
  background: linear-gradient(225deg, var(--bg-surface, #fff) 50%, rgba(255,255,255,.45) 50%);
}
.ui-file-ic.is-sm { width: 20px; height: 24px; padding-bottom: 4px; font-size: 7px; border-radius: 3px 7px 3px 3px; }
.ui-file-ic.is-sm::before { width: 7px; height: 7px; }

/* ===== 6. Пустые состояния ===== */
:is(.empty, .rg-empty, .fe-empty, .ib-p-empty, .as-empty, .today-empty, .in-empty,
  .correspondence-empty, .today-task-filter-empty, .today-day-empty, .pusk-hearing-empty,
  .ovx-empty, .ov-empty, .ib-empty, .ctasks-empty, .tk-empty, .time-empty-state, .sr-empty,
  .pusk-feed-section-empty, .ui-empty):not(td):not(tr):not(li) {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  text-align: center; color: var(--ui-muted); font-size: 14px; padding: 24px 16px;
}
td:is(.empty, .rg-empty, .in-empty, .ui-empty) { text-align: center; color: var(--ui-muted); font-size: 14px; padding: 24px 16px; }
:is(.empty, .rg-empty, .fe-empty, .ui-empty) > .ui-ic:first-child { width: 28px; height: 28px; color: #b7b1a6; }

/* ===== Действия строки при наведении: никогда не поверх текста, дат, сумм ===== */
li:has(> .row-tools), .case-row:has(> .row-tools), div:has(> .row-tools) { padding-right: 104px; }
.ct-tools .row-tools { position: static !important; }
.as-tlist li, .as-src li { padding-right: 52px !important; }
.ph-mini:has(.pusk-attend) { padding-right: 34px !important; }
.pusk-schedule-card.ph-ev .ph-row > :first-child { padding-right: 100px; }
