/* Другое место — shared light and dark console design. */
html {
  --ui-color-scheme: light;
  --ui-canvas: #e7ece8; --ui-surface: #fff; --ui-surface-alt: #f4f6f3; --ui-sidebar: #f0f3ef;
  --ui-input: #f0f4f0; --ui-button: #e9efea; --ui-hover: #eef3ed; --ui-segment: #dce6dc;
  --ui-selected: #e4efe6; --ui-table-head: #dfe8df; --ui-border: #c4d0c7; --ui-border-strong: #a5b7ab; --ui-input-border: #9aafa0;
  --ui-text: #263b32; --ui-heading: #182e24; --ui-muted: #52665a; --ui-dim: #5c6e61; --ui-placeholder: #768279;
  --ui-accent: #17694d; --ui-accent-solid: #17694d; --ui-accent-hover: #10543d; --ui-on-accent: #fff; --ui-accent-soft: #e7f2eb; --ui-accent-border: #cfdfd3;
  --ui-info: #315faf; --ui-info-soft: #eaf0fc; --ui-info-border: #d1dcf2;
  --ui-danger: #ac3939; --ui-danger-soft: #fceeee; --ui-danger-border: #efd3d0;
  --ui-warning: #875719; --ui-warning-soft: #fff3df; --ui-warning-border: #eadbbd;
  --ui-purple: #695099; --ui-purple-soft: #f0eafa; --ui-purple-border: #e0d4ef;
  --ui-scrollbar: #bdcbc0; --ui-disabled: #edf0eb; --ui-shadow: #263b3208; --ui-shadow-deep: #18332130; --ui-focus: #17694d30; --ui-backdrop: #20362b66;
}
html[data-console-theme="dark"] {
  --ui-color-scheme: dark;
  --ui-canvas: #101816; --ui-surface: #1d2823; --ui-surface-alt: #26332d; --ui-sidebar: #17211c;
  --ui-input: #121d17; --ui-button: #2b3a31; --ui-hover: #35483c; --ui-segment: #142018;
  --ui-selected: #294937; --ui-table-head: #29382f; --ui-border: #43564a; --ui-border-strong: #68816e; --ui-input-border: #6a836f;
  --ui-text: #e0e9df; --ui-heading: #f3f7ef; --ui-muted: #b1c3b4; --ui-dim: #a2b4a5; --ui-placeholder: #97aa9a;
  --ui-accent: #8bd0a0; --ui-accent-solid: #307747; --ui-accent-hover: #28663c; --ui-accent-soft: #233c2c; --ui-accent-border: #43684d;
  --ui-info: #9abdef; --ui-info-soft: #203449; --ui-info-border: #4b6481;
  --ui-danger: #ffb1aa; --ui-danger-soft: #482a2a; --ui-danger-border: #885351;
  --ui-warning: #e8c17c; --ui-warning-soft: #3b3324; --ui-warning-border: #7a6546;
  --ui-purple: #c8b3ed; --ui-purple-soft: #332c44; --ui-purple-border: #6f5a8f;
  --ui-scrollbar: #546b5b; --ui-disabled: #29332d; --ui-shadow: #00000018; --ui-shadow-deep: #00000050; --ui-focus: #8bd0a066; --ui-backdrop: #030a07a6;
}
html[data-console-theme] {
  color-scheme: var(--ui-color-scheme);
  --bg: var(--ui-canvas);
  --bg-card: var(--ui-surface);
  --bg-elevated: var(--ui-surface-alt);
  --bg-hover: var(--ui-hover);
  --border: var(--ui-border);
  --border-light: var(--ui-border-strong);
  --text: var(--ui-text);
  --text-strong: var(--ui-heading);
  --text-muted: var(--ui-muted);
  --text-dim: var(--ui-dim);
  --lime: var(--ui-accent);
  --lime-hover: var(--ui-accent);
  --lime-dim: var(--ui-accent-soft);
  --lime-glow: transparent;
  --accent-contrast: var(--ui-on-accent);
  --danger: var(--ui-danger);
  --danger-bg: var(--ui-danger-soft);
  --green: var(--ui-accent);
  --green-bg: var(--ui-accent-soft);
  --orange: var(--ui-warning);
  --orange-bg: var(--ui-warning-soft);
  --blue: var(--ui-info);
  --blue-bg: var(--ui-info-soft);
  --surface-2: var(--ui-surface-alt);
  --theme-panel: var(--ui-surface);
  --ff: 'Aptos', 'Segoe UI Variable Text', 'Inter', system-ui, sans-serif;
  --ff-heading: 'Aptos Display', 'Segoe UI Variable Display', 'Aptos', system-ui, sans-serif;
  --radius: 12px;
  --radius-sm: 8px;
  --radius-xs: 6px;
  --shadow: 0 2px 5px var(--ui-shadow);
  --shadow-soft: 0 12px 40px var(--ui-shadow);
  --shadow-focus: 0 0 0 3px var(--ui-focus);
  --apple-fill: var(--ui-hover);
  --apple-fill-hover: var(--ui-hover);
  --apple-separator: var(--ui-border);
  --apple-blue: var(--ui-accent);
  --ios-sidebar-width: 242px;
  --ios-safe-left: 0px;
  --ios-shell-gap: 0px;
  --ios-lime: var(--ui-accent);
  --ios-lime-strong: var(--ui-accent);
  --ios-lime-soft: var(--ui-accent-soft);
  --ios-lime-ring: var(--ui-focus);
  --ios-glass: var(--ui-surface);
  --ios-glass-strong: var(--ui-surface);
  --ios-glass-soft: var(--ui-surface-alt);
  --ios-glass-control: var(--ui-surface);
  --ios-glass-hover: var(--ui-hover);
  --ios-stroke: var(--ui-border);
  --ios-stroke-strong: var(--ui-border-strong);
  --ios-highlight: transparent;
  --ios-shadow-window: 0 20px 70px var(--ui-shadow-deep);
  --ios-shadow-panel: 0 2px 5px var(--ui-shadow);
  --ios-shadow-control: none;
  --ios-blur-window: none;
  --ios-blur-panel: none;
  --ios-radius-window: 16px;
  --ios-radius-panel: 12px;
  --ios-radius-card: 12px;
  --ios-radius-control: 8px;
  --works-lime: var(--ui-accent);
  --works-lime-soft: var(--ui-accent-soft);
  --works-ink: var(--ui-heading);
  --works-muted: var(--ui-muted);
  --works-line: var(--ui-border);
  --works-line-strong: var(--ui-border-strong);
  --works-panel: var(--ui-surface);
  --works-panel-soft: var(--ui-surface-alt);
  --works-shadow: 0 2px 5px var(--ui-shadow);
}

html[data-console-theme] body {
  background: var(--bg) !important;
  background-image: none !important;
  color: var(--text);
  font: 14px/1.5 var(--ff);
  letter-spacing: 0;
}
html[data-console-theme] body::before,
html[data-console-theme] body::after,
html[data-console-theme] .sidebar::before,
html[data-console-theme] .page-header::after,
html[data-console-theme] .modal-content::before { display: none !important; }

/* Navigation: flat groups, clear active item, a persistent brand. */
html[data-console-theme] #mainSidebar {
  top: 0; left: 0; bottom: 0;
  width: var(--ios-sidebar-width);
  height: 100dvh;
  border: 0 !important;
  border-right: 1px solid var(--border) !important;
  border-radius: 0 !important;
  background: var(--ui-sidebar) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0;
}
.studio-brand {
  display: flex; align-items: center; gap: 10px;
  min-height: 82px; padding: 20px 18px; flex-shrink: 0;
  border-bottom: 1px solid var(--border);
}
.studio-brand__mark {
  display: grid; place-items: center; width: 38px; height: 38px;
  border-radius: 10px; background: var(--ui-accent-solid); color: var(--ui-on-accent);
  font-size: 14px; font-weight: 750; letter-spacing: -1px;
}
.studio-brand__name { display: block; font-weight: 750; letter-spacing: -.3px; font-size: 15px; color: var(--ui-heading); }
.studio-brand__caption { display: block; font-size: 11px; color: var(--ui-dim); margin-top: 1px; }
.studio-clock {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 6px;
  min-height: 82px;
}
.studio-clock::after {
  content: "";
  position: absolute;
  width: 82px;
  height: 64px;
  right: -14px;
  top: 8px;
  border-radius: 50%;
  background: rgba(206, 132, 187, .14);
  filter: blur(24px) !important;
  pointer-events: none;
}
.studio-clock__time {
  position: relative;
  z-index: 1;
  color: var(--ui-heading);
  font-family: var(--ff-heading);
  font-size: 29px;
  font-weight: 600;
  line-height: .95;
  letter-spacing: -.055em;
  font-variant-numeric: tabular-nums;
}
.studio-clock__seconds {
  position: relative;
  z-index: 1;
  align-self: end;
  padding-bottom: 2px;
  color: var(--ui-accent);
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.studio-clock__date {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  margin-top: 8px;
  color: var(--ui-dim);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
html[data-console-theme] .sidebar__nav { padding: 12px 10px; gap: 10px; scrollbar-width: thin; }
html[data-console-theme] .sidebar__group {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 0 8px !important; margin: 0 !important;
}
html[data-console-theme] .sidebar__group-label { padding: 9px 12px 5px; font-size: 10px; letter-spacing: .1em; color: var(--ui-dim); font-weight: 650; }
html[data-console-theme] .sidebar__btn {
  min-height: 37px; padding: 7px 11px; margin: 1px 0; gap: 10px;
  color: var(--ui-muted); border: 1px solid transparent !important; border-radius: 7px !important;
  background: transparent !important; box-shadow: none !important; font-size: 13px; font-weight: 550;
  transform: none !important; text-shadow: none;
}
html[data-console-theme] .sidebar__btn:hover { background: var(--ui-hover) !important; color: var(--ui-heading); }
html[data-console-theme] .sidebar__btn.active { color: var(--ui-accent) !important; background: var(--ui-selected) !important; border-color: var(--ui-accent-border) !important; font-weight: 700; }
html[data-console-theme] .sidebar__btn > .ui-icon {
  width: 20px !important; height: 20px !important; min-width: 20px;
  padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
}
html[data-console-theme] .sidebar__btn .ui-icon img { width: 18px; height: 18px; filter: grayscale(1) brightness(.5); }
html[data-console-theme] .sidebar__session,
html[data-console-theme] .sidebar__footer { background: var(--ui-sidebar) !important; box-shadow: none !important; border-radius: 0 !important; }
html[data-console-theme] .sidebar__session { border: 0 !important; border-top: 1px solid var(--border) !important; padding: 12px !important; }
html[data-console-theme] .sidebar__session-avatar { width: 36px; height: 36px; background: var(--ui-selected) !important; color: var(--ui-accent) !important; box-shadow: none !important; border: 1px solid var(--ui-accent-border); }
html[data-console-theme] .console-theme-switcher {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px;
  padding: 3px; border: 1px solid var(--ui-border); border-radius: 8px; background: var(--ui-segment); width: 100%;
}
html[data-console-theme] .console-theme-option {
  display: flex; justify-content: center; align-items: center; gap: 6px; min-width: 0; min-height: 36px;
  padding: 6px 5px; border: 1px solid transparent; border-radius: 5px;
  color: var(--ui-muted); background: transparent; font: 600 12px/1.2 var(--ff); cursor: pointer;
}
html[data-console-theme] .console-theme-option:hover { background: var(--ui-hover); }
html[data-console-theme] .console-theme-option[aria-pressed="true"] { background: var(--ui-surface); color: var(--ui-accent); border-color: var(--ui-border-strong); box-shadow: inset 0 -2px var(--ui-accent); }
html[data-console-theme] .console-theme-option span { font-size: 17px; line-height: 1; }

/* Page composition and shared surfaces. */
html[data-console-theme] .main-content { margin-left: var(--ios-sidebar-width); padding: 28px 32px 40px; max-width: none; }
html[data-console-theme] .page-header {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--border) !important;
  border-radius: 0 !important; padding: 0 0 18px !important; margin-bottom: 22px;
  box-shadow: none !important; backdrop-filter: none !important; min-height: 58px;
}
html[data-console-theme] :is(h1,h2,h3,h4,.page-title) { color: var(--ui-heading); font-family: var(--ff-heading); letter-spacing: -.025em; }
html[data-console-theme] :is(.page-title,#worksScreen .page-title) { font-size: clamp(23px,2vw,30px); font-weight: 700; line-height: 1.25; }
html[data-console-theme] .hint { color: var(--text-muted); }
html[data-console-theme] :is(.card,.kpi-card,.post-card,.service-card,.client-card,.work-list-card,.booking-card,.wh-stat,.wh-kpi,.finance-card,.tg-status-card,.tg-form-card,.tg-control-card) {
  background: var(--ui-surface) !important; background-image: none !important; border: 1px solid var(--border) !important;
  border-radius: 12px !important; box-shadow: 0 2px 5px var(--ui-shadow) !important; backdrop-filter: none !important;
  color: var(--text);
}
html[data-console-theme] .card { padding: 18px; }
html[data-console-theme] :is(.card,.page-header,.btn,.input,.sidebar,.modal-content) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html[data-console-theme] :is(.kpi-value,.work-money,.work-live-totals__val,.wh-receipt-total) { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
html[data-console-theme] :is(.kpi-card,.today-kpi > div) { padding: 16px 18px; border-top: 3px solid var(--ui-accent-border) !important; }
html[data-console-theme] .today-kpi { gap: 12px; }

/* Buttons, tabs and fields share one visual language. */
html[data-console-theme] :is(.btn,button.btn,.btn--sm,.btn--xs) {
  background: var(--ui-button) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-border-strong) !important;
  border-radius: 7px !important; box-shadow: none !important; text-shadow: none !important;
  font-family: var(--ff); font-weight: 600; letter-spacing: 0; min-height: 36px;
  padding: 7px 13px; transition: background-color 120ms, border-color 120ms;
}
html[data-console-theme] .btn:hover { background: var(--ui-segment) !important; border-color: var(--ui-border-strong) !important; transform: none !important; }
html[data-console-theme] :is(.btn--primary,button.btn--primary) { background: var(--ui-accent-solid) !important; color: var(--ui-on-accent) !important; border-color: var(--ui-accent-solid) !important; }
html[data-console-theme] .btn--primary:hover { background: var(--ui-accent-hover) !important; border-color: var(--ui-accent-hover) !important; }
html[data-console-theme] :is(.btn--danger,button.btn--danger) { background: var(--ui-danger-soft) !important; color: var(--ui-danger) !important; border-color: var(--ui-danger-border) !important; }
html[data-console-theme] button:disabled { opacity: .5; cursor: not-allowed; }
html[data-console-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),select,textarea,.input) {
  background: var(--ui-input) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-input-border) !important;
  border-radius: 7px !important; box-shadow: none !important; min-height: 38px;
  font-family: var(--ff); font-size: 13px; padding: 8px 10px;
}
html[data-console-theme] :is(input,select,textarea)::placeholder { color: var(--ui-placeholder); opacity: 1; }
html[data-console-theme] :is(input,select,textarea):focus-visible { outline: 2px solid var(--ui-accent) !important; outline-offset: 2px; }
html[data-console-theme] :is(button,a,summary):focus-visible { outline: 2px solid var(--ui-accent) !important; outline-offset: 3px; }
html[data-console-theme] :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--ui-accent); }
html[data-console-theme] :is(.wh-tabs,.admin-settings-tabs,.works-view-switch,.work-calc-mode,.calendar-view-switch,.tabs) { background: var(--ui-segment) !important; border: 1px solid var(--border) !important; box-shadow: none !important; border-radius: 9px; padding: 4px; }
html[data-console-theme] :is(.wh-tab,.admin-settings-tab,.tab-btn,.work-calc-mode button) { color: var(--ui-muted); border-radius: 6px; text-shadow: none; }
html[data-console-theme] :is(.wh-tab.active,.wh-tab.is-active,.admin-settings-tab--active,.tab-btn.active,.work-calc-mode button.active,[role="tab"][aria-selected="true"]) { background: var(--ui-surface) !important; color: var(--ui-accent) !important; box-shadow: inset 0 -2px var(--ui-accent) !important; border-color: var(--ui-border-strong) !important; font-weight: 700; }

/* Tables, labels, menus and messages. */
html[data-console-theme] table { background: var(--ui-surface); border-color: var(--border); font-size: 13px; }
html[data-console-theme] th { background: var(--ui-table-head) !important; color: var(--ui-text) !important; font-size: 11px; font-weight: 650; letter-spacing: .035em; padding: 11px 12px; }
html[data-console-theme] td { border-color: var(--ui-border) !important; padding: 11px 12px; color: var(--ui-text); }
html[data-console-theme] tbody tr:hover { background: var(--ui-surface-alt) !important; }
html[data-console-theme] :is(.status,.badge,.desk-pill,.tg-runtime-badge) { box-shadow: none !important; border-radius: 5px; font-size: 11px; }
html[data-console-theme] :is(.status.in_progress,.status.confirmed,.status.completed,.status.paid) { background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; border-color: var(--ui-accent-border) !important; }
html[data-console-theme] :is(.status.pending,.status.new,.status.awaiting_payment) { background: var(--ui-warning-soft) !important; color: var(--ui-warning) !important; border-color: var(--ui-warning-border) !important; }
html[data-console-theme] :is(.status.cancelled,.status.failed,.hint--error) { color: var(--ui-danger) !important; }
html[data-console-theme] :is(.dropdown-menu,.context-menu,.booking-actions-menu,.admin-booking-toast,.admin-booking-alert__panel,.toast,.popover) { background: var(--ui-surface) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-border) !important; border-radius: 10px !important; box-shadow: 0 12px 40px var(--ui-shadow-deep) !important; backdrop-filter: none !important; }

/* Sheets and work editor: opaque light panels with compact geometry. */
html[data-console-theme] .modal { background: var(--ui-backdrop) !important; backdrop-filter: none !important; }
html[data-console-theme] :is(.modal-content,.work-editor-modal,.client-hub-modal,.new-work-modal) { background: var(--ui-surface-alt) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-border) !important; border-radius: 16px !important; box-shadow: 0 24px 80px var(--ui-shadow-deep) !important; }
html[data-console-theme] :is(.modal-header,.modal-footer,.work-editor-header,.work-editor-head,.work-editor-modal__head) { background: var(--ui-surface) !important; color: var(--ui-text); border-color: var(--ui-border) !important; box-shadow: none !important; }
html[data-console-theme] #workEditorModal :is(.work-summary-grid,.work-live-totals,.work-editor-actions,.work-editor-side .card,.we-service-card,.we-service-card__sub,.work-exp-block,.work-order-block,.work-fin-panel) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; box-shadow: none !important; border-radius: 9px; }
html[data-console-theme] #workEditorModal .work-summary-grid > .work-summary-cell { background: var(--ui-surface) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; }
html[data-console-theme] #workEditorModal :is(.work-summary-cell__label,.work-summary-cell__sub,.we-service-card__field-labels span,.we-row-head__cell) { color: var(--ui-muted) !important; }
html[data-console-theme] #workEditorModal :is(.we-card-summary,.work-live-line,.we-sale-meta) { background: var(--ui-surface-alt) !important; color: var(--ui-muted) !important; border-color: var(--ui-border); }
html[data-console-theme] #workEditorModal :is(.we-chip,.work-chip) { background: var(--ui-surface-alt); color: var(--ui-muted); border-color: var(--ui-border-strong); }
html[data-console-theme] #workEditorModal :is(.we-chip.is-on,.work-chip.active) { background: var(--ui-selected); color: var(--ui-accent); }
html[data-console-theme] :is(.work-list-card__body,.work-list-card__head,.works-toolbar,.works-filterbar,.calendar-toolbar,.post-slot-panel,.wh-editor-section,.wh-toolbar) { background: transparent !important; border-color: var(--ui-border) !important; box-shadow: none !important; }
html[data-console-theme] :is(.post-slot-chip,.slot-chip) { background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; border: 1px solid var(--ui-accent-border) !important; border-radius: 6px; box-shadow: none !important; }
html[data-console-theme] :is(.post-slot-chip.is-off,.slot-chip.is-off) { background: var(--ui-disabled) !important; color: var(--ui-dim) !important; border-color: var(--ui-border) !important; }
html[data-console-theme] :is(.tg-chat,.avito-chat,.admin-chat-messages,.tg-client-messages) { background: var(--ui-surface-alt) !important; color: var(--ui-text); }
html[data-console-theme] :is(.admin-chat-msg__bubble,.tg-client-bubble,.avito-msg__bubble) { background: var(--ui-surface) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; box-shadow: none; }
html[data-console-theme] .admin-chat-msg--admin .admin-chat-msg__bubble { background: var(--ui-selected) !important; }

/* Auth and loading keep the same light identity. */
html[data-console-theme] :is(.console-auth-gate,.console-welcome-splash,.welcome-stage,.welcome-stage--charcoal) { background: var(--ui-canvas) !important; background-image: none !important; }
html[data-console-theme] :is(.welcome-window,.console-auth-gate__card,.login-modal) { background: var(--ui-surface) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-border) !important; box-shadow: 0 20px 60px var(--ui-shadow) !important; }
html[data-console-theme] :is(.console-boot__pct,.welcome-window__brand,.console-welcome-greeting,.welcome-window__sub) { color: var(--ui-text) !important; }
html[data-console-theme] .console-boot__arc { stroke: var(--ui-accent) !important; }
html[data-console-theme] .console-boot__track { stroke: var(--ui-border) !important; }
html[data-console-theme] .console-boot__bar i { background: var(--ui-accent) !important; }

/* Flatten the legacy icon artwork and dashboard surfaces. */
html[data-console-theme] * { text-shadow: none !important; }
html[data-console-theme] .ui-icon { color: inherit !important; }
html[data-console-theme] .ui-icon--tile { background: var(--ui-surface-alt) !important; border-color: var(--ui-border) !important; box-shadow: none !important; }
html[data-console-theme] #mainSidebar .sidebar__btn > .ui-icon { background: transparent !important; box-shadow: none !important; transform: none; filter: none; }
html[data-console-theme] #mainSidebar .sidebar__btn > .ui-icon { color: var(--ui-muted) !important; }
html[data-console-theme] #mainSidebar .sidebar__btn.active > .ui-icon { color: var(--ui-accent) !important; }
html[data-console-theme] #mainSidebar .sidebar__btn.active { box-shadow: none !important; }
html[data-console-theme] .ui-icon__svg { filter: none !important; }
html[data-console-theme] .ui-icon--tile::before,
html[data-console-theme] .ui-icon--tile::after { display: none !important; }
html[data-console-theme] .ui-icon__layer--stroke { stroke: currentColor !important; stroke-width: 1.75; filter: none !important; }
html[data-console-theme] :is(.ui-icon__layer--depth,.ui-icon__layer--fill,.ui-icon__layer--shine) { display: none; }
html[data-console-theme] .sidebar__brand { background: var(--ui-sidebar) !important; border: 0; border-radius: 0; padding: 0; }
html[data-console-theme] .sidebar__nav { scrollbar-color: var(--ui-scrollbar) transparent; }
html[data-console-theme] ::-webkit-scrollbar-thumb { background: var(--ui-scrollbar) !important; border-radius: 8px; }
html[data-console-theme] :is(.works-dash-card,#worksScreen .works-dash-card,.today-panel,.works-dash-stat) {
  background: var(--ui-surface) !important; border: 1px solid var(--ui-border) !important; border-radius: 10px !important;
  box-shadow: none !important; backdrop-filter: none !important;
}
html[data-console-theme] .works-dash-card { padding: 16px; gap: 6px; }
html[data-console-theme] .works-dash-card__value { font-size: 26px; font-weight: 700; line-height: 1.15; }
html[data-console-theme] .works-dash-card--warn .works-dash-card__value { color: var(--ui-warning); }
html[data-console-theme] .today-kpi { grid-template-columns: repeat(7, minmax(0,1fr)); }
html[data-console-theme] .today-grid { align-items: start; }
html[data-console-theme] .today-list { max-height: 450px; overflow: auto; }
html[data-console-theme] .today-payment-reminder { background: var(--ui-warning-soft) !important; border: 1px solid var(--ui-warning-border) !important; border-radius: 10px; box-shadow: none !important; }
html[data-console-theme] .today-payment-reminder__title { color: var(--ui-warning); font-size: 14px; }
html[data-console-theme] .today-payment-reminder__row { background: var(--ui-surface); border-color: var(--ui-warning-border); }
html[data-console-theme] .today-payment-reminder__badge { color: var(--ui-warning); border-color: var(--ui-warning-border); background: var(--ui-warning-soft); }
html[data-console-theme] .today-payment-reminder__badge--unfinished { color: var(--ui-info); border-color: var(--ui-info-border); background: var(--ui-info-soft); }
html[data-console-theme] :is(#workEditorModal .work-live-totals__item,#workEditorModal .work-calc-mode,#newWorkModal .new-work-section-tabs,.new-work-type-panel,.new-work-progress,#workCloseConfirmModal .work-close-confirm__grid) { background: var(--ui-segment) !important; border-color: var(--ui-border) !important; color: var(--ui-text); box-shadow: none !important; }

/* Payroll and motivation use the same surfaces as operational screens. */
html[data-console-theme] #worksScreen .works-filters { background: var(--ui-surface) !important; border: 1px solid var(--ui-border); border-radius: 10px; box-shadow: none !important; }
html[data-console-theme] .client-hub-modal__bar { background: var(--ui-surface) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; box-shadow: none; }
html[data-console-theme] #workEditorModal .work-editor-sticky { background: var(--ui-surface-alt) !important; box-shadow: none; }
html[data-console-theme] :is(.we-service-card__num,.work-editor-flow .is-current i,.new-work-progress .is-current i) { background: var(--ui-accent-solid); color: var(--ui-on-accent) !important; box-shadow: none; }
html[data-console-theme] .we-svc-badge--admin { color: var(--ui-info) !important; background: var(--ui-info-soft) !important; }
html[data-console-theme] .works-view-toggle { background: var(--ui-segment); border-color: var(--ui-border); border-radius: 8px; }
html[data-console-theme] #worksScreen .works-dashboard__secondary { background: transparent; gap: 10px; border: 0; border-radius: 0; }
html[data-console-theme] :is(.work-life-badge,.work-studio-badge,.work-origin-badge,.work-unclosed-badge) { border-radius: 5px; box-shadow: none !important; font-weight: 600; }
html[data-console-theme] :is(.work-life-badge--in_progress,.work-studio-badge,.work-origin-badge--admin) { color: var(--ui-warning) !important; background: var(--ui-warning-soft) !important; border-color: var(--ui-warning-border) !important; }
html[data-console-theme] .work-life-badge--upcoming { color: var(--ui-info) !important; background: var(--ui-info-soft) !important; border-color: var(--ui-info-border) !important; }
html[data-console-theme] .work-origin-badge--widget { color: var(--ui-purple) !important; background: var(--ui-purple-soft) !important; border-color: var(--ui-purple-border) !important; }
html[data-console-theme] .work-life-badge--completed { color: var(--ui-accent) !important; background: var(--ui-accent-soft) !important; border-color: var(--ui-accent-border) !important; }
html[data-console-theme] .work-unclosed-badge { color: var(--ui-danger) !important; background: var(--ui-danger-soft) !important; border-color: var(--ui-danger-border) !important; }
html[data-console-theme] #worksScreen .work-list-card--unclosed h4 { color: var(--ui-danger) !important; }
html[data-console-theme] #worksScreen .works-dash-card--life-progress .works-dash-card__value { color: var(--ui-warning); }
html[data-console-theme] #worksScreen .works-dash-card--life-upcoming .works-dash-card__value { color: var(--ui-info); }
html[data-console-theme] .btn--pulse-attention { animation: none !important; }
html[data-console-theme] #motivationScreen {
  --mot-line: var(--ui-border); --mot-line-strong: var(--ui-border-strong); --mot-panel: var(--ui-surface); --mot-panel-deep: var(--ui-surface-alt);
  --mot-muted: var(--ui-muted); --mot-ink: var(--ui-heading); --mot-lime: var(--ui-accent);
}
html[data-console-theme] #motivationScreen :is(.motivation-hero,.motivation-section,.motivation-rules-card,.motivation-faq,.motivation-preview,.motivation-kpi,.motivation-employee-card,.motivation-algorithm-card,.motivation-explainer) {
  background: var(--ui-surface) !important; border-color: var(--ui-border) !important; border-radius: 10px; box-shadow: none !important; backdrop-filter: none;
}
html[data-console-theme] #motivationScreen :is(.motivation-toolbar,.motivation-flow li,.motivation-plan-progress,.motivation-accrual,.motivation-switch,.motivation-preview__formula,.motivation-rule-actions,.motivation-tier-row) { background: var(--ui-surface-alt) !important; border-color: var(--ui-border) !important; border-radius: 8px; box-shadow: none; }
html[data-console-theme] #motivationScreen .motivation-total-card { background: var(--ui-accent-soft); border-color: var(--ui-accent-border); border-radius: 10px; }
html[data-console-theme] #motivationScreen .motivation-plan-progress__track { background: var(--ui-border); }
html[data-console-theme] #motivationScreen .motivation-plan-progress__track span { background: var(--ui-accent); box-shadow: none; }
html[data-console-theme] #motivationScreen .motivation-switch > span { background: var(--ui-scrollbar); box-shadow: none; }
html[data-console-theme] #motivationScreen .motivation-switch input:checked + span { background: var(--ui-accent); }

/* Receipt editing needs enough room for the full line, even beside its list. */
html[data-console-theme] :is(.post-slot-panel__title,.client-hub-modal__label,.client-hub-title,.client-hub-section-title,.client-hub-hero__contacts,.client-hub-stat strong,.client-hub-kv strong,.client-hub-visit__title,.loyalty-summary-card__val,.loyalty-rate-block h5,.booking-client__name,.pub-service-card__title,.pe-section__title,.transfer-bank-chip__sum,.works-bank-card strong,.finance-bank-card strong,.tg-status-card__title,.calendar-toolbar__range,.calendar-month-day__num,.calendar-week-card__head strong,.calendar-day-board__head h3,.calendar-free-slot strong,.calendar-day-booking__time,.calendar-booking__time,.calendar-popover__title,.calendar-booking-step legend,.calendar-booking-summary,.mus-script-card__name) { color: var(--ui-text) !important; }
html[data-console-theme] :is(.booking-client__hint,.booking-client__hint code,.booking-client-detail__snap,.calendar-crumb__sep) { color: var(--ui-muted) !important; }

/* Компактная карточка входящей записи в «Лидах»: детали остаются доступны без высокой стопки блоков. */
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact {
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) minmax(220px, .9fr);
  gap: 7px 14px;
  padding: 12px 14px !important;
  margin-bottom: 8px;
  align-items: start;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .card-header,
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-workflow-hint,
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-card__actions {
  grid-column: 1 / -1;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .card-header {
  margin: 0;
  min-height: 24px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-card__title {
  gap: 7px;
  font-size: 13px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client {
  grid-column: 1;
  grid-row: 2 / span 2;
  gap: 9px;
  margin: 0;
  padding: 8px 10px;
  min-height: 74px;
  border-radius: 9px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client__avatar-btn {
  width: 40px;
  height: 40px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client__label {
  margin-bottom: 2px;
  font-size: 10px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client__name {
  display: inline;
  margin: 0 8px 0 0;
  font-size: 13px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client__car,
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client__contacts {
  display: inline;
  margin: 0 8px 0 0;
  font-size: 12px;
  line-height: 1.35;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-client__hint {
  display: none;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-master-select,
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-section-select {
  grid-column: 2;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  margin: 0 !important;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-master-select { grid-row: 2; }
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-section-select { grid-row: 3; }
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact :is(.booking-master-select,.booking-section-select) label {
  font-size: 11px !important;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact :is(.booking-master-select,.booking-section-select) select {
  min-height: 34px;
  height: 34px;
  padding: 5px 8px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .card-meta {
  grid-column: 1;
  margin: 0;
  font-size: 12px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-notes {
  grid-column: 1 / -1;
  padding: 6px 9px;
  border-radius: 7px;
  background: var(--ui-surface-alt);
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-workflow-hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.3;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > .booking-card__actions {
  gap: 5px 7px;
  margin: 0;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-card__cluster {
  padding: 2px;
  gap: 2px;
  border-radius: 8px;
}
html[data-console-theme] #leadsWidgetList .booking-card--lead-compact .booking-card__action.btn--sm {
  min-width: 36px;
  min-height: 36px;
  padding: 6px 8px;
}
@media (max-width: 760px) {
  html[data-console-theme] #leadsWidgetList .booking-card--lead-compact {
    grid-template-columns: 1fr;
  }
  html[data-console-theme] #leadsWidgetList .booking-card--lead-compact > * {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
html[data-console-theme] :is(.work-client-link:hover,.work-open-link:hover) { color: var(--ui-accent) !important; }
html[data-console-theme] :is(.finance-tabs,.bk-cat-tabs,.calendar-mode-tabs,.messenger-tabs,.loyalty-tabs) { background: var(--ui-segment) !important; border: 1px solid var(--ui-border); border-radius: 8px; box-shadow: none; }
html[data-console-theme] :is(.finance-preset--active,.finance-category--active,.new-work-section-tab.is-active,.loyalty-tabs__btn.active) { background: var(--ui-accent-solid) !important; color: var(--ui-on-accent) !important; border-color: var(--ui-accent-solid) !important; }
html[data-console-theme] :is(.calendar-popover,.calendar-booking-summary,.client-hub-hero,.client-hub-stat,.client-hub-section,.pe-section,.loyalty-summary-card,.calendar-day-board,.calendar-month-day,.calendar-week-card,.finance-kpi,.finance-bank-card,.pay-client-selected,.pay-client-row,.pay-client-tip) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; border-radius: 10px; box-shadow: none !important; }
html[data-console-theme] :is(.calendar-time-chip,.calendar-free-slot) { background: var(--ui-selected); color: var(--ui-accent); border-color: var(--ui-border-strong); }
html[data-console-theme] :is(.calendar-time-chip.is-selected,.calendar-time-chip.active) { background: var(--ui-accent-solid); color: var(--ui-on-accent); }
html[data-console-theme] .calendar-booking--pending { background: var(--ui-warning-soft); color: var(--ui-warning); border-color: var(--ui-warning-border); }
html[data-console-theme] .calendar-booking--confirmed { background: var(--ui-info-soft); color: var(--ui-info); border-color: var(--ui-info-border); }
html[data-console-theme] .calendar-booking--in_progress { background: var(--ui-purple-soft); color: var(--ui-purple); border-color: var(--ui-purple-border); }
html[data-console-theme] .calendar-booking--completed { background: var(--ui-accent-soft); color: var(--ui-accent); border-color: var(--ui-accent-border); opacity: 1; }
html[data-console-theme] .calendar-month-chip__time { color: inherit; }
html[data-console-theme] :is(.pay-client-pill--work,.pay-client-selected__amount,.pay-client-row__sum,.pay-client-tip__head strong) { color: var(--ui-accent); }
html[data-console-theme] :is(.finance-kpi--payroll .finance-kpi__value,.finance-alloc__item--payroll strong,.finance-tone--payroll,.finance-waterfall__row--payroll .finance-waterfall__value,.finance-compare-table tr.finance-row--payroll td:not(:first-child)) { color: var(--ui-warning) !important; }
html[data-console-theme] :is(.finance-kpi--materials .finance-kpi__value,.finance-alloc__item--materials strong,.finance-tone--materials,.finance-waterfall__row--materials .finance-waterfall__value,.finance-compare-table tr.finance-row--materials td:not(:first-child)) { color: var(--ui-warning) !important; }
html[data-console-theme] :is(.finance-kpi--result .finance-kpi__value,.finance-alloc__item--studio strong) { color: var(--ui-accent) !important; }
html[data-console-theme] :is(.finance-kpi--result.is-neg .finance-kpi__value,.finance-alloc__item--studio.is-neg strong,.finance-kpi__delta.is-down,.exp-debt-banner,.work-fin-alert) { color: var(--ui-danger) !important; }
html[data-console-theme] :is(.finance-alert h3,.finance-badge--unallocated,.finance-drill-banner strong,.wh-badge--low,.tg-status--none .tg-status-card__icon,.unpaid-works-toast .admin-booking-toast__title,.today-payment-reminder__toggle,.clients-chip--vip,.status.approaching,.pub-service-card--cert .pub-service-card__url,.lead-status--hot) { color: var(--ui-warning) !important; }
html[data-console-theme] .booking-client__avatar-btn { box-shadow: none !important; border-color: var(--ui-border); }
@media (min-width: 1000px) {
  html[data-console-theme] .studio-schedule-card__grid { grid-template-columns: auto minmax(90px,1fr) auto minmax(90px,1fr) auto minmax(90px,1fr); gap: 12px; }
}
html[data-console-theme] #whPanelReceipts .wh-layout { grid-template-columns: minmax(280px,.7fr) minmax(560px,1.3fr); align-items: start; }
html[data-console-theme] #whReceiptEditorPanel { min-width: 0; overflow: visible; container: receipt-editor / inline-size; }
html[data-console-theme] #whReceiptEditorPanel .wh-receipt-lines-block { padding: 12px; }
html[data-console-theme] #whReceiptEditorPanel :is(input,select) { max-width: 100%; min-width: 0; }
html[data-console-theme] :is(.wh-status--draft,.status.draft) { color: var(--ui-warning); background: var(--ui-warning-soft); }
@container receipt-editor (max-width: 700px) {
  html[data-console-theme] #whReceiptForm .wh-receipt-line { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; }
  html[data-console-theme] #whReceiptForm .wh-manual-position { grid-column: 1/-1; }
  html[data-console-theme] #whReceiptForm .wh-receipt-line label:nth-of-type(4) { grid-column: 1/3; }
}
@media (max-width: 1250px) {
  html[data-console-theme] #whPanelReceipts .wh-layout { grid-template-columns: minmax(0,1fr); }
}

@media (min-width: 769px) {
  html[data-console-theme] .main-content { width: calc(100% - var(--ios-sidebar-width)); }
}
@media (max-width: 1100px) and (min-width: 769px) {
  html[data-console-theme] { --ios-sidebar-width: 218px; }
  html[data-console-theme] .main-content { padding: 22px; }
  html[data-console-theme] .today-kpi { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (max-width: 768px) {
  html[data-console-theme] #mainSidebar { width: min(280px,85vw); z-index: 3000; }
  html[data-console-theme] .main-content { margin-left: 0; width: 100%; padding: 72px 14px 24px; }
  html[data-console-theme] .mobile-topbar { background: var(--ui-surface) !important; color: var(--ui-text); border: 0; border-bottom: 1px solid var(--ui-border); box-shadow: none !important; border-radius: 0; top: 0; left: 0; right: 0; }
  html[data-console-theme] .sidebar__btn { min-height: 44px; }
  html[data-console-theme] .btn { min-height: 42px; }
  html[data-console-theme] .console-theme-option { min-height: 42px; }
  html[data-console-theme] .card { padding: 14px; }
  html[data-console-theme] .today-kpi { grid-template-columns: repeat(2, minmax(0,1fr)); }
  html[data-console-theme] .page-header { gap: 10px; flex-wrap: wrap; }
  html[data-console-theme] .today-payment-reminder__head { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; }
  html[data-console-theme] .today-payment-reminder__actions { grid-column: 2; justify-content: flex-start; }
  html[data-console-theme] .post-slot-chip { min-height: 40px; min-width: 52px; }
  html[data-console-theme] .modal-content { border-radius: 12px 12px 0 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-console-theme] *, html[data-console-theme] *::before, html[data-console-theme] *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Reference refresh: graphite glass, layered panels and muted rose light. */
html[data-console-theme="dark"] {
  --ui-canvas: #0b090d;
  --ui-surface: rgba(25, 21, 27, .88);
  --ui-surface-alt: rgba(35, 29, 37, .88);
  --ui-sidebar: rgba(12, 10, 14, .94);
  --ui-input: rgba(9, 8, 11, .78);
  --ui-button: rgba(51, 43, 53, .9);
  --ui-hover: rgba(74, 58, 74, .62);
  --ui-segment: rgba(8, 7, 10, .78);
  --ui-selected: rgba(111, 76, 104, .42);
  --ui-table-head: rgba(44, 36, 46, .96);
  --ui-border: rgba(255, 240, 252, .105);
  --ui-border-strong: rgba(255, 235, 250, .2);
  --ui-input-border: rgba(255, 235, 250, .18);
  --ui-text: #eee8ed;
  --ui-heading: #fffafe;
  --ui-muted: #bcb2bc;
  --ui-dim: #938993;
  --ui-placeholder: #7f7680;
  --ui-accent: #e1afd3;
  --ui-accent-solid: #9d688f;
  --ui-accent-hover: #b37ba5;
  --ui-on-accent: #160f16;
  --ui-accent-soft: rgba(180, 112, 159, .18);
  --ui-accent-border: rgba(226, 166, 209, .35);
  --ui-shadow: rgba(0, 0, 0, .24);
  --ui-shadow-deep: rgba(0, 0, 0, .68);
  --ui-focus: rgba(224, 165, 210, .32);
  --ui-backdrop: rgba(5, 4, 7, .78);
  --ios-shadow-panel: 0 18px 45px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.035);
  --ios-shadow-window: 0 38px 110px rgba(0,0,0,.72), inset 0 1px rgba(255,255,255,.05);
}

html[data-console-theme="light"] {
  --ui-canvas: #e8e1e7;
  --ui-surface: rgba(255, 251, 255, .84);
  --ui-surface-alt: rgba(241, 232, 240, .88);
  --ui-sidebar: rgba(31, 25, 32, .96);
  --ui-input: rgba(255,255,255,.92);
  --ui-button: #e6dbe4;
  --ui-hover: #eee4ec;
  --ui-segment: #d7cad5;
  --ui-selected: #4b3548;
  --ui-table-head: #e1d5df;
  --ui-border: rgba(72, 48, 69, .18);
  --ui-border-strong: rgba(72, 48, 69, .31);
  --ui-input-border: rgba(72, 48, 69, .32);
  --ui-heading: #241b24;
  --ui-text: #352a34;
  --ui-muted: #655765;
  --ui-dim: #776b76;
  --ui-accent: #754f6d;
  --ui-accent-solid: #754f6d;
  --ui-accent-hover: #62415c;
  --ui-on-accent: #fff9fe;
  --ui-accent-soft: #eadbe6;
  --ui-accent-border: #c9adc2;
  --ui-shadow: rgba(54, 35, 51, .12);
  --ui-shadow-deep: rgba(47, 30, 44, .28);
  --ui-focus: rgba(117, 79, 109, .24);
}

html[data-console-theme] {
  --radius: 18px;
  --radius-sm: 13px;
  --radius-xs: 9px;
  --ios-radius-window: 24px;
  --ios-radius-panel: 18px;
  --ios-radius-card: 15px;
  --ios-radius-control: 11px;
  --shadow: 0 14px 36px var(--ui-shadow), inset 0 1px rgba(255,255,255,.035);
  --shadow-soft: 0 25px 70px var(--ui-shadow-deep);
}

html[data-console-theme] body {
  background-color: var(--ui-canvas) !important;
  background-image:
    radial-gradient(circle at 72% -10%, rgba(177, 107, 156, .18), transparent 35%),
    radial-gradient(circle at 20% 105%, rgba(104, 66, 98, .12), transparent 32%) !important;
  background-attachment: fixed !important;
}

html[data-console-theme] body::before {
  display: block !important;
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.009) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
  z-index: -1;
}

html[data-console-theme] #mainSidebar {
  top: 14px;
  left: 14px;
  bottom: 14px;
  height: calc(100dvh - 28px);
  width: 246px;
  border: 1px solid var(--ui-border-strong) !important;
  border-radius: 22px !important;
  background: var(--ui-sidebar) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.055) !important;
  -webkit-backdrop-filter: blur(26px) saturate(130%) !important;
  backdrop-filter: blur(26px) saturate(130%) !important;
  overflow: hidden;
}

html[data-console-theme] .studio-brand {
  min-height: 76px;
  padding: 17px 16px;
  border-color: var(--ui-border) !important;
}
html[data-console-theme] .studio-clock { display: grid; }

html[data-console-theme] .studio-brand__mark {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 13px;
  color: #fff8fd;
  background: linear-gradient(145deg, #b27ca5, #6f4967 68%, #3b2939) !important;
  box-shadow: 0 10px 26px rgba(180,110,159,.3), inset 0 1px rgba(255,255,255,.3);
}
html[data-console-theme="light"] :is(.studio-brand__name,.studio-brand__caption) { color: #fff8fd !important; }

html[data-console-theme] .sidebar__group-label { color: #887e88; }
html[data-console-theme] .sidebar__btn { border-radius: 11px !important; color: #aaa0a9; min-height: 40px; }
html[data-console-theme] .sidebar__btn:hover { color: #fff8fd !important; background: rgba(255,255,255,.055) !important; }
html[data-console-theme] .sidebar__btn.active {
  color: #fff9fe !important;
  border-color: rgba(232,184,220,.2) !important;
  background: linear-gradient(100deg, rgba(154,99,140,.72), rgba(80,54,76,.5)) !important;
  box-shadow: 0 10px 26px rgba(126,72,112,.25), inset 0 1px rgba(255,255,255,.1) !important;
}
html[data-console-theme] .sidebar__btn.active::before { background: #e7b5dc !important; box-shadow: 0 0 14px rgba(231,181,220,.8); }
html[data-console-theme] .sidebar__session,
html[data-console-theme] .sidebar__footer { background: rgba(12,10,14,.88) !important; }
html[data-console-theme="light"] :is(.sidebar__session,.sidebar__session *, .sidebar__footer) { color: #cfc5cd; }

html[data-console-theme] .main-content {
  margin-left: 274px;
  padding: 24px 28px 44px;
}
html[data-console-theme] .page-header {
  padding: 14px 16px 18px !important;
  margin-bottom: 16px;
  border: 0 !important;
}

/* Chromium иногда пересобирает sticky-прозрачный header поверх fixed-gradient и даёт яркий кадр. */
html[data-console-theme] #todayScreen .today-header {
  position: relative !important;
  top: auto !important;
  isolation: isolate;
  contain: paint;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transform: none !important;
}
html[data-console-theme] #todayScreen .today-header::before,
html[data-console-theme] #todayScreen .today-header::after {
  display: none !important;
  content: none !important;
}

html[data-console-theme] :is(.card,.kpi-card,.post-card,.service-card,.client-card,.work-list-card,.booking-card,.wh-stat,.wh-kpi,.finance-card,.tg-status-card,.tg-form-card,.tg-control-card) {
  background: linear-gradient(145deg, rgba(255,255,255,.025), transparent 45%), var(--ui-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 17px !important;
  box-shadow: var(--shadow) !important;
  -webkit-backdrop-filter: blur(20px) saturate(125%) !important;
  backdrop-filter: blur(20px) saturate(125%) !important;
}
html[data-console-theme] :is(.card,.page-header,.modal-content,.dropdown-menu,.context-menu,.booking-actions-menu,.toast,.popover) {
  -webkit-backdrop-filter: blur(20px) saturate(125%) !important;
  backdrop-filter: blur(20px) saturate(125%) !important;
}
html[data-console-theme] #todayScreen .today-header {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html[data-console-theme] :is(.kpi-card,.today-kpi > div) {
  border-top: 1px solid var(--ui-border) !important;
  box-shadow: var(--shadow) !important;
}
html[data-console-theme] :is(.kpi-card,.finance-kpi):nth-child(3n + 1) {
  background-image: radial-gradient(circle at 90% 5%, rgba(197,126,177,.16), transparent 46%), linear-gradient(145deg, rgba(255,255,255,.035), transparent 42%) !important;
}

html[data-console-theme] :is(.btn,button.btn,.btn--sm,.btn--xs) {
  min-height: 38px;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.055), transparent), var(--ui-button) !important;
  border-color: var(--ui-border-strong) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 6px 18px rgba(0,0,0,.15) !important;
  transition: transform 140ms ease, background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease !important;
}
html[data-console-theme] .btn:hover { transform: translateY(-1px) !important; box-shadow: inset 0 1px rgba(255,255,255,.08), 0 9px 22px rgba(0,0,0,.22) !important; }
html[data-console-theme] :is(.btn--primary,button.btn--primary) {
  color: #fff9fe !important;
  background: linear-gradient(135deg, #b779a5, #825476) !important;
  border-color: rgba(235,188,222,.38) !important;
  box-shadow: 0 10px 25px rgba(159,91,140,.28), inset 0 1px rgba(255,255,255,.22) !important;
}

html[data-console-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),select,textarea,.input) {
  min-height: 40px;
  border-radius: 11px !important;
  background: var(--ui-input) !important;
  border-color: var(--ui-input-border) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.2), 0 1px rgba(255,255,255,.025) !important;
}

html[data-console-theme] :is(.wh-tabs,.admin-settings-tabs,.works-view-switch,.work-calc-mode,.calendar-view-switch,.tabs,.finance-tabs,.bk-cat-tabs,.calendar-mode-tabs,.messenger-tabs,.loyalty-tabs) {
  padding: 4px;
  border-radius: 13px !important;
  background: var(--ui-segment) !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.4) !important;
}
html[data-console-theme] :is(.wh-tab.active,.wh-tab.is-active,.admin-settings-tab--active,.tab-btn.active,.work-calc-mode button.active,[role="tab"][aria-selected="true"]) {
  border-radius: 10px !important;
  color: var(--ui-heading) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)), var(--ui-surface-alt) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.08) !important;
}

html[data-console-theme] th { background: rgba(255,255,255,.035) !important; }
html[data-console-theme] tbody tr { transition: background-color 120ms ease !important; }
html[data-console-theme] tbody tr:hover { background: rgba(205,143,188,.075) !important; }

html[data-console-theme] .modal { -webkit-backdrop-filter: blur(10px) !important; backdrop-filter: blur(10px) !important; }
html[data-console-theme] :is(.modal-content,.work-editor-modal,.client-hub-modal,.new-work-modal) {
  background: rgba(20,17,22,.96) !important;
  border-color: var(--ui-border-strong) !important;
  border-radius: 22px !important;
  box-shadow: var(--ios-shadow-window) !important;
}
html[data-console-theme] #workEditorModal :is(.work-summary-grid,.work-live-totals,.work-editor-actions,.work-editor-side .card,.we-service-card,.we-service-card__sub,.work-exp-block,.work-order-block,.work-fin-panel) {
  background: rgba(255,255,255,.028) !important;
  border-color: var(--ui-border) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025) !important;
  border-radius: 13px;
}

html[data-console-theme] .console-theme-switcher {
  border-radius: 12px;
  background: rgba(0,0,0,.32);
  border-color: rgba(255,255,255,.1);
}
html[data-console-theme] .console-theme-option { border-radius: 9px; color: #a99fa8; }
html[data-console-theme] .console-theme-option[aria-pressed="true"] {
  color: #fff8fd;
  background: linear-gradient(135deg, rgba(174,111,156,.65), rgba(86,57,81,.72));
  border-color: rgba(233,184,221,.22);
  box-shadow: 0 5px 16px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.1);
}

/* Finance data visualisation. */
.finance-charts-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr);
  gap: 14px;
}
.finance-chart-card {
  position: relative;
  min-width: 0;
  min-height: 312px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--ui-border) !important;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.035), transparent 46%), var(--ui-surface) !important;
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(20px) saturate(125%) !important;
  backdrop-filter: blur(20px) saturate(125%) !important;
}
.finance-chart-card--trend::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 180px;
  right: -80px;
  top: -90px;
  border-radius: 50%;
  background: rgba(201,126,181,.13);
  filter: blur(38px) !important;
  pointer-events: none;
}
.finance-chart-card__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.finance-chart-card__head h3 { margin: 2px 0 0; font-size: 17px; font-weight: 650; }
.finance-chart-card__head > strong { color: var(--ui-heading); font-size: 21px; font-weight: 650; font-variant-numeric: tabular-nums; }
.finance-chart-card__eyebrow { margin: 0; color: var(--ui-dim); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.finance-line-chart { display: block; width: 100%; height: 235px; overflow: visible; }
.finance-line-chart__grid line { stroke: var(--ui-border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.finance-line-chart__area { fill: url(#financeAreaGradient); }
.finance-line-chart__line {
  fill: none;
  stroke: #e1a9d2;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: url(#financeLineGlow) !important;
}
.finance-line-chart__point { fill: #f8d5ef; stroke: #875679; stroke-width: 2; vector-effect: non-scaling-stroke; }
.finance-line-chart__labels text { fill: var(--ui-dim); font: 11px var(--ff); }
.finance-chart-card__empty { display: grid; min-height: 250px; place-items: center; color: var(--ui-muted); }
.finance-donut-wrap { display: grid; place-items: center; gap: 18px; }
.finance-donut {
  display: grid;
  place-items: center;
  width: 176px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(
    #c992bd 0 var(--donut-detailing),
    #6ea9c8 var(--donut-detailing) var(--donut-wash),
    #7d708b var(--donut-wash) var(--donut-commerce),
    #c49b5b var(--donut-commerce) 100%
  );
  box-shadow: 0 20px 45px rgba(0,0,0,.3), 0 0 35px rgba(197,126,178,.12);
}
.finance-donut::before {
  content: "";
  grid-area: 1 / 1;
  width: 112px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--ui-surface-alt);
  border: 1px solid var(--ui-border);
  box-shadow: inset 0 5px 18px rgba(0,0,0,.25);
}
.finance-donut__center { grid-area: 1 / 1; z-index: 1; display: grid; gap: 2px; text-align: center; }
.finance-donut__center strong { max-width: 102px; overflow: hidden; text-overflow: ellipsis; color: var(--ui-heading); font-size: 15px; font-variant-numeric: tabular-nums; }
.finance-donut__center span { color: var(--ui-dim); font-size: 11px; }
.finance-donut-legend { display: grid; width: 100%; gap: 4px; }
.finance-donut-legend button {
  display: grid;
  grid-template-columns: 9px minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--ui-muted);
  background: transparent;
  font: 12px var(--ff);
  text-align: left;
  cursor: pointer;
}
.finance-donut-legend button:hover { color: var(--ui-heading); border-color: var(--ui-border); background: rgba(255,255,255,.035); }
.finance-donut-legend button strong { color: var(--ui-heading); font-variant-numeric: tabular-nums; }
.finance-donut-legend i { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 10px currentColor; }
.finance-donut-legend .is-detailing { color: #c992bd; background: currentColor; }
.finance-donut-legend .is-wash { color: #6ea9c8; background: currentColor; }
.finance-donut-legend .is-commerce { color: #7d708b; background: currentColor; }
.finance-donut-legend .is-unallocated { color: #c49b5b; background: currentColor; }

html[data-console-theme] body,
html[data-console-theme] button,
html[data-console-theme] input,
html[data-console-theme] select,
html[data-console-theme] textarea { font-family: var(--ff); }
html[data-console-theme] :is(.page-title,h1,h2,h3,h4,.kpi-value,.finance-kpi__value,.finance-chart-card__head > strong) { font-family: var(--ff-heading); }
html[data-console-theme] :is(.kpi-value,.finance-kpi__value,.finance-chart-card__head > strong,.finance-donut__center strong,td) { font-variant-numeric: tabular-nums; }

@media (min-width: 769px) {
  html[data-console-theme] .main-content { width: calc(100% - 274px); }
}
@media (max-width: 1100px) and (min-width: 769px) {
  html[data-console-theme] #mainSidebar { width: 218px; }
  html[data-console-theme] .main-content { margin-left: 246px; width: calc(100% - 246px); }
}
@media (max-width: 1050px) {
  .finance-charts-grid { grid-template-columns: minmax(0,1fr); }
  .finance-chart-card--donut { min-height: 0; }
  .finance-donut-wrap { grid-template-columns: auto minmax(220px,1fr); justify-content: start; }
}
@media (max-width: 768px) {
  html[data-console-theme] #mainSidebar { top: 8px; left: 8px; bottom: 8px; height: calc(100dvh - 16px); width: min(288px,88vw); }
  html[data-console-theme] .main-content { margin-left: 0; width: 100%; padding: 72px 12px 24px; }
  html[data-console-theme] .mobile-topbar {
    margin: 8px;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 14px !important;
    background: rgba(15,12,17,.88) !important;
    -webkit-backdrop-filter: blur(22px) !important;
    backdrop-filter: blur(22px) !important;
    box-shadow: 0 12px 35px rgba(0,0,0,.4) !important;
  }
  .finance-chart-card { min-height: 0; padding: 14px; border-radius: 15px; }
  .finance-chart-card__head { align-items: center; }
  .finance-chart-card__head > strong { font-size: 17px; }
  .finance-line-chart { height: 190px; }
  .finance-donut-wrap { grid-template-columns: 1fr; }
}

/* Public links now have their own compact page in the sidebar. */
#publicServicesScreen .pub-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#publicServicesScreen .pub-service-card { padding: .9rem 1rem; }
#publicServicesScreen .pub-service-card__icon { width: 2.2rem; height: 2.2rem; margin-bottom: .45rem; }
@media (min-width: 1600px) { #publicServicesScreen .pub-services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 768px) { #publicServicesScreen .pub-services-grid { grid-template-columns: minmax(0, 1fr); } }

/* Mobile navigation: safe areas and drawer share the same width breakpoint. */
@media (max-width: 768px) {
  html.mobile-console[data-console-theme] .mobile-topbar {
    top: env(safe-area-inset-top, 0px);
    left: env(safe-area-inset-left, 0px);
    right: env(safe-area-inset-right, 0px);
    min-height: 52px;
    padding: 4px 10px;
  }
  html.mobile-console[data-console-theme] .main-content {
    padding-top: calc(76px + env(safe-area-inset-top, 0px));
  }
  html.mobile-console[data-console-theme] #mainSidebar {
    top: calc(8px + env(safe-area-inset-top, 0px));
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    height: auto;
    padding-top: 8px;
    transform: translateX(calc(-100% - 16px));
    overflow-y: auto;
    overscroll-behavior: contain;
    transition: transform 240ms ease;
  }
  html.mobile-console[data-console-theme] body.sidebar-open #mainSidebar { transform: translateX(0); }
  html.mobile-console[data-console-theme] #sidebarBackdrop:not(.hidden) { z-index: 2999; }
}
@media (prefers-reduced-motion: reduce) {
  html.mobile-console[data-console-theme] #mainSidebar,
  html.mobile-console .sidebar-backdrop { transition: none; }
}
