/* Shared accessible light palette for every role, entry point and viewport.
   Layout stays in component styles; semantic states must keep their own colors. */
:root {
  color-scheme: light !important;
  --ui-bg: #f4f8fb;
  --ui-surface: #ffffff;
  --ui-soft: #edf4f8;
  --ui-text: #12384d;
  --ui-muted: #465f6f;
  --ui-line: #bfd0dc;
  --ui-green: #087451;
  --ui-green-soft: #e6f5ed;
  --ui-red: #9b2435;
  --ui-red-soft: #fff1f2;
  --ui-amber: #805000;
  --ui-amber-soft: #fff7df;
  --ui-blue: #185b83;
  --bg: var(--ui-bg) !important;
  --bg2: var(--ui-soft) !important;
  --panel: var(--ui-surface) !important;
  --panel-soft: var(--ui-soft) !important;
  --panel-strong: var(--ui-surface) !important;
  --text: var(--ui-text) !important;
  --muted: var(--ui-muted) !important;
  --line: var(--ui-line) !important;
  --accent: var(--ui-green) !important;
  --accent2: var(--ui-green) !important;
  --kt-text: var(--ui-text);
  --kt-muted: var(--ui-muted);
  --kt-green: var(--ui-green);
  --kt198-muted: var(--ui-muted);
  --kt202-muted: var(--ui-muted);
}
body, body[data-role] { color: var(--ui-text) !important; background: var(--ui-bg) !important; }
body :is(.muted,.empty,.empty-state>span,.empty-report-state>span,.driver-vehicle-copy>span,
 .driver-stat>span,.dash-kpi small,.driver-vehicle-copy>p,.fleet-map-list-main em,
 .section-header p,.filter-card .section-header p,.master-org-quick>span,
 .web-topbar .master-org-quick>span,.eff-method-note) {
  color: var(--ui-muted) !important;
}
body :is(input,select,textarea) { color-scheme: light !important; }
body :is(input,textarea)::placeholder,
body .web-topbar .global-search input::placeholder { color: var(--ui-muted) !important; opacity: 1 !important; }
body .btn, body .modal .btn {
  background: var(--ui-green) !important;
  color: #fff !important;
  border-color: var(--ui-green) !important;
  text-shadow: none !important;
}
body .btn:hover:not(:disabled), body .modal .btn:hover:not(:disabled) { background: #055b3f !important; }
body .btn.secondary, body .btn.ghost,
body .modal .btn.secondary, body .modal .btn.ghost {
  background: var(--ui-soft) !important;
  color: var(--ui-text) !important;
  border: 1px solid var(--ui-line) !important;
}
body .btn.danger, body .modal .btn.danger { background: var(--ui-red) !important; color: #fff !important; }
body .danger-text, body .modal .danger-text { color: var(--ui-red) !important; }
body .tabs button { background: #fff !important; color: var(--ui-text) !important; border-color: var(--ui-line) !important; }
body .tabs button.active { background: var(--ui-green) !important; color: #fff !important; border-color: var(--ui-green) !important; }
body .nav a.active, body .mobile-bottom a.active {
  background: var(--ui-green-soft) !important;
  color: #055b3f !important;
  border-color: #79b599 !important;
}
body :is(.badge.ok,.notice.ok,.badge.online) { color: #055b3f !important; background: var(--ui-green-soft) !important; }
body :is(.badge.bad,.notice.bad) { color: var(--ui-red) !important; background: var(--ui-red-soft) !important; }
body :is(.badge.warn,.notice.warn) { color: var(--ui-amber) !important; background: var(--ui-amber-soft) !important; }
body :is(.badge,.pill) { color: var(--ui-text); }
body :is(button,a,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--ui-green) !important;
  outline-offset: 3px !important;
}
body input[type=checkbox], body input[type=radio] { accent-color: var(--ui-green); }
body .eff-method-note { font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
/* Legacy hover rules painted mobile table cells dark while text stayed light-theme. */
body .table, body .table tbody, body .table tr, body .table td {
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
}
body .table th { background: var(--ui-soft) !important; color: var(--ui-muted) !important; }
body .table tbody tr:hover, body .table tbody tr:hover td { background: var(--ui-soft) !important; }
body .mobile-bottom a.active small, body .mobile-bottom a.active span { color: #055b3f !important; }
/* At the tablet breakpoint the legacy map overlay used a dark translucent surface. */
body .map-legend, body .map-legend>span {
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  border-color: var(--ui-line) !important;
}
body .btn.secondary:hover:not(:disabled), body .btn.ghost:hover:not(:disabled),
body .modal .btn.secondary:hover:not(:disabled), body .modal .btn.ghost:hover:not(:disabled) {
  background: #dceaf2 !important;
  color: var(--ui-text) !important;
}
body .btn.danger:hover:not(:disabled), body .modal .btn.danger:hover:not(:disabled) { background: #7a1625 !important; color: #fff !important; }
body .btn.ghost.danger-text:hover:not(:disabled) { color: var(--ui-red) !important; }
body .tabs button:hover:not(.active), body .nav a:hover:not(.active) { background: var(--ui-soft) !important; color: var(--ui-text) !important; }

/* Report filters: reset and generate are the same deliberate primary green. */
body .report-actions .btn,
body .report-actions .btn.secondary {
  background: var(--ui-green) !important;
  border: 1px solid var(--ui-green) !important;
  color: #fff !important;
  font-weight: 700;
}
body .report-actions .btn:hover:not(:disabled),
body .report-actions .btn.secondary:hover:not(:disabled) {
  background: #055b3f !important;
  border-color: #055b3f !important;
  color: #fff !important;
}

/* 2026-10-26: one primary-green style across report and application actions.
   Match the "Сформировать" gradient, including Reset and the active report tab.
   Do not recolor danger, disabled, or semantic neutral secondary buttons. */
:root { --ui-primary-action: linear-gradient(135deg, #0e865d 0%, #1baa7a 100%); }
body .btn:not(.secondary):not(.ghost):not(.outline):not(.light):not(.danger):not(:disabled),
body .report-actions .btn:not(:disabled),
body .report-actions .btn.secondary:not(:disabled),
body .tabs button.active:not(:disabled) {
  background: var(--ui-primary-action) !important;
  background-color: #0e865d !important;
  color: #fff !important;
  border: 1px solid #0e865d !important;
  text-shadow: none !important;
}
body .btn:not(.secondary):not(.ghost):not(.outline):not(.light):not(.danger):hover:not(:disabled),
body .report-actions .btn:hover:not(:disabled),
body .report-actions .btn.secondary:hover:not(:disabled),
body .tabs button.active:hover:not(:disabled) {
  background: #087451 !important;
  border-color: #087451 !important;
  color: #fff !important;
}
body .eff-braking-partial {display:block;align-self:center;color:var(--ui-muted);font-size:11px;padding:4px 9px}
