:root {
  --aspect-bg: #0b1118;
  --aspect-surface: #151e28;
  --aspect-surface-2: #1b2632;
  --aspect-surface-3: #243140;
  --aspect-text: #edf4fa;
  --aspect-muted: #9eafc1;
  --aspect-border: #2b3a49;
  --aspect-navy: #13344f;
  --aspect-teal: #58cbd1;
  --aspect-teal-soft: #173b3f;
  --aspect-blue: #7bb9f5;
  --aspect-blue-soft: #193957;
  --aspect-green: #63d4aa;
  --aspect-green-soft: #173b32;
  --aspect-amber: #ffc86a;
  --aspect-amber-soft: #493719;
  --aspect-red: #ff9298;
  --aspect-red-soft: #492529;
  --aspect-violet: #b7a0f3;
  --aspect-violet-soft: #30294a;
  --aspect-header-bg: #13344f;
  --aspect-header-text: #f4f9fd;
  --aspect-input-bg: #1b2632;
  --aspect-disabled-bg: #202c38;
  --aspect-disabled-text: #dbe5ee;
  --aspect-placeholder: #7f92a6;
  --aspect-hover: #1d2b38;
  --aspect-schedule-col: #111923;
  --aspect-schedule-col-alt: #131d27;
  --aspect-grid-line: #233140;
  --aspect-grid-hour: #3b4d5e;
  --aspect-focus-ring: rgba(88,203,209,.18);
  --aspect-overlay: rgba(3,8,13,.72);
  --aspect-shadow: rgba(0,0,0,.34);
  --aspect-danger-border: #734047;
  --aspect-success-border: #2d7058;
  --aspect-info-border: #315c83;
  color-scheme: dark;
}

html[data-theme="light"] {
  --aspect-bg: #f1f5f8;
  --aspect-surface: #ffffff;
  --aspect-surface-2: #f6f9fb;
  --aspect-surface-3: #e7eef4;
  --aspect-text: #142536;
  --aspect-muted: #5d7083;
  --aspect-border: #d2dde7;
  --aspect-navy: #173b59;
  --aspect-teal: #066c73;
  --aspect-teal-soft: #dff3f3;
  --aspect-blue: #1769aa;
  --aspect-blue-soft: #e3f0fb;
  --aspect-green: #167a55;
  --aspect-green-soft: #e3f5ec;
  --aspect-amber: #9a5c05;
  --aspect-amber-soft: #fff3d9;
  --aspect-red: #b4232e;
  --aspect-red-soft: #fde8ea;
  --aspect-violet: #6549a7;
  --aspect-violet-soft: #eee8fa;
  --aspect-header-bg: #173b59;
  --aspect-header-text: #ffffff;
  --aspect-input-bg: #ffffff;
  --aspect-disabled-bg: #e9eff4;
  --aspect-disabled-text: #405468;
  --aspect-placeholder: #7a8a99;
  --aspect-hover: #edf3f7;
  --aspect-schedule-col: #ffffff;
  --aspect-schedule-col-alt: #f8fbfd;
  --aspect-grid-line: #dfe7ed;
  --aspect-grid-hour: #c3d0da;
  --aspect-focus-ring: rgba(8,123,131,.16);
  --aspect-overlay: rgba(13,34,51,.42);
  --aspect-shadow: rgba(20,37,54,.18);
  --aspect-danger-border: #efb5ba;
  --aspect-success-border: #91cdb5;
  --aspect-info-border: #a8c9e5;
  color-scheme: light;
}

html[data-theme="dark"] { color-scheme: dark; }

html {
  background: var(--aspect-bg);
}

body,
body.app-design-v2 {
  background: var(--aspect-bg) !important;
  color: var(--aspect-text) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.app-design-v2 {
  --aspect-sidebar-width: 178px;
}

body.app-design-v2 *,
body.app-design-v2 *::before,
body.app-design-v2 *::after {
  scrollbar-color: var(--aspect-surface-3) transparent;
}

body.app-design-v2 ::-webkit-scrollbar-track { background: transparent; }
body.app-design-v2 ::-webkit-scrollbar-thumb { background: var(--aspect-surface-3); }
body.app-design-v2 ::selection { background: var(--aspect-teal-soft); color: var(--aspect-text); }

/* App chrome */
body.app-design-v2 .app-header {
  min-height: 54px;
  height: 54px;
  padding: 7px 14px;
  background: var(--aspect-header-bg) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: none !important;
}

body.app-design-v2 .header-left,
body.app-design-v2 .header-right { gap: 9px; }

body.app-design-v2 .header-logo {
  min-width: 134px;
  gap: 9px;
  color: var(--aspect-header-text) !important;
  text-decoration: none;
}

body.app-design-v2 .header-logo-mark {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 9px;
  background: rgba(255,255,255,.09);
  color: var(--aspect-teal);
  font-size: 17px;
}

body.app-design-v2 .header-logo-copy {
  color: var(--aspect-header-text);
  font-size: 14px;
  letter-spacing: .04em;
}

body.app-design-v2 .header-logo-copy small {
  color: rgba(255,255,255,.62);
  text-transform: none;
}

body.app-design-v2 .menu-trigger,
body.app-design-v2 .nav-btn,
body.app-design-v2 .branch-selector select,
body.app-design-v2 .pa-local-badge {
  min-height: 32px;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.08) !important;
  color: #f4f9fd !important;
  box-shadow: none !important;
}

body.app-design-v2 .menu-trigger { width: 34px; padding: 0; }
body.app-design-v2 .nav-btn { padding: 6px 10px; }
body.app-design-v2 .nav-btn:hover,
body.app-design-v2 .menu-trigger:hover { background: rgba(255,255,255,.15) !important; }
body.app-design-v2 .btn-add,
body.app-design-v2 .btn-add.nav-btn { background: #84d8b6 !important; border-color: #84d8b6 !important; color: #113329 !important; }
body.app-design-v2 .branch-selector select { padding: 5px 9px; }
body.app-design-v2 .branch-selector select option { background: var(--aspect-surface); color: var(--aspect-text); }
body.app-design-v2 .page-title,
body.app-design-v2 .date-display { color: var(--aspect-text); }
body.app-design-v2 .app-header :is(.date-display, .today-btn) { color: var(--aspect-header-text) !important; }
body.app-design-v2 .clock { color: rgba(255,255,255,.72); font-size: 40px; line-height: 1; letter-spacing: .04em; }
body.app-design-v2 #global-order-search-button { color: var(--aspect-teal) !important; }
body.app-design-v2 .notification-button { color: var(--aspect-muted) !important; }

/* Persistent desktop center navigation */
@media (min-width: 901px) {
  /* Меню открывается кнопкой, а не закрепляется слева. */
  body.app-design-v2 { padding-left: 0; }
  body.app-design-v2 > .app-header { width: 100%; margin-left: 0; }
  body.app-design-v2 .menu-trigger { display: inline-flex; }
  body.app-design-v2 #side-menu.side-menu,
  body.app-design-v2 #side-menu.side-menu.hidden {
    top: 0; bottom: auto; width: min(292px, 88vw); height: 100%;
    display: flex !important; transform: translateX(-100%) !important;
    background: var(--aspect-surface) !important; border-right: 1px solid var(--aspect-border);
    box-shadow: 10px 0 30px rgba(0,0,0,.35) !important; z-index: 1300;
  }
  body.app-design-v2 #side-menu.side-menu.hidden { visibility: hidden; pointer-events: none; }
  body.app-design-v2 #side-menu.side-menu:not(.hidden) { visibility: visible; pointer-events: auto; transform: translateX(0) !important; }
  body.app-design-v2 #side-menu-overlay { z-index: 1290; }
  body.app-design-v2 #side-menu-overlay.hidden { display: none !important; }
  body.app-design-v2 #side-menu-overlay:not(.hidden) { display: block; }
  body.app-design-v2 .sm-header { display: flex; }
  body.app-design-v2 .sm-body { padding: 10px 8px 14px; overflow-y: auto; }
  body.app-design-v2 .sm-group { overflow: hidden; margin-bottom: 5px; }
  body.app-design-v2 .sm-group-title { pointer-events: auto; }
  body.app-design-v2 .sm-group-body { display: none; }
  body.app-design-v2 .sm-group.open .sm-group-body { display: block; }
}
/*
  body.app-design-v2 { padding-left: var(--aspect-sidebar-width); }
  body.app-design-v2 > .app-header {
    width: calc(100% + var(--aspect-sidebar-width));
    margin-left: calc(-1 * var(--aspect-sidebar-width));
  }
  body.app-design-v2 .menu-trigger { display: none; }
  body.app-design-v2 #side-menu.side-menu,
  body.app-design-v2 #side-menu.side-menu.hidden {
    top: 54px;
    bottom: 0;
    width: var(--aspect-sidebar-width);
    height: auto;
    display: flex !important;
    transform: none !important;
    background: var(--aspect-surface) !important;
    border-right: 1px solid var(--aspect-border);
    box-shadow: none !important;
    z-index: 18;
  }
  body.app-design-v2 #side-menu-overlay { display: none !important; }
  body.app-design-v2 .sm-header { display: none; }
  body.app-design-v2 .sm-body { padding: 10px 8px 14px; overflow-y: auto; }
  body.app-design-v2 .sm-group { overflow: visible; margin-bottom: 5px; }
  body.app-design-v2 .sm-group-title {
    padding: 9px 8px 4px;
    color: #71859a !important;
    background: transparent !important;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
    pointer-events: none;
  }
  body.app-design-v2 .sm-group-body { display: block !important; }
} */

body.app-design-v2 .side-menu { background: var(--aspect-surface) !important; color: var(--aspect-text); }
body.app-design-v2 .side-menu.hidden { visibility: hidden; pointer-events: none; }
body.app-design-v2 .side-menu:not(.hidden) { visibility: visible; pointer-events: auto; }
body.app-design-v2 .sm-header { border-color: var(--aspect-border); }
body.app-design-v2 .sm-title { color: var(--aspect-text); }
body.app-design-v2 .sm-item-row { gap: 3px; }
body.app-design-v2 .sm-item {
  min-height: 33px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 8px;
  border-radius: 8px;
  color: var(--aspect-muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.2;
}
body.app-design-v2 .sm-item:hover {
  padding-left: 8px;
  background: var(--aspect-surface-2);
  color: var(--aspect-text);
}
body.app-design-v2 .sm-item.is-center { font-weight: 780; }
body.app-design-v2 .sm-item.active {
  color: var(--aspect-teal);
  background: var(--aspect-teal-soft);
}
body.app-design-v2 .sm-item-icon { width: 16px; height: 16px; flex: 0 0 16px; }
body.app-design-v2 .sm-quick-btn {
  width: 23px;
  height: 23px;
  margin-right: 3px;
  border-radius: 7px;
  background: var(--aspect-green-soft);
  color: var(--aspect-green);
  font-size: 15px;
}
body.app-design-v2 .sm-quick-btn:hover { background: #245341; }
body.app-design-v2 .sm-group-title { color: var(--aspect-muted); }
body.app-design-v2 .sm-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
body.app-design-v2 .sm-group-chevron {
  font-size: 18px;
  line-height: 1;
  transition: transform .16s ease;
}
body.app-design-v2 .sm-group.open .sm-group-chevron { transform: rotate(90deg); }

/* Forms and controls */
body.app-design-v2 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body.app-design-v2 select,
body.app-design-v2 textarea {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-input-bg) !important;
  color: var(--aspect-text) !important;
  box-shadow: none !important;
}
body.app-design-v2 input::placeholder,
body.app-design-v2 textarea::placeholder { color: var(--aspect-placeholder); }
body.app-design-v2 input:focus,
body.app-design-v2 select:focus,
body.app-design-v2 textarea:focus {
  border-color: var(--aspect-teal) !important;
  outline: 2px solid var(--aspect-focus-ring) !important;
}
body.app-design-v2 label,
body.app-design-v2 .card-label,
body.app-design-v2 .section-subtitle { color: var(--aspect-muted) !important; }

body.app-design-v2 .btn-primary,
body.app-design-v2 button.primary,
body.app-design-v2 .pa-primary {
  border-color: #84d8b6 !important;
  background: #84d8b6 !important;
  color: #113329 !important;
}
body.app-design-v2 .btn-secondary,
body.app-design-v2 button.secondary {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface-2) !important;
  color: var(--aspect-text) !important;
}
body.app-design-v2 .btn-danger { background: var(--aspect-red-soft) !important; border-color: var(--aspect-danger-border) !important; color: var(--aspect-red) !important; }
body.app-design-v2 .close-btn { color: var(--aspect-muted); }

/* Shared surfaces */
body.app-design-v2 :is(
  .summary-card, .summary-tile, .finance-insight-card, .finance-list-section,
  .finance-form-section, .finance-widget-card, .finance-v2-card, .finance-v2-section,
  .closing-card, .idea-card, .veh-card, .scan-card, .calls-toolbar,
  .calls-table-wrap, .orders-table, .salary-table, .stock-table,
  .schedule-table, .work-template-list, .work-template-form, .llm-card,
  .kanban-column, .kanban-card, .rossko-stat, .rossko-add-panel,
  .stock-modal, .rossko-modal, .cl-modal, .modal-box
) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
  box-shadow: none !important;
}

body.app-design-v2 :is(.section-header, .utility-panel-head, .stock-modal-head, .rossko-modal-head, .sp-header, .sp-footer, .modal-header, .modal-footer) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface-2) !important;
  color: var(--aspect-text) !important;
}

body.app-design-v2 :is(.side-panel, .utility-side-panel, .modal-content, .cl-detail-panel, .stock-modal-body, .rossko-modal-body, .sp-body) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
}

body.app-design-v2 table { color: var(--aspect-text); }
body.app-design-v2 table th {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface-2) !important;
  color: var(--aspect-muted) !important;
}
body.app-design-v2 table td,
body.app-design-v2 table tr { border-color: var(--aspect-border) !important; }
body.app-design-v2 table tbody tr:hover { background: var(--aspect-hover) !important; }
body.app-design-v2 .empty-state,
body.app-design-v2 .empty-row { color: var(--aspect-muted) !important; }

/* Schedule center */
body.app-design-v2 .dashboard-summary {
  padding: 8px 10px;
  border-color: var(--aspect-border);
  background: var(--aspect-bg);
}
body.app-design-v2 .dashboard-summary-inner { gap: 7px; }
body.app-design-v2 :is(.summary-date-block, .summary-metric, .summary-air-button) {
  min-height: 43px;
  padding: 6px 10px;
  border: 1px solid var(--aspect-border) !important;
  border-radius: 9px;
  background: var(--aspect-surface) !important;
}
body.app-design-v2 :is(.summary-date-block, .summary-metric, .summary-air-button) span { color: var(--aspect-muted); }
body.app-design-v2 :is(.summary-date-block, .summary-metric, .summary-air-button) strong { color: var(--aspect-text); }
body.app-design-v2 .summary-metric.warning strong { color: var(--aspect-amber); }
body.app-design-v2 .summary-air-button strong { color: var(--aspect-teal); }

body.app-design-v2 :is(.grid-header, .time-col, .legend) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface) !important;
  box-shadow: none !important;
}
body.app-design-v2 .legend-actions-title { color: var(--aspect-text); }
body.app-design-v2 .schedule-plan-toggle,
body.app-design-v2 .timeline-scale-control {
  border-color: var(--aspect-border);
  background: var(--aspect-surface-2);
  color: var(--aspect-text);
}
body.app-design-v2 .schedule-plan-toggle.active {
  border-color: var(--aspect-teal);
  background: var(--aspect-teal-soft);
  color: var(--aspect-teal);
}
body.app-design-v2 .appt-hover-tooltip {
  border-color: var(--aspect-border);
  background: var(--aspect-surface);
  color: var(--aspect-text);
  box-shadow: 0 16px 38px var(--aspect-shadow);
}
body.app-design-v2 .appt-hover-head,
body.app-design-v2 .appt-hover-group + .appt-hover-group,
body.app-design-v2 .appt-hover-discount { border-color: var(--aspect-border); }
body.app-design-v2 .appt-hover-head,
body.app-design-v2 .appt-hover-row,
body.app-design-v2 .appt-hover-group small,
body.app-design-v2 .appt-hover-empty { color: var(--aspect-muted); }
body.app-design-v2 .appt-hover-group-title,
body.app-design-v2 .appt-hover-row b,
body.app-design-v2 .appt-hover-group-title b { color: var(--aspect-text); }
body.app-design-v2 .appt-hover-head strong,
body.app-design-v2 .appt-hover-total strong { color: var(--aspect-teal); }
body.app-design-v2 .appt-hover-total { border-color: var(--aspect-border); }
body.app-design-v2 .appt-hover-discount { color: var(--aspect-amber); }
body.app-design-v2 .calendar-outer { background: var(--aspect-bg); }
body.app-design-v2 .post-header,
body.app-design-v2 .post-header:nth-child(n),
body.app-design-v2 .post-col,
body.app-design-v2 .post-col:nth-child(n) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-schedule-col) !important;
}
body.app-design-v2 .post-col:nth-child(even),
body.app-design-v2 .post-header:nth-child(even) { background: var(--aspect-schedule-col-alt) !important; }
body.app-design-v2 .post-header-name { color: var(--aspect-text); }
body.app-design-v2 .post-header-type,
body.app-design-v2 .time-slot,
body.app-design-v2 .time-slot-end { color: var(--aspect-muted); border-color: var(--aspect-border); }
body.app-design-v2 .time-slot.full-hour,
body.app-design-v2 .grid-line.full-hour { border-color: var(--aspect-grid-hour); color: var(--aspect-muted); }
body.app-design-v2 .grid-line { border-color: var(--aspect-grid-line); }

body.app-design-v2 .schedule-companion {
  border-color: var(--aspect-border);
  background: var(--aspect-surface);
}
body.app-design-v2 .schedule-companion-head,
body.app-design-v2 .schedule-companion-body { border-color: var(--aspect-border); background: var(--aspect-surface-2); }
body.app-design-v2 .schedule-companion-tabs { border-color: var(--aspect-border); background: var(--aspect-surface); }
body.app-design-v2 .schedule-companion-tabs button { border-color: var(--aspect-border); color: var(--aspect-muted); }
body.app-design-v2 .schedule-companion-tabs button.active { background: var(--aspect-teal-soft); color: var(--aspect-teal); }
body.app-design-v2 :is(.companion-day-card, .companion-air-card) { border-color: var(--aspect-border); background: var(--aspect-surface); }
body.app-design-v2 .companion-card-main > button,
body.app-design-v2 .companion-time { color: var(--aspect-text); }
body.app-design-v2 :is(.companion-card-kicker, .companion-card-main small, .companion-time span) { color: var(--aspect-muted); }
body.app-design-v2 .companion-amount { border-color: var(--aspect-border); color: var(--aspect-teal); }
body.app-design-v2 .companion-amount-popover,
body.app-design-v2 .parts-popup { border-color: var(--aspect-border); background: var(--aspect-surface); color: var(--aspect-text); }
body.app-design-v2 .companion-amount-group > strong { color: var(--aspect-text); }

/* Orders, clients and calls */
body.app-design-v2 :is(.filters-bar, .cl-search-bar, .tab-bar, .pagination) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface) !important;
}
body.app-design-v2 :is(.orders-table-wrap, .cl-content, .cl-list-panel, .cl-detail-panel, .calls-page) { background: var(--aspect-bg) !important; }
body.app-design-v2 :is(.orders-table td, .order-num, .order-plate, .cl-item-name, .cl-card-name, .cl-card-phone, .veh-name, .cl-modal h2, .calls-client) { color: var(--aspect-text) !important; }
body.app-design-v2 :is(.order-car, .cl-item-sub, .cl-item-cars, .veh-sub, .cl-card-notes) { color: var(--aspect-muted) !important; }
body.app-design-v2 .cl-item { border-color: var(--aspect-border); }
body.app-design-v2 .cl-item:hover { background: var(--aspect-surface-2); }
body.app-design-v2 .cl-item.active { border-color: var(--aspect-teal); background: var(--aspect-teal-soft); }
body.app-design-v2 .cl-avatar { background: var(--aspect-blue-soft); color: var(--aspect-blue); }
body.app-design-v2 .tab-btn { color: var(--aspect-muted); }
body.app-design-v2 .tab-btn.active { color: var(--aspect-teal); border-color: var(--aspect-teal); }
body.app-design-v2 .calls-phone { color: var(--aspect-blue); }
body.app-design-v2 .calls-actions button,
body.app-design-v2 .calls-actions a { border-color: var(--aspect-border); background: var(--aspect-surface-2); color: var(--aspect-text); }

/* Parts center */
body.app-design-v2.pa-page,
body.app-design-v2 .pa-shell { background: var(--aspect-bg) !important; color: var(--aspect-text); }
body.app-design-v2.pa-page {
  --pa-ink: var(--aspect-text);
  --pa-muted: var(--aspect-muted);
  --pa-line: var(--aspect-border);
  --pa-soft: var(--aspect-surface-2);
  --pa-green: var(--aspect-green);
  --pa-green-soft: var(--aspect-green-soft);
  --pa-blue: var(--aspect-blue);
  --pa-yellow: var(--aspect-amber);
}
body.app-design-v2 :is(.pa-grid, .pa-chat, .pa-queue, .pa-results) { border-color: var(--aspect-border) !important; background: var(--aspect-surface) !important; box-shadow: none !important; }
body.app-design-v2 :is(.pa-queue, .pa-results, .pa-suppliers, .pa-composer, .pa-feedback, .pa-order-context) { background: var(--aspect-surface-2) !important; border-color: var(--aspect-border) !important; }
body.app-design-v2 :is(.pa-search, .pa-history-metrics span, .pa-queue-item.active, .pa-order-context-grid > div, .pa-message p, .pa-compose-row, .pa-quick-actions button, .pa-result-summary, .pa-candidate, .pa-followup, .pa-offer, .pa-draft) { border-color: var(--aspect-border) !important; background: var(--aspect-surface) !important; color: var(--aspect-text) !important; }
body.app-design-v2 .pa-message.agent p { background: var(--aspect-blue-soft) !important; }
body.app-design-v2 .pa-message.system p { background: var(--aspect-green-soft) !important; }
body.app-design-v2 .pa-message-avatar { background: var(--aspect-surface-3); color: var(--aspect-muted); }
body.app-design-v2 .pa-message.agent .pa-message-avatar { background: var(--aspect-blue-soft); color: var(--aspect-blue); }
body.app-design-v2 .pa-offer footer { border-color: var(--aspect-border); background: var(--aspect-surface-2); }

/* Finance, team, stock and supporting screens */
body.app-design-v2 :is(.finance-container, .salary-container, .stock-table-wrap, .scanner-shell, .schedule-shell, .rossko-shell, .work-settings-page, .work-settings-shell, .kanban-page, .kanban-shell) { background: var(--aspect-bg) !important; color: var(--aspect-text); }
body.app-design-v2 :is(.quick-finance-bar, .finance-tabs, .salary-controls, .stock-tabs, .scanner-top, .schedule-toolbar, .rossko-filterbar, .work-settings-toolbar, .kanban-toolbar, .kanban-summary) { border-color: var(--aspect-border) !important; background: var(--aspect-surface) !important; }
body.app-design-v2 :is(.finance-tab, .finance-view-btn, .stock-tab, .tab-btn, .period-btn, .period-tab, .mode-btn, .toggle-btn) { color: var(--aspect-muted) !important; }
body.app-design-v2 :is(.finance-tab.active, .finance-view-btn.active, .stock-tab.active, .period-btn.active, .period-tab.active, .mode-btn.active, .toggle-btn.active) { border-color: var(--aspect-teal) !important; background: var(--aspect-teal-soft) !important; color: var(--aspect-teal) !important; }
body.app-design-v2 .summary-card.income,
body.app-design-v2 .finance-mini-stat.good { border-color: var(--aspect-success-border) !important; background: var(--aspect-green-soft) !important; }
body.app-design-v2 .summary-card.expense,
body.app-design-v2 .finance-mini-stat.bad { border-color: var(--aspect-danger-border) !important; background: var(--aspect-red-soft) !important; }
body.app-design-v2 .summary-card.profit,
body.app-design-v2 .finance-mini-stat.info { border-color: var(--aspect-info-border) !important; background: var(--aspect-blue-soft) !important; }
body.app-design-v2 .card-value,
body.app-design-v2 .summary-value { color: var(--aspect-text) !important; }
body.app-design-v2 .kanban-column:nth-child(n) { background: var(--aspect-surface) !important; }
body.app-design-v2 .kanban-card-tags span { border-color: var(--aspect-border); background: var(--aspect-surface-2); color: var(--aspect-muted); }

/* Dialogs, notifications and overlays */
body.app-design-v2 .panel-overlay,
body.app-design-v2 .modal-overlay,
body.app-design-v2 .stock-modal-overlay,
body.app-design-v2 .rossko-modal-overlay,
body.app-design-v2 .cl-modal-overlay { background: var(--aspect-overlay) !important; backdrop-filter: blur(2px); }
body.app-design-v2 .global-order-search,
body.app-design-v2 .global-notification-panel { border-color: var(--aspect-border) !important; background: var(--aspect-surface) !important; color: var(--aspect-text) !important; }
body.app-design-v2 .toast { background: var(--aspect-surface-3); color: var(--aspect-text); }

/* Login intentionally shares the release palette without loading menu.js. */
body:not(.app-design-v2) .login-card {
  border: 1px solid var(--aspect-border);
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.42) !important;
}
body:not(.app-design-v2) .login-card h1 { color: var(--aspect-text) !important; }
body:not(.app-design-v2) .login-card label { color: var(--aspect-muted) !important; }
body:not(.app-design-v2) .login-card input { border-color: var(--aspect-border) !important; background: var(--aspect-surface-2) !important; color: var(--aspect-text) !important; }
body:not(.app-design-v2) .login-btn { background: #84d8b6 !important; color: #113329 !important; }

/* Explicit light/dark theme control. */
.app-theme-toggle {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  background: rgba(255,255,255,.09);
  color: var(--aspect-header-text);
  font: 700 11px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.app-theme-toggle:hover { background: rgba(255,255,255,.16); }
.app-theme-toggle:focus-visible { outline: 2px solid var(--aspect-teal); outline-offset: 2px; }
.theme-toggle-icon { font-size: 15px; line-height: 1; }
.app-theme-toggle.is-floating {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1200;
  border-color: var(--aspect-border);
  background: var(--aspect-surface);
  color: var(--aspect-text);
  box-shadow: 0 8px 24px var(--aspect-shadow);
}
.app-theme-toggle.is-floating:hover { background: var(--aspect-hover); }
.app-theme-toggle.is-panel {
  width: 32px;
  min-width: 32px;
  min-height: 30px;
  padding: 0;
  border-color: var(--aspect-border);
  background: var(--aspect-surface-2);
  color: var(--aspect-text);
}
.app-theme-toggle.is-panel:hover { background: var(--aspect-hover); }
.app-theme-toggle.is-panel .theme-toggle-label { display: none; }

/* ЗН: contrast, hierarchy and legibility in both themes. */
body.app-design-v2 #order-panel {
  border-left: 1px solid var(--aspect-border);
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
  box-shadow: -12px 0 36px var(--aspect-shadow) !important;
}
body.app-design-v2 #order-panel .sp-header,
body.app-design-v2 #order-panel .sp-footer {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
}
body.app-design-v2 #order-panel .sp-title,
body.app-design-v2 #order-panel .sp-btn-label { color: var(--aspect-text) !important; }
body.app-design-v2 #order-panel .sp-icon-btn {
  border: 1px solid var(--aspect-border) !important;
  background: var(--aspect-surface-2) !important;
  color: var(--aspect-text) !important;
}
body.app-design-v2 #order-panel .sp-icon-btn:hover { background: var(--aspect-hover) !important; }
body.app-design-v2 #order-panel .op-status-bar { border-color: var(--aspect-border); }
body.app-design-v2 #order-panel .status-btn {
  min-height: 30px;
  border: 1px solid var(--aspect-border) !important;
  font-weight: 750;
  opacity: 1;
}
body.app-design-v2 #order-panel .status-btn.new { background: var(--aspect-surface-3) !important; color: var(--aspect-text) !important; }
body.app-design-v2 #order-panel .status-btn.confirmed { background: var(--aspect-amber-soft) !important; color: var(--aspect-amber) !important; }
body.app-design-v2 #order-panel .status-btn.in_progress { background: var(--aspect-blue-soft) !important; color: var(--aspect-blue) !important; }
body.app-design-v2 #order-panel .status-btn.waiting_parts { background: var(--aspect-amber-soft) !important; color: var(--aspect-amber) !important; }
body.app-design-v2 #order-panel .status-btn.done { background: var(--aspect-green-soft) !important; color: var(--aspect-green) !important; }
body.app-design-v2 #order-panel .status-btn.cancelled { background: var(--aspect-red-soft) !important; color: var(--aspect-red) !important; }
body.app-design-v2 #order-panel .status-btn.active {
  border-color: currentColor !important;
  box-shadow: 0 0 0 2px var(--aspect-surface), 0 0 0 4px currentColor;
}

body.app-design-v2 #op-totals-bar {
  gap: 7px;
  padding: 8px 12px;
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface-2) !important;
}
body.app-design-v2 #op-totals-bar .tot-item {
  min-width: 92px;
  padding: 6px 10px;
  border: 1px solid var(--aspect-border);
  border-radius: 8px;
  background: var(--aspect-surface);
}
body.app-design-v2 #op-totals-bar .tot-label { color: var(--aspect-muted) !important; }
body.app-design-v2 #op-totals-bar .tot-value { color: var(--aspect-text) !important; }
body.app-design-v2 #op-totals-bar .tot-item.grand {
  border-color: var(--aspect-success-border);
  background: var(--aspect-green-soft);
}
body.app-design-v2 #op-totals-bar .tot-item.grand .tot-value { color: var(--aspect-green) !important; }
body.app-design-v2 #op-totals-bar .tot-sep { display: none; }

body.app-design-v2 #op-payment-bar {
  border-bottom: 1px solid var(--aspect-border);
  background: var(--aspect-surface) !important;
  color: var(--aspect-text);
}
body.app-design-v2 #op-payment-method-row,
body.app-design-v2 #op-multi-pay-fields {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-amber-soft) !important;
}
body.app-design-v2 #op-partial-fields {
  border-color: var(--aspect-danger-border) !important;
  background: var(--aspect-red-soft) !important;
}
body.app-design-v2 #op-payment-bar .op-pay-option { color: var(--aspect-text) !important; font-weight: 700; }
body.app-design-v2 #op-payment-bar input[type="radio"],
body.app-design-v2 #op-payment-bar input[type="checkbox"] { accent-color: var(--aspect-teal); }
body.app-design-v2 #op-payment-bar > div > span:not(#op-debt-badge):not(#op-debt-amount-label) { color: var(--aspect-amber) !important; }

body.app-design-v2 #order-panel .sp-body {
  padding: 14px !important;
  background: var(--aspect-bg) !important;
  color: var(--aspect-text) !important;
}
body.app-design-v2 #order-panel .sp-section {
  margin: 0 0 12px !important;
  padding: 14px !important;
  border: 1px solid var(--aspect-border) !important;
  border-radius: 10px !important;
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
}
body.app-design-v2 #order-panel .op-schedule-section {
  border-color: var(--aspect-success-border) !important;
  border-left: 4px solid var(--aspect-green) !important;
  background: var(--aspect-green-soft) !important;
}
body.app-design-v2 #order-panel .op-task-section {
  border-color: var(--aspect-info-border) !important;
  border-left: 4px solid var(--aspect-blue) !important;
  background: var(--aspect-blue-soft) !important;
}
body.app-design-v2 #order-panel .op-callback-section {
  border-color: var(--aspect-info-border) !important;
  border-left: 4px solid var(--aspect-blue) !important;
  background: var(--aspect-blue-soft) !important;
}
body.app-design-v2 #order-panel .op-vehicle-section {
  border-left: 4px solid var(--aspect-teal) !important;
}
body.app-design-v2 #order-panel .op-manager-tasks-section {
  border-left: 4px solid var(--aspect-violet) !important;
  background: var(--aspect-violet-soft) !important;
}
body.app-design-v2 #order-panel .op-works-section {
  border-left: 4px solid var(--aspect-teal) !important;
  background: var(--aspect-teal-soft) !important;
}
body.app-design-v2 #order-panel .op-external-section {
  border-left: 4px solid var(--aspect-amber) !important;
}
body.app-design-v2 #order-panel .op-parts-section {
  border-left: 4px solid var(--aspect-amber) !important;
  background: var(--aspect-amber-soft) !important;
}
body.app-design-v2 #order-panel .op-recommendations-section {
  border-left: 4px solid var(--aspect-violet) !important;
  background: var(--aspect-violet-soft) !important;
}
body.app-design-v2 #order-panel .sp-section > h3 {
  margin: 0 0 12px !important;
  color: var(--aspect-text) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35;
  letter-spacing: .01em;
  text-transform: none;
}
body.app-design-v2 #order-panel .op-schedule-section > h3,
body.app-design-v2 #order-panel .op-schedule-section > p { color: var(--aspect-green) !important; }
body.app-design-v2 #order-panel .op-task-section > h3 { color: var(--aspect-blue) !important; }
body.app-design-v2 #order-panel .op-vehicle-section > h3,
body.app-design-v2 #order-panel .op-works-section > h3 { color: var(--aspect-teal) !important; }
body.app-design-v2 #order-panel .op-manager-tasks-section > h3,
body.app-design-v2 #order-panel .op-recommendations-section > h3 { color: var(--aspect-violet) !important; }
body.app-design-v2 #order-panel .op-external-section > h3,
body.app-design-v2 #order-panel .op-parts-section > h3 { color: var(--aspect-amber) !important; }
body.app-design-v2 #order-panel .op-collapsible-toggle { color: var(--aspect-blue) !important; }
body.app-design-v2 #order-panel .op-collapsible-toggle small { color: var(--aspect-muted) !important; }
body.app-design-v2 #order-panel .modal-row { gap: 9px; margin-bottom: 9px; }
body.app-design-v2 #order-panel .modal-row > label,
body.app-design-v2 #order-panel .op-checklist-head label {
  color: var(--aspect-text) !important;
  font-size: 12px;
  font-weight: 750;
}
body.app-design-v2 #order-panel input:not([type="checkbox"]):not([type="radio"]),
body.app-design-v2 #order-panel select,
body.app-design-v2 #order-panel textarea {
  min-height: 34px;
  border-color: var(--aspect-border) !important;
  background: var(--aspect-input-bg) !important;
  color: var(--aspect-text) !important;
  -webkit-text-fill-color: var(--aspect-text) !important;
  font-size: 13px !important;
}
body.app-design-v2 #order-panel input:not([type="checkbox"]):not([type="radio"]):disabled,
body.app-design-v2 #order-panel select:disabled,
body.app-design-v2 #order-panel textarea:disabled {
  opacity: 1 !important;
  border-color: var(--aspect-border) !important;
  background: var(--aspect-disabled-bg) !important;
  color: var(--aspect-disabled-text) !important;
  -webkit-text-fill-color: var(--aspect-disabled-text) !important;
}
body.app-design-v2 #order-panel button:disabled { opacity: .72; cursor: not-allowed; }
body.app-design-v2 #op-done-banner {
  border-color: var(--aspect-success-border) !important;
  background: var(--aspect-green-soft) !important;
  color: var(--aspect-green) !important;
  line-height: 1.45;
}

body.app-design-v2 #order-panel :is(.op-work-row, .op-external-row, .op-manager-task-row, .op-part-row, .op-checklist-row) {
  min-height: 42px;
  padding: 7px !important;
  border: 1px solid var(--aspect-border) !important;
  border-radius: 8px !important;
  background: var(--aspect-surface-2) !important;
}
body.app-design-v2 #order-panel .op-part-return {
  border-color: var(--aspect-amber) !important;
  background: var(--aspect-amber-soft) !important;
}
body.app-design-v2 #order-panel :is(.op-work-suggestions, #op-client-dropdown, #op-plate-dropdown, #stock-search-results) {
  border-color: var(--aspect-border) !important;
  background: var(--aspect-surface) !important;
  color: var(--aspect-text) !important;
  box-shadow: 0 12px 28px var(--aspect-shadow) !important;
}
body.app-design-v2 #order-panel .op-work-suggestion strong { color: var(--aspect-text) !important; }
body.app-design-v2 #order-panel .op-work-suggestion span { color: var(--aspect-muted) !important; }
body.app-design-v2 #order-panel .op-work-suggestion:hover { background: var(--aspect-hover) !important; }
body.app-design-v2 #order-panel .op-discount-toggle,
body.app-design-v2 #order-panel .op-discount-panel {
  border-color: var(--aspect-danger-border) !important;
  background: var(--aspect-amber-soft) !important;
  color: var(--aspect-amber) !important;
}
body.app-design-v2 #order-panel .op-discount-panel > :is(span, small) { color: var(--aspect-amber) !important; }
body.app-design-v2 #order-panel .op-rossko-status {
  border-color: var(--aspect-danger-border) !important;
  background: var(--aspect-red-soft) !important;
  color: var(--aspect-red) !important;
}

/* Mobile center navigation */
.app-bottom-nav { display: none; }

@media (max-width: 900px) {
  body.app-design-v2 { padding: 0 0 58px; background: var(--aspect-bg) !important; }
  body.app-design-v2 .app-header {
    min-height: 58px;
    height: auto;
    padding: 8px 10px;
    background: var(--aspect-header-bg) !important;
  }
  body.app-design-v2 .header-logo { min-width: 0; }
  body.app-design-v2 .header-logo-copy small { display: none; }
  body.app-design-v2 .side-menu { top: 0; width: min(292px, 88vw); height: 100%; z-index: 1300; }
  body.app-design-v2 .sm-body { overflow-y: auto; padding: 8px; }
  body.app-design-v2 .sm-group-title { padding: 10px 8px 5px; color: #71859a; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
  body.app-design-v2 .sm-group-body { display: none !important; }
  body.app-design-v2 .sm-group.open .sm-group-body { display: block !important; }
  body.app-design-v2 .sm-item { min-height: 38px; font-size: 12px; }
  body.app-design-v2 .app-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    min-height: 56px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--aspect-border);
    background: var(--aspect-surface);
    backdrop-filter: blur(14px);
  }
  body.app-design-v2 .app-bottom-nav a,
  body.app-design-v2 .app-bottom-nav button {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 0;
    background: transparent;
    color: var(--aspect-muted);
    text-decoration: none;
    font: 650 9px inherit;
  }
  body.app-design-v2 .app-bottom-nav a.active { color: var(--aspect-teal); }
  body.app-design-v2 .app-bottom-nav .sm-item-icon { width: 18px; height: 18px; }
  body.app-design-v2 :is(.finance-container, .salary-container, .calls-page, .work-settings-shell, .scanner-shell, .rossko-shell) { padding-bottom: 14px; }
}

@media (max-width: 560px) {
  body.app-design-v2 .app-theme-toggle { width: 32px; min-height: 32px; padding: 0; }
  body.app-design-v2 .app-theme-toggle .theme-toggle-label { display: none; }
  body.app-design-v2 #order-panel .sp-header-right { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  body.app-design-v2 #order-panel .op-status-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    overflow: visible;
    padding: 2px 0 5px;
    order: -1;
  }
  body.app-design-v2 #order-panel .status-btn {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 4px;
    font-size: 10px;
    line-height: 1.1;
    white-space: normal;
  }
  body.app-design-v2 .header-logo-mark { width: 30px; height: 30px; }
  body.app-design-v2 .header-logo-copy { font-size: 13px; }
  body.app-design-v2 #global-order-search-button { display: inline-flex !important; }
  body.app-design-v2 .dashboard-summary,
  body.app-design-v2 .grid-header,
  body.app-design-v2 .calendar-outer,
  body.app-design-v2 .schedule-companion { display: none !important; }
  body.app-design-v2 .mobile-dashboard { background: var(--aspect-bg); }
  body.app-design-v2 .mobile-kpi,
  body.app-design-v2 .mobile-list-section,
  body.app-design-v2 .mobile-open-orders,
  body.app-design-v2 .mobile-kanban {
    border-color: var(--aspect-border) !important;
    background: var(--aspect-surface) !important;
    color: var(--aspect-text) !important;
    box-shadow: none !important;
  }
  body.app-design-v2 .mobile-kpi span,
  body.app-design-v2 .mobile-section-header p { color: var(--aspect-muted) !important; }
  body.app-design-v2 .mobile-kpi strong { color: var(--aspect-teal) !important; }
  body.app-design-v2 .mobile-kpi.tasks strong { color: var(--aspect-violet) !important; }
  body.app-design-v2 .mobile-finance-btn.income { border-color: var(--aspect-success-border) !important; background: var(--aspect-green-soft) !important; color: var(--aspect-green) !important; }
  body.app-design-v2 .mobile-finance-btn.expense { border-color: var(--aspect-danger-border) !important; background: var(--aspect-red-soft) !important; color: var(--aspect-red) !important; }
  body.app-design-v2 .mobile-finance-btn.neutral { border-color: var(--aspect-info-border) !important; background: var(--aspect-blue-soft) !important; color: var(--aspect-blue) !important; }
  body.app-design-v2 .mobile-section-header,
  body.app-design-v2 .mobile-master-title { border-color: var(--aspect-border) !important; }
  body.app-design-v2 .mobile-empty { color: var(--aspect-muted) !important; }
  body.app-design-v2 .mobile-empty-error { border-color: var(--aspect-danger-border) !important; background: var(--aspect-red-soft) !important; color: var(--aspect-red) !important; }
  body.app-design-v2 .mobile-day-card,
  body.app-design-v2 .mobile-appt-card,
  body.app-design-v2 .mobile-order-card,
  body.app-design-v2 .mobile-kanban-card,
  body.app-design-v2 .mobile-summary-card { border-color: var(--aspect-border) !important; background: var(--aspect-surface-2) !important; color: var(--aspect-text) !important; }
  body.app-design-v2 .mobile-appt-main strong,
  body.app-design-v2 .mobile-order-main,
  body.app-design-v2 .mobile-order-top strong { color: var(--aspect-text) !important; }
  body.app-design-v2 .mobile-appt-main span,
  body.app-design-v2 .mobile-appt-main small,
  body.app-design-v2 .mobile-order-client,
  body.app-design-v2 .mobile-order-meta { color: var(--aspect-muted) !important; }
}

@media print {
  body.app-design-v2 { padding-left: 0 !important; background: #fff !important; color: #111 !important; }
  body.app-design-v2 #side-menu,
  body.app-design-v2 .app-bottom-nav { display: none !important; }
}
