/* ============================================================================
   Trust Partner — фирменный стиль D3 «Graphite Signature» для всей CRM (03.11.2026).
   Шаблоны: https://claude.ai/artifact/1qhyn3ViuLQTDfQaK1jmR6, документ
   /root/ANALIZA-crm-d3-redizajn-2026-11-03.md (разд. 8).
   Подключается ПОСЛЕДНИМ в <head> каждого модуля и перекрывает скин v3 (23.09)
   из design-system.css. Только внешний вид: блоки, меню, кнопки и функции на
   своих местах. Откат — убрать <link> на этот файл (или очистить файл).
   Печать не трогаем: весь слой — @media screen.
   ============================================================================ */
@import url('d3-fonts.css');

@media screen {
:root:root {
  /* палитра D3 */
  --d3-gr: #24262b; --d3-deep: #1d1f23; --d3-plate: #31343b; --d3-plate-2: #383b43; --d3-hi: #3d4048;
  --d3-or: #ff6200; --d3-or-2: #ff8a3d; --d3-or-soft: #ffb37a; --d3-on-hot: #1d1f23;
  --d3-hot: linear-gradient(160deg, #ff8a00 0%, #ff6200 55%, #ff5200 100%);
  --d3-ink: #fff; --d3-ink-2: #e6e7ea; --d3-ink-3: #b9bbc1;
  --d3-ok: #34d27b; --d3-err: #ff8a7a;
  --d3-para: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  --d3-para-s: polygon(7px 0, 100% 0, calc(100% - 7px) 100%, 0 100%);
  --d3-font: 'Space Grotesk', 'Onest', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;

  /* общие токены CRM → D3 (на них стоит большая часть модулей) */
  --ti-bg-base: #24262b; --ti-bg-surface: #31343b; --ti-bg-raised: #383b43; --ti-bg-hover: #3d4048;
  --ti-rim: rgba(255,255,255,.07); --ti-rim-mid: rgba(255,255,255,.11); --ti-rim-bright: rgba(255,255,255,.16);
  --ti-text-1: #ffffff; --ti-text-2: #e6e7ea; --ti-text-3: #b9bbc1; --ti-text-inverse: #1d1f23;
  --ti-silver: #b9bbc1; --ti-silver-bright: #e6e7ea;
  --ti-accent: #ff6200; --ti-accent-hover: #ffb37a; --ti-accent-soft: rgba(255,98,0,.14); --ti-accent-strong: #e65100;
  --tp-orange: #ff6200; --tp-orange-dark: #e65100;
  --ti-success: #34d27b; --ti-success-bright: #34d27b; --ti-danger: #ff8a7a; --ti-danger-bright: #ff8a7a;
  --ti-warning: #ffb37a; --ti-info: #ffb37a;
  --ti-r-btn: 10px; --ti-r-md: 10px; --ti-r-card: 16px; --ti-r-lg: 18px;
  --ti-font-display: var(--d3-font); --ti-font-body: var(--d3-font);
  --br-or: #ff6200; --br-blue: #ff6200; --br-blue2: #ff8a3d; --br-line: none;
}

/* ---------- база ---------- */
html, html body { background: var(--d3-gr) !important; }
html body { font-family: var(--d3-font) !important; color: var(--d3-ink); }
html body :where(h1, h2, h3, h4, h5, button, input, select, textarea, table) { font-family: var(--d3-font) !important; }
html body::before, html body::after { display: none !important; }           /* без синего свечения и «зерна» */
html ::selection { background: rgba(255,98,0,.45); color: #fff; }
html :where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--d3-or-soft) !important; outline-offset: 2px; }
html * { scrollbar-color: var(--d3-hi) transparent; }
html *::-webkit-scrollbar-thumb { background: var(--d3-hi); }
html input[type=checkbox], html input[type=radio], html input[type=range] { accent-color: var(--d3-or); }

/* ---------- пара лент в верхней части полосы (вставляет nav.js внутрь #ti-navbar) ----------
   04.11.2026 (ANALIZA разд. 10.3, «ленты толще по всей системе»): толстая параллельная пара —
   оранжевая над белой, не наезжают. Наклон задан смещением края в px через atan2(px, ширина),
   поэтому на любой ширине экрана ленты не уходят за полосу и не обрезаются. */
:root:root { --ti-navbar-h: 96px; --d3-tapes-h: 50px; }
.d3-tapes { position: relative; height: var(--d3-tapes-h); overflow: hidden; pointer-events: none; background: var(--d3-deep); }
#ti-navbar > .d3-tapes { position: absolute; left: 0; right: 0; top: 0; height: var(--d3-tapes-h); }
.d3-tape { position: absolute; left: -10%; width: 120%; display: flex; align-items: center; gap: 30px; padding: 0 60px; white-space: nowrap; overflow: hidden;
  font: 700 10.5px/1 var(--d3-font); letter-spacing: .22em; text-transform: uppercase; transform: rotate(calc(-1 * atan2(4px, 60vw))); }
.d3-tape--o { top: 4px; height: 23px; background: linear-gradient(90deg, #ff8a00, #ff6200 55%, #ff5200); color: var(--d3-on-hot); z-index: 2;
  box-shadow: 0 6px 12px -8px rgba(0,0,0,.75); }
.d3-tape--w { top: 28px; height: 18px; font-size: 9.5px; background: #eceef1; color: #24262b; z-index: 1; padding-left: 150px; }
.d3-tape em { font-style: normal; opacity: .5; }
@media (max-width: 640px) {
  :root:root { --ti-navbar-h: 88px; --d3-tapes-h: 42px; }
  .d3-tape { font-size: 9px; gap: 22px; padding: 0 24px; }
  .d3-tape--o { top: 3px; height: 20px; }
  .d3-tape--w { top: 24px; height: 15px; font-size: 8px; padding-left: 80px; }
}

/* ---------- верхняя полоса (nav.js) ---------- */
html #ti-navbar { background: var(--d3-deep) !important; backdrop-filter: none !important; border-bottom: 1px solid var(--d3-plate) !important;
  height: var(--ti-navbar-h) !important; padding-top: var(--d3-tapes-h) !important; overflow: visible; }
html #ti-navbar::after { display: none !important; }
html .ti-nav__brand { font-size: 0 !important; gap: 0 !important; }
html .ti-nav__brand-dot { width: 74px !important; height: 22px !important; border-radius: 0 !important; box-shadow: none !important;
  background: url('/_shared/d3/logo-trust.png') left center / contain no-repeat !important; }
html .ti-nav__brand:hover { opacity: .85; }
html .ti-nav__current { border-left: 1px solid var(--d3-hi) !important; padding-left: 14px !important; margin-left: 12px; color: var(--d3-ink-3) !important; font: 600 13px var(--d3-font) !important; }
html .ti-nav__toggle, html .ti-nav__logout { background: var(--d3-plate) !important; color: var(--d3-ink) !important; border: 0 !important; border-radius: 10px !important; height: 36px; }
html .ti-nav__toggle:hover, html .ti-nav__logout:hover { background: var(--d3-hi) !important; }
html .ti-nav__dropdown { background: var(--d3-deep) !important; border: 1px solid var(--d3-plate) !important; border-radius: 14px !important; box-shadow: 0 20px 40px rgba(0,0,0,.55) !important; }
html .ti-nav__item:hover { background: var(--d3-plate) !important; }
html .ti-nav__item.is-current { background: var(--d3-plate) !important; box-shadow: inset 3px 0 0 var(--d3-or) !important; color: #fff !important; }
html .ti-nav__item-icon { color: var(--d3-or-2) !important; }
html .ti-nav__group-label { color: var(--d3-ink-3) !important; }

/* ---------- главная кнопка экрана: горячий параллелограмм, графитовый текст ---------- */
html :is(.icon-btn.primary, .btn-primary, .btn--primary, .modal-btn-primary, #btn-open-add-group) {
  background: var(--d3-hot) !important; color: var(--d3-on-hot) !important; border: 0 !important; border-radius: 0 !important;
  clip-path: var(--d3-para); box-shadow: none !important; font-weight: 700 !important; padding-left: 20px; padding-right: 20px; }
html :is(.icon-btn.primary, .btn-primary, .btn--primary, .modal-btn-primary, #btn-open-add-group) * { color: var(--d3-on-hot) !important; stroke: currentColor; }
html :is(.btn-primary, .btn--primary, .modal-btn-primary, .icon-btn.primary)::after { display: none !important; }
html :is(.icon-btn.primary, .btn-primary, .btn--primary, .modal-btn-primary):hover { filter: brightness(1.07); }
html :is(.icon-btn.primary, .btn-primary, .btn--primary, .modal-btn-primary):disabled { opacity: .45; filter: none; }

/* вторичные кнопки шапок — плиты */
html :is(.header-right button:not(.icon-btn.primary), .header-buttons button, .header-buttons a) {
  background: var(--d3-plate) !important; border: 0 !important; color: var(--d3-ink) !important; border-radius: 10px !important; }
html :is(.header-right button:not(.icon-btn.primary), .header-buttons button):hover { background: var(--d3-hi) !important; color: #fff !important; }

/* ---------- боковые меню ---------- */
html :is(aside.sidebar, .sidebar) { background: var(--d3-deep) !important; border-right: 0 !important; }
html :is(.sidebar-header, .sidebar__logo, .sidebar-brand) { border-bottom: 1px solid var(--d3-plate) !important; }
html .sidebar-header::after { display: none !important; }
html :is(.menu-item, .nav-tab, .sidebar__nav a, .sidebar__nav button) { color: var(--d3-ink-2) !important; border-radius: 10px !important; border: 0 !important; }
html :is(.menu-item, .nav-tab, .sidebar__nav a, .sidebar__nav button):hover { background: var(--d3-plate) !important; color: #fff !important; }
html :is(.menu-item.active, .menu-item.open, .nav-tab.active) { background: var(--d3-plate) !important; color: #fff !important; border: 0 !important; box-shadow: inset 3px 0 0 var(--d3-or) !important; }
html :is(.menu-item.active, .menu-item.open) svg { color: var(--d3-or-2) !important; stroke: var(--d3-or-2) !important; }
html :is(.nav-subtab.active, .submenu-link.active) { background: var(--d3-plate) !important; color: #fff !important; border: 0 !important; }
html .nav-subtab.active::after { background: var(--d3-or) !important; border-radius: 0 !important; width: 3px !important; }
html :is(.nav-group-label, .menu-group-label)::before { background: var(--d3-or) !important; transform: skewX(-20deg); border-radius: 0 !important; }
html :is(.nav-group-label, [class*="group-label"], [class*="section-label"]) { color: var(--d3-ink-3) !important; }
html :is(.nav-action-btn, .nav-action-history, .nav-action-reports) { background: var(--d3-plate) !important; border: 0 !important; color: #fff !important; }
html :is(.nav-action-btn, .nav-action-history, .nav-action-reports):hover { background: var(--d3-hi) !important; }
html :is(.sidebar-nav .nav-tab-icon, .nav-action-btn .nav-tab-icon, .header-buttons .nav-tab-icon) { color: var(--d3-or-2) !important; }
html :is(.sidebar-nav .nav-tab-icon, .nav-action-btn .nav-tab-icon, .header-buttons .nav-tab-icon):not(:has(svg)) { background: var(--d3-or-2) !important; }

/* знак модуля в боковом меню: оранжевый язычок вместо синего щита */
/* 04.11.2026 (ANALIZA разд. 10.4): владелец — «все такие логотипы (TP/TF) заменить на логотип приложения» */
html .sidebar-header .logo:not(img) { font-size: 0 !important; color: transparent !important; background: url('/_shared/d3/app-icon.png') center / contain no-repeat !important;
  clip-path: none; border-radius: 0 !important; width: 40px !important; height: 40px !important; display: inline-flex !important; box-shadow: none !important; }
html :is(.sidebar-header img.logo, .brand-mark, .rf-logo) { filter: none !important; }
html .sidebar-header img.logo, html img[src$="tp-logo.png"]:not(.keep-shield),
html :is(img.sidebar__logo, img.brand-mark, img.brand-logo, .sidebar img[src$="logo.png"], .sidebar-header img, .logo-section img) {
  content: url('/_shared/d3/app-icon.png'); width: 40px !important; height: 40px !important; object-fit: contain; filter: none !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
/* крупный щит в пустых экранах → надпись TRUST */
html img.content__empty-logo { content: url('/_shared/d3/logo-trust.png'); width: 140px !important; height: auto !important; opacity: .5; filter: none !important; }

/* ---------- шапки контента и заголовки ---------- */
html :is(header.header, .content-header, .topbar, .bk-header) { background: transparent !important; backdrop-filter: none !important; border-bottom: 1px solid var(--d3-plate) !important; }
html :is(header.header h1, .content-header h1, .content-title, .topbar__title, .bk-header h1, .content-header-text h1, .header-left h2, .content-header-text h2) {
  font-family: var(--d3-font) !important; font-weight: 700 !important; letter-spacing: -.025em !important; }
html :is(header.header h1, .content-header h1, .content-header-text h1, .bk-header h1, .content-title, .header-left h2, .content-header-text h2)::before {
  content: '' !important; display: inline-block !important; width: 5px !important; height: .82em !important; margin: 0 12px -.06em 0 !important;
  background: var(--d3-or) !important; border-radius: 0 !important; transform: skewX(-18deg); vertical-align: baseline; }
html :is(.content-header p, .content-header-text p, .header-left p, .bk-subtitle) { color: var(--d3-ink-3) !important; }

/* ---------- плиты, карточки, счётчики ---------- */
html :is(.kpi-card, .stat-tile, .stat-card, .bk-tile) { background: var(--d3-plate) !important; border: 0 !important; border-radius: 16px !important; box-shadow: none !important; }
html :is(.kpi-card, .stat-tile, .stat-card)::before { display: none !important; }
html .kpi-card.accent { background: var(--d3-plate) !important; }
html :is(.kpi-card .label, .stat-tile .stat-label, .stat-card .stat-label, .bk-tile .k) { color: var(--d3-ink-3) !important; }

/* ---------- таблицы ---------- */
html table:not(.protocol-doc table) thead th { background: transparent !important; color: var(--d3-ink-3) !important; border-bottom: 1px solid var(--d3-hi) !important; font-size: 10.5px !important; letter-spacing: .12em !important; }
html table tbody tr:hover td { background: rgba(255,255,255,.025) !important; }

/* ---------- поля ---------- */
html :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea) { border-radius: 10px; }
html :is(input, select, textarea):focus { border-color: var(--d3-or) !important; box-shadow: 0 0 0 3px rgba(255,98,0,.22) !important; outline: none !important; }
html body select:not([multiple]):not(.protocol-doc select) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 11px center !important; background-size: 14px 14px !important;
  -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; padding-right: 34px !important; }
/* 04.11.2026: стрелка повторялась по всему полю («Wg ważności» и др.) — у модулей с background: none повтор/позиция сбрасывались */
html input[type=date]::-webkit-calendar-picker-indicator { filter: invert(.7) sepia(1) saturate(5) hue-rotate(-20deg); }

/* ---------- статусы и пустые состояния ---------- */
html :is(.empty-state, .tw-empty, .pz-messages__empty, .bk-empty-state) { border: 1px dashed var(--d3-hi) !important; background: transparent !important; color: var(--d3-ink-3) !important; }
html :is(.empty-state, .tw-empty, .pz-messages__empty, .bk-empty-state)::before { background: var(--d3-hi) !important; background-color: var(--d3-or-2) !important; }

/* ============================================================================
   Модули: их собственные переменные → палитра D3
   ============================================================================ */
/* Obsługa klienta (2.Работа с клиентами/styles.css) */
:root:has(#add-client-modal) { --gray-950: #1d1f23; --gray-900: #24262b; --gray-850: #2a2c31; --gray-800: #31343b; --gray-700: #3d4048; }
/* Finanse */
:root:root { --c-border: rgba(255,255,255,.07); --c-border-soft: rgba(255,255,255,.04); --c-border-strong: rgba(255,255,255,.14); }
/* Planer zadań — своя перевёрнутая шкала, трогаем только акценты */
:root:has(.nav-subtab) { --accent-1: #ff6200; --accent-2: #e65100; --accent-shadow: rgba(255,98,0,.3); }
/* Newsletter */
:root:root { --accent: #ff6200; --accent-hover: #ffb37a; --primary-dark: #31343b; --light-gray: #31343b; }
/* Windykacja */
:root:root { --tw-orange: #ff6200; --tw-row-sel: rgba(255,98,0,.10); --tw-side: #1d1f23;
  --tw-grad: linear-gradient(160deg, #ff8a00 0%, #ff6200 55%, #ff5200 100%); --tw-grad-soft: linear-gradient(180deg, rgba(255,98,0,.10), rgba(255,98,0,0)); --tw-hero: none; }
/* Grupa Telegram */
:root:root { --gb-card: #31343b; --gb-card-2: #383b43; --gb-blue: #ff6200; --gb-blue-2: #ff8a3d; --gb-orange: #ff6200; --gb-ok: #34d27b; }
/* Baterie / Magazyn */
:root:has(.mz-app, #magazyn-app, [data-app="magazyn"]) { --bg: #24262b; --nav: #1d1f23; --side: #1d1f23; --surface: #31343b; --raised: #383b43; --hi: #3d4048; --accent: #ff6200; }
/* Social (4.Соцсети) */
:root:root { --bg-base: #24262b; --bg-surface: #31343b; --bg-raised: #383b43; --bg-hover: #3d4048; --txt-1: #ffffff; --txt-2: #e6e7ea; --txt-3: #b9bbc1; }
/* Budżet i koszty: тёмное боковое меню → графит D3 */
html .bk-side { background: var(--d3-deep) !important; border-right: 0 !important; }
html .bk-side-link.is-active { background: var(--d3-plate) !important; box-shadow: inset 3px 0 0 var(--d3-or); }
/* Planer zadań: своя перевёрнутая шкала серых (50 — самый тёмный) → подложки D3 */
:root:has(.nav-subtab):has(#btn-open-add-group) { --gray-50: #24262b; --gray-100: #2a2c31; --gray-150: #31343b; --gray-200: #383b43; --gray-300: #3d4048; }
/* Panel podnajmu (внутренний): свои --bg-* */
:root:has(#menu-podnajemcy) { --bg-canvas: #24262b; --bg-surface: #31343b; --bg-subtle: #383b43; }
/* Panel podnajmu (внутренний) */
:root:has(#menu-podnajemcy) { --gray-0: #31343b; --gray-25: #2a2c31; --gray-50: #24262b; --gray-100: #31343b; --gray-950: #1d1f23; }

/* ============================================================================
   Ревизия 04.11.2026 (ANALIZA разд. 10.2): светлые плашки и окна, которые
   появляются только с данными или по клику. Inline-стили перекрываем !important.
   ============================================================================ */
/* Obsługa: «Rower zastępczy», смена байка — тёплая плита D3 */
html #cm-replacement-active, html #cm-handover-change-panel {
  background: rgba(255,98,0,.10) !important; border-color: rgba(255,138,61,.45) !important; color: var(--d3-ink-2) !important; }
html #cm-replacement-active [style*="color:#a35a12"] { color: var(--d3-or-soft) !important; }
html #cm-replacement-active [style*="color:#6b4a1f"] { color: var(--d3-ink-2) !important; }
/* Obsługa: ошибки в окнах замены/протокола/возврата */
html #ir-error, html #pc-error, html #rr-error {
  background: rgba(255,138,122,.10) !important; border-color: rgba(255,138,122,.40) !important; color: var(--d3-err) !important; }
/* Obsługa: просрочка в «Dostępność», удаление документа */
html .avail-item--overdue { background: rgba(255,138,122,.08) !important; border-left-color: var(--d3-err) !important; }
html .avail-item--overdue:hover { background: rgba(255,138,122,.14) !important; }
html .avail-item--overdue .avail-item-daylabel { color: var(--d3-err) !important; }
html .avail-panel-count--overdue { background: rgba(255,138,122,.16) !important; color: var(--d3-err) !important; }
html .cdz-remove-btn:hover { background: rgba(255,138,122,.12) !important; border-color: rgba(255,138,122,.45) !important; color: var(--d3-err) !important; }
/* Finanse → «Działania»: белые карточки → плиты D3 */
html .stat-box { background: var(--d3-plate) !important; border-color: var(--ti-rim-mid) !important; box-shadow: none !important; }
html .action-group-items, html .action-card { background: var(--d3-gr) !important; }
html .action-card:hover { background: var(--d3-plate) !important; }
html .action-btn-comment { background: var(--d3-plate) !important; }
html .action-btn-comment:hover { background: var(--d3-hi) !important; }
/* Finanse: «Saldo klienta», баннер Stripe, «Stripe: tylko ręcznie» */
html #sp-banner { background: rgba(52,210,123,.10) !important; border-color: rgba(52,210,123,.35) !important; color: var(--d3-ink-2) !important; }
html div[style*="background:#f0fdf4"] { background: rgba(52,210,123,.10) !important; border-color: rgba(52,210,123,.35) !important; color: var(--d3-ok) !important; }
html .btn-edit[style*="background:#fef2f2"] { background: rgba(255,138,122,.12) !important; border-color: rgba(255,138,122,.45) !important; color: var(--d3-err) !important; }
/* Grupa Telegram → «Posty»: включённый чип */
html .gb-cal__chip.is-on { color: var(--d3-or-soft) !important; }

/* ============================================================================
   Статусы — ленты D3 (вариант B, выбор владельца 04.11.2026, ANALIZA разд. 11.6/11.8 этап 2).
   Четыре тона вместо радуги: графит — обычное, белая — свободно, оранжевая — внимание,
   красная — проблема. Только метки статуса; выпадающие списки и кнопки не трогаем.
   ============================================================================ */
html body :is(.client-status.status-active, .invoice-status.status-paid, .badge-status-wynajety, .badge-ok, .tc-status-badge--busy, .bk-badge--paid, .bk-badge--scheduled, .gb-badge--on, .gb-badge--off, .status--done, .status--sent, .status--post, .status--planned, .status--neutral, .badge--active, .badge--draft, .badge.badge-success, .cm-inv-status), html body :is(.badge-status-wolny, .tc-status-badge--free), html body :is(.badge-status-serwis, .badge-wkrotce, .tc-status-badge--service, .tc-status-badge--replacement, .invoice-status.status-unpaid, .invoice-status.status-partial, .invoice-status.status-pending, .bk-badge--unpaid, .gb-badge--warn, .status--waiting, .badge.badge-warning), html body :is(.invoice-status.status-overdue, .cm-inv-status--overdue, .badge-pilny, .badge.badge-danger, .badge--rejected, .gb-badge--err, .status--overdue), html body .client-status.status-inactive {
  display: inline-flex !important; align-items: center; height: 24px; padding: 0 12px !important; border: 0 !important; border-radius: 0 !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); box-shadow: none !important;
  font: 700 11px/1 var(--d3-font) !important; letter-spacing: .06em !important; text-transform: uppercase !important; white-space: nowrap; }
:is(html body :is(.client-status.status-active, .invoice-status.status-paid, .badge-status-wynajety, .badge-ok, .tc-status-badge--busy, .bk-badge--paid, .bk-badge--scheduled, .gb-badge--on, .gb-badge--off, .status--done, .status--sent, .status--post, .status--planned, .status--neutral, .badge--active, .badge--draft, .badge.badge-success, .cm-inv-status), html body :is(.badge-status-wolny, .tc-status-badge--free), html body :is(.badge-status-serwis, .badge-wkrotce, .tc-status-badge--service, .tc-status-badge--replacement, .invoice-status.status-unpaid, .invoice-status.status-partial, .invoice-status.status-pending, .bk-badge--unpaid, .gb-badge--warn, .status--waiting, .badge.badge-warning), html body :is(.invoice-status.status-overdue, .cm-inv-status--overdue, .badge-pilny, .badge.badge-danger, .badge--rejected, .gb-badge--err, .status--overdue), html body .client-status.status-inactive)::before { display: none !important; }
html body :is(.client-status.status-active, .invoice-status.status-paid, .badge-status-wynajety, .badge-ok, .tc-status-badge--busy, .bk-badge--paid, .bk-badge--scheduled, .gb-badge--on, .gb-badge--off, .status--done, .status--sent, .status--post, .status--planned, .status--neutral, .badge--active, .badge--draft, .badge.badge-success, .cm-inv-status) { background: #4a4e57 !important; color: #ffffff !important; }
html body :is(.badge-status-wolny, .tc-status-badge--free) { background: #eceef1 !important; color: #24262b !important; }
html body :is(.badge-status-serwis, .badge-wkrotce, .tc-status-badge--service, .tc-status-badge--replacement, .invoice-status.status-unpaid, .invoice-status.status-partial, .invoice-status.status-pending, .bk-badge--unpaid, .gb-badge--warn, .status--waiting, .badge.badge-warning) { background: var(--d3-or) !important; color: var(--d3-on-hot) !important; }
html body :is(.invoice-status.status-overdue, .cm-inv-status--overdue, .badge-pilny, .badge.badge-danger, .badge--rejected, .gb-badge--err, .status--overdue) { background: var(--d3-err) !important; color: var(--d3-on-hot) !important; }
html body .client-status.status-inactive { background: transparent !important; color: var(--d3-ink-3) !important; box-shadow: inset 0 0 0 1px #4a4e57 !important; }
}
/* Panel podnajmu: badge-warning/-success/-danger общие для байков и фактур — статус байка помечен отдельно (script.js statusBadgeClass). */
html body .badge.badge-veh.badge-veh--busy { background: #4a4e57 !important; color: #ffffff !important; }
html body .badge.badge-veh.badge-veh--free { background: #eceef1 !important; color: #24262b !important; }
html body .badge.badge-veh.badge-veh--service { background: var(--d3-or) !important; color: var(--d3-on-hot) !important; }
/* Obsługa: доп-метки на фото транспорта («Zarezerwowany», «Oczekuje potwierdzenia») — цвет задан в разметке; обе — «внимание». */
html body .transport-card-media .tc-status-badge:not([class*="tc-status-badge--"]) {
  display: inline-flex !important; align-items: center; height: 24px; padding: 0 12px !important; border: 0 !important; border-radius: 0 !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%); box-shadow: none !important;
  font: 700 11px/1 var(--d3-font) !important; letter-spacing: .06em !important; text-transform: uppercase !important; white-space: nowrap;
  background: var(--d3-or) !important; color: var(--d3-on-hot) !important; }
