/* Victory workspace: one set of design tokens drives the navigation and all pages.
   The marketing site keeps its own palette. */
.workspace {
  --ink: #182b45;
  --muted: #65758b;
  --navy: #152d4b;
  --deep: #10223b;
  --cream: #f3f7fd;
  --panel: #ffffff;
  --line: #d7e3f2;
  --blue: #eaf2fe;
  --lime: #8ac2ff;
  --accent: #1959aa;
  --accent-hover: #124b91;
  --accent-soft: #e9f2ff;
  --sidebar-bg: #182d46;
  --sidebar-hover: #294464;
  --sidebar-active: #285284;
  --sidebar-line: #314963;
  --sidebar-text: #e1ebf7;
  --sidebar-muted: #b5c9de;
  --sidebar-icon: #93c5ff;
  --shadow: 0 12px 32px #142f4a0b;
  background: var(--cream);
  color: var(--ink);
}
html[data-theme="mint"] .workspace {
  --ink: #183b3f;
  --muted: #5b797b;
  --navy: #123f45;
  --deep: #0e3339;
  --cream: #f1f9f8;
  --panel: #ffffff;
  --line: #cde5e2;
  --blue: #e4f4f0;
  --lime: #92ddca;
  --accent: #087569;
  --accent-hover: #075e55;
  --accent-soft: #dff4ed;
  --sidebar-bg: #153d43;
  --sidebar-hover: #22565b;
  --sidebar-active: #17635f;
  --sidebar-line: #345b60;
  --sidebar-text: #e0f2ef;
  --sidebar-muted: #bad7d3;
  --sidebar-icon: #92ded1;
  --shadow: 0 12px 32px #154b440c;
}
html[data-theme="sand"] .workspace {
  --ink: #372e28;
  --muted: #74685f;
  --navy: #463628;
  --deep: #342920;
  --cream: #faf6ef;
  --panel: #fffdfa;
  --line: #e9dac5;
  --blue: #faecd9;
  --lime: #f4c984;
  --accent: #87521c;
  --accent-hover: #6d4015;
  --accent-soft: #fbedd7;
  --sidebar-bg: #463728;
  --sidebar-hover: #66503b;
  --sidebar-active: #76532e;
  --sidebar-line: #705947;
  --sidebar-text: #fff1e0;
  --sidebar-muted: #e3cbb4;
  --sidebar-icon: #f4c983;
  --shadow: 0 12px 32px #5a38220b;
}
html[data-theme="graphite"] .workspace {
  --ink: #242b3a;
  --muted: #687184;
  --navy: #293447;
  --deep: #202939;
  --cream: #f2f4f8;
  --panel: #ffffff;
  --line: #d9dee8;
  --blue: #ebeff7;
  --lime: #b7c7e3;
  --accent: #485d88;
  --accent-hover: #34496e;
  --accent-soft: #e9edf6;
  --sidebar-bg: #293345;
  --sidebar-hover: #3b4960;
  --sidebar-active: #435b7d;
  --sidebar-line: #48556a;
  --sidebar-text: #edf1fa;
  --sidebar-muted: #bdc9db;
  --sidebar-icon: #b7c8e3;
  --shadow: 0 12px 32px #2730490d;
}

.workspace .topbar {background: var(--panel); border-color: var(--line)}
.workspace .brand-mark, .workspace .brand-dot {background: var(--accent); color: #fff}
.workspace .brand-dot {background: none; color: var(--accent)}
.workspace .brand-tenant {color: var(--muted)}
.workspace .sidebar-header-toggle {background: var(--panel); border-color: var(--line); color: var(--accent)}
.workspace .sidebar-header-toggle:hover {background: var(--accent-soft)}
.workspace .tenant-shell > .victory-sidebar,
.workspace .tenant-shell.is-collapsed > .victory-sidebar {
  background: var(--sidebar-bg); color: var(--sidebar-text);
  border-color: var(--sidebar-line); box-shadow: var(--shadow);
}
.workspace .victory-sidebar .sidebar-control,
.workspace .victory-sidebar .sidebar-group,
.workspace .victory-sidebar .sidebar-bottom {border-color: var(--sidebar-line)}
.workspace .victory-sidebar .sidebar-control-title,
.workspace .victory-sidebar .sidebar-group summary,
.workspace .victory-sidebar .sidebar-bottom small {color: var(--sidebar-muted)}
.workspace .victory-sidebar .sidebar-toggle,
.workspace .victory-sidebar .sidebar-group summary:hover,
.workspace .victory-sidebar .sidebar-group summary:focus-visible {
  background: var(--sidebar-hover); color: var(--sidebar-text); border-color: var(--sidebar-line);
}
.workspace .victory-sidebar .sidebar-icon,
.workspace .victory-sidebar .sidebar-group-icon {color: var(--sidebar-icon)}
.workspace .victory-sidebar .sidebar-scroll {scrollbar-color: var(--sidebar-hover) transparent}
.workspace .victory-sidebar .sidebar-bottom-mark,
.workspace .victory-sidebar .sidebar-primary-action {background: var(--accent); color: #fff}
.workspace .victory-sidebar .sidebar-primary-action:hover {background: var(--accent-hover); color: #fff}
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-home,
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-group-links a {
  background: transparent; color: var(--sidebar-text); padding: 7px 10px;
  min-height: 36px; border-radius: 8px;
}
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-home:hover,
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-group-links a:hover,
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-home[aria-current="page"],
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-group-links a[aria-current="page"] {
  background: var(--sidebar-active); color: #fff;
}
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-primary-action {
  background: var(--accent); color: #fff; justify-content: center;
}
html[data-theme] .workspace .tenant-shell .victory-sidebar .sidebar-primary-action:hover {
  background: var(--accent-hover); color: #fff;
}

.workspace .page-kicker, .workspace .eyebrow,
.workspace .kpi span, .workspace .settings-feature-link,
.workspace .data-row a, .workspace .booking-inline-link,
.workspace .booking-bay-option a, .workspace .booking-day-arrows,
.workspace .booking-date-grid .calendar-date span,
.workspace .card-section a:not(.button) {color: var(--accent)}
.workspace .button:not(.button-outline):not(.button-light),
.workspace .booking-bay-option a.booking-action {
  background: var(--accent); border-color: var(--accent); color: #fff;
}
.workspace .button:not(.button-outline):not(.button-light):hover,
.workspace .booking-bay-option a.booking-action:hover {
  background: var(--accent-hover); border-color: var(--accent-hover); color: #fff;
}
.workspace .button-outline {background: transparent; border-color: var(--accent); color: var(--accent)}
.workspace .button-outline:hover {background: var(--accent); color: #fff}
.workspace .kpi, .workspace .panel, .workspace .data-card,
.workspace .form-card, .workspace .calendar-scroll,
.workspace .settings-feature, .workspace .settings-link-grid a,
.workspace .calendar-date, .workspace .card-meta,
.workspace .booking-actions > a, .workspace .booking-actions form {
  background: var(--panel); border-color: var(--line); border-radius: 12px;
  box-shadow: var(--shadow);
}
.workspace .kpi:hover, .workspace .settings-feature:hover,
.workspace .settings-link-grid a:hover, .workspace .calendar-date:hover {
  border-color: var(--accent); box-shadow: 0 12px 28px #142f4a19;
}
.workspace .kpi strong, .workspace .large-number {color: var(--navy)}
.workspace .kpi small, .workspace .empty, .workspace .back-link,
.workspace .panel-side > p {color: var(--muted)}
.workspace .settings-hero {
  background: linear-gradient(135deg, var(--accent-soft), var(--panel) 70%);
  border-color: var(--line);
}
.workspace .setup-stat {background: var(--sidebar-bg)}
.workspace .setup-stat > span, .workspace .setup-stat small {color: var(--sidebar-muted)}
.workspace .settings-feature-icon, .workspace .settings-link-grid a > span,
.workspace .settings-domain, .workspace .booking-duration,
.workspace .booking-selected-summary span,
.workspace .booking-existing summary span {
  background: var(--accent-soft); color: var(--accent);
}
.workspace .booking-selected-summary span {border-color: var(--line)}
.workspace .settings-feature:hover, .workspace .settings-link-grid a:hover {border-color: var(--accent)}
.workspace .booking-service-list > div > div,
.workspace .booking-work-list label, .workspace .calendar-chip {background: var(--panel); border-color: var(--line)}
.workspace .booking-service-list > div > div:has(input:checked),
.workspace .booking-work-list label:has(input:checked),
.workspace .booking-work-list label:hover,
.workspace .calendar-date.selected, .workspace .calendar-chip.selected {
  background: var(--accent-soft); border-color: var(--accent); color: var(--accent);
}
.workspace .booking-work-list input {accent-color: var(--accent)}
.workspace .booking-progress .active {color: var(--accent)}
.workspace .booking-progress .active b {background: var(--accent-soft); color: var(--accent)}
.workspace .field input, .workspace .field select, .workspace .field textarea,
.workspace .notice input {background: var(--panel); border-color: var(--line); color: var(--ink)}
.workspace .field input:focus, .workspace .field select:focus,
.workspace .field textarea:focus {border-color: var(--accent)}
.workspace .data-head, .workspace .order-table th,
.workspace .calendar-table thead th {background: var(--accent-soft); color: var(--accent)}
.workspace :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--accent); outline-offset: 3px;
}

/* Each employee can choose a palette without changing the organization's default. */
.workspace .account {gap: 18px}
.palette-picker {position: relative; font-size: 12px; font-weight: 750}
.palette-picker summary {
  display: flex; align-items: center; gap: 7px; cursor: pointer;
  list-style: none; border: 1px solid var(--line); border-radius: 9px;
  background: var(--panel); min-height: 38px; padding: 7px 10px;
  color: var(--ink); white-space: nowrap;
}
.palette-picker summary::-webkit-details-marker {display: none}
.palette-picker summary:hover, .palette-picker[open] summary {background: var(--accent-soft)}
.palette-caret {font-size: 16px; line-height: 1; color: var(--muted)}
.palette-current, .palette-chip, .palette-inherit {
  display: inline-block; width: 18px; height: 18px; border-radius: 6px;
  flex: none; border: 1px solid #0002;
}
.palette-chip-navy {background: linear-gradient(135deg, #182d46 50%, #2475d4 50%)}
.palette-chip-mint {background: linear-gradient(135deg, #153d43 50%, #17a797 50%)}
.palette-chip-sand {background: linear-gradient(135deg, #463728 50%, #c8873c 50%)}
.palette-chip-graphite {background: linear-gradient(135deg, #293345 50%, #8095b7 50%)}

/* Запись, оформление наряда и персональные настройки. */
.workspace .booking-journal .data-row.booking-record {
  grid-template-columns: minmax(145px, 0.85fr) minmax(250px, 2fr) minmax(105px, .65fr) minmax(245px, 1.6fr);
  gap: 18px;
}
.booking-record > div {min-width: 0}
.booking-record small {display:block; margin-top:6px; color:var(--muted); line-height:1.5}
.booking-status {display:inline-flex; width:max-content; padding:7px 10px; border-radius:100px; font-weight:700; font-size:12px; background:#e9f1ff; color:#24518c}
.booking-status-arrived {background:#e0f6e9; color:#18784c}
.booking-status-declined,.booking-status-cancelled {background:#f8e9e7; color:#ad4a43}
.booking-status-actions {display:flex; flex-wrap:wrap; gap:7px; align-items:center}
.booking-status-actions form {margin:0}
.booking-status-actions button,.booking-status-actions .booking-order-link {cursor:pointer; border-radius:8px; min-height:36px; padding:8px 11px; font-size:11px; font-weight:800; border:1px solid var(--line)}
.booking-status-actions .booking-arrived,.booking-status-actions .booking-order-link {background:var(--accent); border-color:var(--accent); color:white}
.booking-status-actions .booking-declined {background:var(--panel); color:var(--ink)}
.workspace .booking-status-actions a.booking-order-link {display:inline-flex; align-items:center; color:#fff}
.booking-status-actions a:not(.booking-order-link) {font-size:12px}
.appearance-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:860px; margin:22px 0}
.appearance-card {display:flex; align-items:center; width:100%; min-height:112px; gap:16px; text-align:left; border:1px solid var(--line); border-radius:14px; background:var(--panel); color:var(--ink); padding:20px; cursor:pointer}
.appearance-card:hover,.appearance-card.selected {border-color:var(--accent); box-shadow:0 6px 20px rgba(20,40,65,.08)}
.appearance-sample {display:block; width:48px; height:48px; border-radius:12px; flex:none}
.appearance-choice {margin-left:auto; color:var(--accent); font-size:12px; font-weight:700}
.order-summary {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:24px 0}
.order-summary .panel {min-width:0; padding:23px}
.order-summary h2 {font-size:18px; overflow-wrap:anywhere; margin:12px 0}
.order-summary p {color:var(--muted); font-size:13px; line-height:1.6; margin:5px 0}
.order-summary a {font-size:12px; font-weight:750}
.booking-order-form {padding:28px}
.booking-order-form h2 {margin:9px 0; font-size:22px}
.booking-order-works {display:grid; gap:10px; margin:24px 0}
.booking-order-work {display:grid; grid-template-columns:minmax(190px,1.7fr) minmax(100px,.55fr) minmax(150px,.7fr) minmax(150px,.7fr); gap:16px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:14px 18px; background:var(--panel)}
.booking-order-work strong,.booking-order-work small {display:block}
.booking-order-work small {color:var(--muted); margin-top:5px}
.booking-order-work .field {margin:0}
.booking-order-work input {width:100%; min-height:42px}
.booking-order-comment textarea {max-width:100%; min-height:80px}
.booking-order-footer {display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid var(--line); padding-top:20px}
.booking-order-footer span {max-width:520px; color:var(--muted); font-size:12px}
.booking-order-footer .button {min-height:50px; font-weight:800}
.booking-order-reason {grid-column:1/-1}
.booking-order-work .errorlist {color:#b13737; font-size:13px; padding-left:18px}
@media(max-width:1080px){.booking-order-work {grid-template-columns:repeat(2,minmax(0,1fr))}.booking-order-work>div:first-child {grid-column:1/-1}}
.booking-order-reason input {width:100%}
.booking-order-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0;border-top:1px solid var(--line);padding-top:17px}
.booking-order-options .help-note {grid-column:1/-1;margin:0}
.order-line-note {display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:6px}
.order-discount-breakdown {display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);margin-right:auto;text-align:right}
.order-pricing-form {display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,.6fr) auto;gap:14px;align-items:end;margin:18px 0}
.order-pricing-form .field {margin:0}
.order-conflict-page > h1 {margin:8px 0 14px}
.order-conflict-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.order-conflict-options .panel {min-width:0}
.order-conflict-options form {display:flex;flex-direction:column;gap:15px;margin-top:17px}
.order-conflict-options .button {white-space:normal;line-height:1.3;min-height:50px}
@media(max-width:1080px){.workspace .booking-journal .data-row.booking-record {grid-template-columns:170px 1fr; gap:10px 16px}.booking-journal .data-head {display:none!important}.order-summary {grid-template-columns:1fr 1fr}}
@media(max-width:680px){.workspace .booking-journal .data-row.booking-record,.order-summary,.appearance-grid,.booking-order-work,.booking-order-options,.order-pricing-form,.order-conflict-options {grid-template-columns:1fr}.booking-order-footer {align-items:stretch; flex-direction:column}.appearance-choice {margin-left:auto}}
.palette-inherit {display: grid; place-items: center; background: var(--accent-soft); color: var(--accent)}
.palette-popover {
  position: absolute; z-index: 80; top: calc(100% + 9px); right: 0;
  width: min(305px, calc(100vw - 28px)); padding: 15px;
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 14px; box-shadow: 0 18px 50px #182b4530;
}
.palette-popover p {font-size: 12px; font-weight: 800; margin: 0 0 9px}
.palette-popover form {display: grid; gap: 4px}
.palette-popover button {
  display: flex; align-items: center; gap: 11px; width: 100%; min-height: 39px;
  border: 1px solid transparent; border-radius: 8px; background: transparent;
  color: var(--ink); padding: 7px 9px; text-align: left; font-size: 12px;
}
.palette-popover button:hover, .palette-popover button[aria-current="true"] {
  background: var(--accent-soft); border-color: var(--line); color: var(--accent);
}
.palette-popover button[aria-current="true"]::after {content: '✓'; margin-left: auto; font-weight: 900}
.palette-popover small {display: block; font-size: 10px; color: var(--muted); margin: 11px 4px 1px}
@media (max-width: 700px) {
  .workspace .bar-inner {gap: 8px}
  .workspace .brand {font-size: 14px}
  .workspace .brand-mark {width: 30px; height: 30px; font-size: 18px}
  .workspace .brand-tenant {max-width: 68px}
  .workspace .sidebar-header-toggle {width: 34px; height: 34px; margin-left: 0}
  .workspace .account {gap: 9px}
  .workspace .account-name {display: none}
  .workspace .account .text-button {font-size: 11px}
  .palette-picker summary {padding: 7px 9px}
  .palette-picker summary > span:nth-child(2), .palette-caret {display: none}
  .workspace .page-header {gap: 15px}
}
/* Быстрый доступ к поддержке и непрочитанные ответы во всех палитрах. */
.workspace .victory-sidebar .sidebar-support {border-top:1px solid var(--sidebar-line);padding:7px 10px}
.workspace .victory-sidebar .sidebar-support a {display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:var(--sidebar-text);font-size:12px;text-decoration:none}
.workspace .victory-sidebar .sidebar-support a:hover,
.workspace .victory-sidebar .sidebar-support a[aria-current="page"] {background:var(--sidebar-active);color:#fff}
.workspace .victory-sidebar .sidebar-support .sidebar-unread {margin-left:auto;min-width:21px;padding:3px 6px;border-radius:15px;text-align:center;background:var(--accent);color:#fff;font-weight:800;font-size:11px}
.tenant-shell.is-collapsed .victory-sidebar .sidebar-support {padding:7px 3px}
.tenant-shell.is-collapsed .victory-sidebar .sidebar-support a {justify-content:center;gap:2px;padding:10px 2px}
.tenant-shell.is-collapsed .victory-sidebar .sidebar-support .sidebar-text {display:none}
@media(max-width:900px){.tenant-shell.is-collapsed .victory-sidebar .sidebar-support .sidebar-text{display:inline}}
