/* Панель партнёра в цветах логотипа Qozgal: один бирюзовый акцент и тёмно-синий текст.
   Подключается последним и меняет цвета через токены, разметку не трогает. */

body.partner-layout.crm-ui {
    --brand-line: linear-gradient(90deg, #7ed957, #12c2b8);
    --crm-blue: #0e7c74;
    --crm-blue-hover: #0b5c56;
    --crm-blue-soft: rgba(14, 124, 116, 0.12);
    --crm-sidebar: #fff;
    --crm-canvas: #f5f8f7;
    --crm-line: #e3ebe8;
    --crm-ink: #16233f;
    --crm-muted: #5f6b7c;
    --crm-soft: #e5f6f4;
    --crm-soft-ink: #0b5c56;
    --crm-soft-line: #9fdcd4;
    --crm-hover: #f7fbfa;
    --crm-track: #eef3f1;
    --crm-well: #f7fbfa;
    --sidebar: #fff;
    --sidebar-hover: rgba(14, 124, 116, 0.08);
    --sidebar-active: #0e7c74;
    --sidebar-active-bg: #e5f6f4;
    --sidebar-text: #3d4655;
    --sidebar-text-hover: #0b5c56;
    --sidebar-border: #e3ebe8;
    --bg: #f5f8f7;
    --surface-muted: #f5f8f7;
    --border: #e3ebe8;
    --text: #16233f;
    --text-muted: #5f6b7c;
    --primary: #0e7c74;
    --primary-hover: #0b5c56;
    --accent: #0e7c74;
    --brand-grad: #0e7c74;
    --sb-a: #0e7c74;
    --sb-b: #0e7c74;
    --sb-tile: rgba(14, 124, 116, 0.08);
    --cp-a: #0e7c74;
    --cp-b: #0e7c74;
    --cp-sales-a: #0e7c74;
    --cp-sales-b: #0e7c74;
    --sv-brand-a: #0e7c74;
    --sv-brand-b: #0e7c74;
}

html[data-theme="dark"] body.partner-layout.crm-ui {
    --crm-blue: #2dd4bf;
    --crm-blue-hover: #5eead4;
    --crm-blue-soft: rgba(45, 212, 191, 0.14);
    --crm-sidebar: #111827;
    --crm-canvas: #0b1220;
    --crm-line: #243044;
    --crm-ink: rgba(255, 255, 255, 0.92);
    --crm-muted: rgba(255, 255, 255, 0.55);
    --crm-soft: rgba(45, 212, 191, 0.14);
    --crm-soft-ink: #5eead4;
    --crm-soft-line: rgba(45, 212, 191, 0.4);
    --crm-hover: #18202c;
    --crm-track: #1b2433;
    --crm-well: #111827;
    --sidebar: #111827;
    --sidebar-hover: rgba(45, 212, 191, 0.1);
    --sidebar-active: #2dd4bf;
    --sidebar-active-bg: rgba(45, 212, 191, 0.14);
    --sidebar-text: rgba(255, 255, 255, 0.78);
    --sidebar-text-hover: #5eead4;
    --sidebar-border: #243044;
    --bg: #0b1220;
    --surface-muted: #0f1624;
    --border: #243044;
    --text: rgba(255, 255, 255, 0.92);
    --text-muted: rgba(255, 255, 255, 0.55);
    --primary: #2dd4bf;
    --primary-hover: #5eead4;
    --accent: #2dd4bf;
    --brand-grad: #2dd4bf;
    --sb-a: #2dd4bf;
    --sb-b: #2dd4bf;
    --sb-tile: rgba(45, 212, 191, 0.1);
    --cp-a: #2dd4bf;
    --cp-b: #2dd4bf;
    --cp-sales-a: #2dd4bf;
    --cp-sales-b: #2dd4bf;
    --sv-brand-a: #2dd4bf;
    --sv-brand-b: #2dd4bf;
}

/* Фирменная полоска сверху */
body.partner-layout.crm-ui::before {
    content: "";
    position: fixed;
    inset: 0 0 auto;
    z-index: 60;
    height: 3px;
    background: var(--brand-line);
    pointer-events: none;
}

/* Кнопки */
body.partner-layout.crm-ui .btn-primary,
body.partner-layout.crm-ui .btn-cta {
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: none;
}

body.partner-layout.crm-ui .btn-primary:hover,
body.partner-layout.crm-ui .btn-cta:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
}

html[data-theme="dark"] body.partner-layout.crm-ui .btn-primary,
html[data-theme="dark"] body.partner-layout.crm-ui .btn-cta {
    color: #06201d;
}

/* Меню: спокойный активный пункт и подписи групп */
body.partner-layout.crm-ui .sidebar-studio {
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.partner-layout.crm-ui .nav-label {
    margin: 14px 0 3px;
    padding: 0 10px;
    color: var(--crm-muted);
    font-size: 12px;
    font-weight: 500;
}

body.partner-layout.crm-ui .sidebar-nav > .nav-label:first-child {
    margin-top: 0;
}

body.partner-layout.crm-ui .sidebar-nav.has-custom-order .nav-label {
    display: none;
}

body.partner-layout.crm-ui .nav-item.active {
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
    box-shadow: inset 3px 0 0 #12c2b8;
}

body.partner-layout.crm-ui .nav-item.active .nav-icon-svg {
    color: inherit;
    transform: none;
}

body.partner-layout.crm-ui .nav-item.active::before,
body.partner-layout.crm-ui .nav-item.active::after {
    display: none;
}

/* Клиенты / Абонементы: обычные вкладки вместо крупных плашек */
body.partner-layout.crm-ui .crm-switch {
    display: flex;
    gap: 22px;
    margin: 0 0 14px;
    padding: 0;
    border-bottom: 1px solid var(--crm-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    animation: none;
}

body.partner-layout.crm-ui .crm-switch__tab,
body.partner-layout.crm-ui .crm-switch__tab.is-on,
body.partner-layout.crm-ui .crm-switch__tab.is-sales.is-on {
    margin-bottom: -1px;
    padding: 2px 0 10px;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    background: transparent !important;
    box-shadow: none;
    color: var(--crm-muted);
    transform: none;
}

body.partner-layout.crm-ui .crm-switch__tab.is-on,
body.partner-layout.crm-ui .crm-switch__tab.is-sales.is-on {
    border-bottom-color: var(--primary);
    color: var(--crm-ink);
}

body.partner-layout.crm-ui .crm-switch__text strong {
    color: inherit;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

body.partner-layout.crm-ui .crm-switch__icon,
body.partner-layout.crm-ui .crm-switch__text small,
body.partner-layout.crm-ui .crm-switch__glider,
body.partner-layout.crm-ui .crm-switch__lead {
    display: none;
}

/* Подпункты и подписка в меню */
body.partner-layout.crm-ui .nav-subitem.active {
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
    box-shadow: none;
}

body.partner-layout.crm-ui .nav-group.has-active > .nav-group-toggle {
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui .sidebar-studio__plan {
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui .nav-subitem.active::before {
    background: #12c2b8;
    box-shadow: none;
}

@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-switch__text strong {
        font-size: 17px;
    }
}

/* Расписание: светлые плашки, свой цвет у направления остаётся полоской слева */
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] {
    background: color-mix(in srgb, var(--sv-b) 10%, #fff) !important;
    color: var(--crm-ink) !important;
    box-shadow: inset 3px 0 0 var(--sv-b);
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"]::before {
    display: none;
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"]:not(.is-pressing):not(.is-dragging):not(.is-pending):hover,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"]:not(.is-pressing):not(.is-dragging):not(.is-pending):focus-visible {
    transform: none;
    filter: none;
    background: color-mix(in srgb, var(--sv-b) 16%, #fff) !important;
    box-shadow: inset 3px 0 0 var(--sv-b);
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"].is-open {
    box-shadow: inset 3px 0 0 var(--sv-b), 0 0 0 2px var(--sv-b);
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"] strong,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-card__name {
    color: var(--crm-ink) !important;
    font-weight: 600;
    text-shadow: none;
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-card__trainer,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] span,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] small,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-person,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-more {
    color: var(--crm-muted) !important;
    font-weight: 500;
}

html[data-theme="dark"] body.partner-layout.crm-ui .crm-week-card[class*="tone-"],
html[data-theme="dark"] body.partner-layout.crm-ui .crm-week-card[class*="tone-"]:not(.is-pressing):not(.is-dragging):not(.is-pending):hover {
    background: color-mix(in srgb, var(--sv-a) 18%, #151c2c) !important;
}

/* Журнал */
body.partner-layout.crm-ui .crm-journal-hint:empty {
    display: none;
}

/* Аналитика: белые карточки и один цвет у полосок */
body.partner-layout.crm-ui .crm-analytics__kpi[class*="tone-"] {
    border-color: var(--crm-line);
    background: var(--surface);
    box-shadow: none;
}

body.partner-layout.crm-ui .crm-analytics__kpi[class*="tone-"]::before {
    display: none;
}

body.partner-layout.crm-ui .crm-analytics__rank-bar {
    background: var(--crm-track);
}

body.partner-layout.crm-ui .crm-analytics__rank-bar i,
body.partner-layout.crm-ui .crm-analytics__rank-bar[class*="tone-"] i {
    background: var(--brand-line);
}

body.partner-layout.crm-ui .crm-analytics__bar i {
    background: var(--primary);
}

body.partner-layout.crm-ui .crm-analytics__swatch.tone-0 { background: #0e7c74; }
body.partner-layout.crm-ui .crm-analytics__swatch.tone-1 { background: #7ed957; }
body.partner-layout.crm-ui .crm-analytics__swatch.tone-2 { background: #12c2b8; }
body.partner-layout.crm-ui .crm-analytics__swatch.tone-3 { background: #e8a33d; }
body.partner-layout.crm-ui .crm-analytics__swatch.tone-4 { background: #5f6b7c; }
body.partner-layout.crm-ui .crm-analytics__swatch.tone-5 { background: #9fdcd4; }

/* Карточка клиента */
body.partner-layout.crm-ui .clients-drawer__tab--accent,
body.partner-layout.crm-ui .clients-drawer__link {
    color: var(--primary);
}

/* Расписание списком: на каждой строке спокойная кнопка */
body.partner-layout.crm-ui .page-body table:not(.clients-table) .btn-primary.btn-sm {
    border-color: var(--crm-line);
    background: var(--surface);
    color: var(--crm-ink);
}

body.partner-layout.crm-ui .page-body table:not(.clients-table) .btn-primary.btn-sm:hover {
    border-color: var(--primary);
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

/* Остатки синего и фиолетового в других разделах */
body.partner-layout.crm-ui .clients-insight__chip.is-all,
body.partner-layout.crm-ui .crm-journal-jump a.is-nearest,
body.partner-layout.crm-ui .crm-now-class__phase,
body.partner-layout.crm-ui .crm-kind-pill--group,
body.partner-layout.crm-ui .crm-rate-pill.tone-branch {
    border-color: var(--crm-soft-line);
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui .clients-insight__period.is-active {
    background: var(--primary);
}

body.partner-layout.crm-ui .crm-journal-card.is-nearest,
body.partner-layout.crm-ui .crm-now-class.is-soon {
    border-color: var(--crm-soft-line);
    background: var(--surface);
    box-shadow: none;
}

body.partner-layout.crm-ui .crm-mark.tone-upcoming {
    border-color: var(--crm-soft-line);
}

body.partner-layout.crm-ui .crm-journal-table tbody td.is-today {
    background: var(--crm-soft);
}

body.partner-layout.crm-ui [class*="crm-kpi--"] {
    border-color: var(--crm-line);
    background: var(--surface);
    box-shadow: none;
}

body.partner-layout.crm-ui [class*="crm-kpi--"]::before {
    display: none;
}

body.partner-layout.crm-ui .sv-today-col {
    background: linear-gradient(rgba(18, 194, 184, 0.08), rgba(18, 194, 184, 0.03));
}

/* Шапка таблицы прилипает под демо-полосу */
body.partner-layout.crm-demo .clients-table thead th {
    top: 48px;
}

body.partner-layout.crm-ui .crm-drawer__edit {
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

/* Постраничный список */
body.partner-layout.crm-ui .list-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    padding: 12px 4px 4px;
    color: var(--crm-muted);
    font-size: 13px;
}

body.partner-layout.crm-ui .list-pager__nav {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* Подсказка раздела: свёрнута, пока не попросят */
body.partner-layout.crm-ui .page-help {
    margin-top: 2px;
    color: var(--crm-muted);
    font-size: 13px;
}

body.partner-layout.crm-ui .page-help > summary {
    display: inline-block;
    list-style: none;
    cursor: pointer;
    color: var(--primary);
    font-weight: 500;
}

body.partner-layout.crm-ui .page-help > summary::-webkit-details-marker {
    display: none;
}

body.partner-layout.crm-ui .page-help__body {
    max-width: 680px;
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid var(--crm-line);
    border-radius: 10px;
    background: var(--surface);
    line-height: 1.45;
}

body.partner-layout.crm-ui .page-help__body p {
    margin: 0 0 6px;
}

body.partner-layout.crm-ui .page-help__body a {
    color: var(--primary);
    font-weight: 500;
}

/* Телефон: расписание раньше, настройки компактнее */
@media (max-width: 760px) {
    body.partner-layout.crm-ui .page-header h1 {
        display: none;
    }

    body.partner-layout.crm-ui .crm-schedule-toolbar {
        gap: 8px;
        padding: 8px;
    }

    body.partner-layout.crm-ui .crm-schedule-toolbar .crm-week-range {
        font-size: 14px;
    }

    body.partner-layout.crm-ui .crm-schedule-filters {
        gap: 6px;
        margin-bottom: 6px;
    }

    body.partner-layout.crm-ui .crm-schedule-filters .crm-sheet-select,
    body.partner-layout.crm-ui .crm-schedule-filters .crm-sheet-search input {
        height: 34px;
        min-height: 0;
        font-size: 13px;
    }

    body.partner-layout.crm-ui .crm-mark-summary {
        flex-wrap: nowrap;
        gap: 10px;
        overflow-x: auto;
        padding: 8px 10px;
        white-space: nowrap;
        font-size: 12.5px;
        scrollbar-width: none;
    }

    body.partner-layout.crm-ui .crm-mark-summary__title {
        display: none;
    }
}

@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-trainer-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.partner-layout.crm-ui .crm-trainer-filters > * {
        flex: 0 0 auto;
    }
}

body.partner-layout.crm-ui .crm-trainer-chip.is-on,
body.partner-layout.crm-ui .crm-view-tab.is-on,
body.partner-layout.crm-ui .crm-schedule-toolbar [class*="is-on"],
body.partner-layout.crm-ui .crm-schedule-toolbar [class*="is-active"] {
    box-shadow: none;
}

@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-mark-summary > span:nth-child(2) {
        display: none;
    }
}

body.partner-layout.crm-ui .crm-view-switch a.is-active,
body.partner-layout.crm-ui .crm-view-switch button.is-active {
    box-shadow: none;
}

/* Телефон: линии сетки тянутся на всю неделю, а не на ширину экрана */
@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-week--grid .crm-week-head,
    body.partner-layout.crm-ui .crm-week--grid .crm-week-body {
        width: max-content;
        min-width: 100%;
    }

    /* Неделя: 36px времени и семь дней по 104px, иначе карточки раздувают столбцы */
    body.partner-layout.crm-ui .crm-week--grid:not(.crm-day-grid) .crm-week-head,
    body.partner-layout.crm-ui .crm-week--grid:not(.crm-day-grid) .crm-week-body {
        width: 764px;
    }

    body.partner-layout.crm-ui .crm-week--grid:not(.crm-day-grid) .crm-week-body {
        background-size: 104px 36px;
        background-position: 36px 0;
    }
}

/* Пробные и старые клиенты: прежний малиновый акцент заменён фирменным */
body.partner-layout.crm-ui .trial-sheet__branches a.is-on {
    background: var(--primary);
    border-color: var(--primary);
}

body.partner-layout.crm-ui .trial-branch-lock {
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-branch {
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-sheet__save {
    border: 1px solid var(--crm-line);
}

body.partner-layout.crm-ui .trial-helper {
    border: 1px solid var(--crm-line);
    background: var(--crm-soft);
}

body.partner-layout.crm-ui .trial-helper b {
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-mail__form button {
    background: var(--primary);
}

body.partner-layout.crm-ui .trial-sheet__table input:focus {
    border-color: var(--primary);
}

body.partner-layout.crm-ui .trial-pill:focus {
    outline: 2px solid var(--primary);
}

body.partner-layout.crm-ui .trial-pill.is-membership {
    background-color: var(--primary);
}

body.partner-layout.crm-ui .trial-add-btn {
    background: var(--primary);
}

body.partner-layout.crm-ui .trial-sheet .trial-num--new {
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-filters {
    border: 1px solid var(--crm-line);
}

body.partner-layout.crm-ui .trial-filters__reset {
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-card-btn {
    border: 1px solid var(--crm-line);
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-card-btn:hover {
    background: var(--primary);
    border-color: var(--primary);
}

body.partner-layout.crm-ui .trial-mini.is-membership {
    background: var(--primary);
}

body.partner-layout.crm-ui .legacy-mode__choice:has(input:checked) {
    border-color: var(--primary);
    background: var(--crm-soft);
}

body.partner-layout.crm-ui .legacy-guide__num {
    background: var(--primary);
}

body.partner-layout.crm-ui .trial-sheet__scroll-hint {
    color: var(--primary);
}

body.partner-layout.crm-ui .trial-sheet__table th,
body.partner-layout.crm-ui .trial-sheet .trial-sheet__table th,
body.partner-layout.crm-ui .trial-sheet .trial-sheet__table thead th.trial-col-num {
    background: var(--crm-track);
    color: var(--crm-ink);
}

body.partner-layout.crm-ui .trial-sheet__scroll-hint {
    color: var(--crm-muted);
}

body.partner-layout.crm-ui .alert-info {
    border-color: var(--crm-soft-line);
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui .alert-info strong {
    color: inherit;
}

body.partner-layout.crm-ui input[type="radio"],
body.partner-layout.crm-ui input[type="checkbox"] {
    accent-color: var(--primary);
}

/* Ресепшен: те же цвета через его токены */
body.partner-layout.crm-ui.desk-app {
    --desk-green: #0e7c74;
    --desk-ink: #16233f;
    --desk-muted: #5f6b7c;
    --desk-line: #e3ebe8;
}

html[data-theme="dark"] body.partner-layout.crm-ui.desk-app {
    --desk-green: #2dd4bf;
    --desk-ink: rgba(255, 255, 255, 0.92);
    --desk-muted: rgba(255, 255, 255, 0.55);
    --desk-line: #243044;
}

/* Ресепшен: широкие страницы, тёмные акценты и подсказки */
body.partner-layout.crm-ui .desk-checkin-hint {
    display: none;
}

body.partner-layout.crm-ui.desk-app .desk-tab.is-on,
body.partner-layout.crm-ui.desk-app .desk-steps li.is-on {
    border-color: var(--primary);
    background: var(--primary);
}

body.partner-layout.crm-ui.desk-app .desk-steps li.is-on span {
    color: var(--primary);
}

body.partner-layout.crm-ui.desk-app .desk-btn--cta,
body.partner-layout.crm-ui.desk-app .desk-btn {
    box-shadow: none;
}

/* Статусы и метки без синего */
body.partner-layout.crm-ui .crm-status-pill--new,
body.partner-layout.crm-ui .crm-chip.is-qr {
    border-color: var(--crm-soft-line);
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui .crm-status-pill--new .crm-status-dd__caret {
    border-top-color: var(--crm-soft-ink);
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui .crm-mark.tone-qr {
    background: var(--primary);
}

body.partner-layout.crm-ui.desk-app .desk-main:has(.clients-sheet--desk, .crm-week, .crm-journal, .crm-mark-summary) {
    width: 100%;
}

body.partner-layout.crm-ui.desk-app .desk-steps li:not(.is-on) {
    background: var(--crm-track);
}

body.partner-layout.crm-ui.desk-app .desk-pill.trial,
body.partner-layout.crm-ui.desk-app .desk-pill.single {
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

body.partner-layout.crm-ui.desk-app .legacy-mode__choice input[type="radio"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0 0 4px;
    align-self: flex-start;
}

@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-week-nav {
        flex-wrap: wrap;
    }

    body.partner-layout.crm-ui .crm-week-range {
        flex: 1 1 auto;
        min-width: max-content;
        text-align: center;
        white-space: nowrap;
    }

    body.partner-layout.crm-ui .crm-week-nav .crm-week-today {
        order: 3;
    }
}

body.partner-layout.crm-ui.desk-app .desk-pill.soon {
    background: var(--crm-soft);
    color: var(--crm-soft-ink);
}

@media (max-width: 760px) {
    /* День: длинное имя тренера не должно раздувать столбец в шапке */
    body.partner-layout.crm-ui .crm-day-grid .crm-week-head > * {
        contain: inline-size;
        overflow: hidden;
    }
}

@media (max-width: 760px) {
    /* Столбец времени остаётся поверх карточек при прокрутке вбок */
    body.partner-layout.crm-ui .crm-week--grid .crm-week-time {
        z-index: 6;
        background: var(--surface);
    }
}

/* Карточка занятия на телефоне: кнопка «Сохранить» уезжала за край экрана */
@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-drawer__actions {
        flex-wrap: nowrap;
    }

    body.partner-layout.crm-ui .crm-drawer__actions .crm-save-hint {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    /* Журнал: список групп не шире блока */
    body.partner-layout.crm-ui .crm-sheet-toolbar > * {
        min-width: 0;
        max-width: 100%;
    }

    body.partner-layout.crm-ui .crm-sheet-toolbar .crm-sheet-select {
        width: 100%;
        min-width: 0;
    }

    /* Карточка клиента на ресепшене: название абонемента целиком */
    body.partner-layout.crm-ui.desk-app .desk-row {
        flex-wrap: wrap;
    }

    body.partner-layout.crm-ui.desk-app .desk-row-main {
        flex: 1 1 100%;
        min-width: 0;
    }

    body.partner-layout.crm-ui.desk-app .desk-row-main strong {
        overflow: visible;
        white-space: normal;
    }
}

body.partner-layout.crm-ui .crm-step__num {
    background: var(--primary);
    box-shadow: none;
}

/* Дни недели в форме группы: галочка рядом с названием дня */
body.partner-layout.crm-ui .partner-form #id_days > div {
    display: inline-block;
    margin: 0 14px 6px 0;
}

body.partner-layout.crm-ui .partner-form label[for^="id_days_"] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-weight: 500;
    cursor: pointer;
}

body.partner-layout.crm-ui .partner-form input[name="days"] {
    flex: 0 0 16px;
    width: 16px;
    min-width: 0;
    height: 16px;
    min-height: 0;
    margin: 0;
}

/* Ресепшен: страницы от края, как шапка смены; формы уже */
body.partner-layout.crm-ui.desk-app .desk-main {
    width: 100%;
    margin: 0;
}

body.partner-layout.crm-ui.desk-app .desk-main:has(#desk-client-new-form, .partner-form, #desk-sale-form, .desk-close-form, .desk-qr-actions) {
    max-width: 860px;
}

body.partner-layout.crm-ui.desk-app .desk-stats {
    margin-bottom: 14px;
}

body.partner-layout.crm-ui.desk-app .crm-schedule-head .desk-btn,
body.partner-layout.crm-ui.desk-app .desk-qr-actions .desk-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* QR: адрес по центру под кодом */
body.partner-layout.crm-ui.desk-app p:has(> .url-cell) {
    text-align: center;
}

body.partner-layout.crm-ui.desk-app .url-cell {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Галочка «Активен» рядом с подписью */
body.partner-layout.crm-ui .partner-form :has(> #id_is_active) {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.partner-layout.crm-ui .partner-form #id_is_active {
    flex: 0 0 16px;
    width: 16px;
    min-width: 0;
    height: 16px;
    min-height: 0;
    margin: 0;
}

body.partner-layout.crm-ui .crm-drawer-add__toggle {
    color: var(--primary);
}

/* Фильтр направлений во «Входе по QR» выглядел обычным текстом */
body.partner-layout.crm-ui .crm-board__select:not(.crm-board__more *) select {
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--crm-line);
    border-radius: 8px;
    background-color: var(--surface);
}

@media (max-width: 760px) {
    body.partner-layout.crm-ui .crm-sheet-filters > form {
        flex: 1 1 100%;
        min-width: 0;
    }

    body.partner-layout.crm-ui .crm-sheet-filters .crm-sheet-select {
        width: 100%;
        min-width: 0;
    }

    /* Пробные: плитки одного размера */
    body.partner-layout.crm-ui .trial-sheet__stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.partner-layout.crm-ui .trial-sheet__stats .trial-stat {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

/* Сетка расписания: спокойные карточки в стиле таблиц панели */
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"] {
    border: 0 !important;
    border-radius: 8px;
    padding: 6px 8px 6px 11px;
}

body.partner-layout.crm-ui .crm-week-day.is-today b,
body.partner-layout.crm-ui .crm-week-day.is-today:hover b {
    background: var(--primary);
    box-shadow: none;
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-mark,
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-trial {
    height: 17px;
    margin-top: 3px;
    padding: 0 6px;
    box-shadow: none;
    font-size: 10.5px;
    font-weight: 600;
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-mark.is-wait {
    animation: none;
}

/* Занятия в одно время стоят рядом: текст переносится, а не обрезается на полуслове */
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"]:not([style*="--lanes: 1;"]) {
    padding: 5px 4px 5px 8px;
}

body.partner-layout.crm-ui .crm-week--grid .crm-week-card:not([style*="--lanes: 1;"]) .crm-week-card__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 12px;
    line-height: 1.2;
    hyphens: auto;
    overflow-wrap: break-word;
    white-space: normal;
}

body.partner-layout.crm-ui .crm-week--grid .crm-week-card:not([style*="--lanes: 1;"]) .crm-week-card__trainer {
    font-size: 11px;
}

body.partner-layout.crm-ui .crm-week--grid .crm-week-card:not([style*="--lanes: 1;"]) .crm-week-card__meta {
    font-size: 10.5px;
    line-height: 1.25;
    white-space: normal;
}

/* Три и больше рядом: только название и отметка, остальное в окне занятия */
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 3"] .crm-week-card__name,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 4"] .crm-week-card__name,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 5"] .crm-week-card__name {
    font-size: 11px;
}

body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"][style*="--lanes: 3"],
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"][style*="--lanes: 4"],
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"][style*="--lanes: 5"] {
    padding: 4px 2px 4px 7px;
}


body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 3"] .crm-week-card__trainer,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 3"] .crm-week-card__meta,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 4"] .crm-week-card__trainer,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 4"] .crm-week-card__meta,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 5"] .crm-week-card__trainer,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 5"] .crm-week-card__meta {
    display: none;
}

body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 3"] .crm-week-mark,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 4"] .crm-week-mark,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[style*="--lanes: 5"] .crm-week-mark {
    padding: 0 4px;
    font-size: 10px;
}

@media (max-width: 760px) {
    /* Шире дни, чтобы текст читался; прокрутка вбок остаётся */
    body.partner-layout.crm-ui .crm-week--grid:not(.crm-day-grid) .crm-week-head,
    body.partner-layout.crm-ui .crm-week--grid:not(.crm-day-grid) .crm-week-body {
        grid-template-columns: 36px repeat(7, 150px);
        width: 1086px;
    }

    body.partner-layout.crm-ui .crm-week--grid:not(.crm-day-grid) .crm-week-body {
        background-size: 150px 36px;
    }

    /* Отступ по дорожке: без него занятие ложилось поверх соседнего */
    body.partner-layout.crm-ui .crm-week--grid .crm-week-card {
        width: calc(100% / var(--lanes, 1) - 5px);
        margin: 2px 0 2px calc(var(--lane, 0) * (100% / var(--lanes, 1)) + 3px);
    }
}

body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-mark .crm-week-mark__word {
    margin: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    white-space: pre;
}

/* В обычной карточке слово видно и на телефоне, в трёх рядом только число */
body.partner-layout.crm-ui .crm-week-card[class*="tone-"] .crm-week-mark .crm-week-mark__word {
    display: inline !important;
}

body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"][style*="--lanes: 3"] .crm-week-mark .crm-week-mark__word,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"][style*="--lanes: 4"] .crm-week-mark .crm-week-mark__word,
body.partner-layout.crm-ui .crm-week--grid .crm-week-card[class*="tone-"][style*="--lanes: 5"] .crm-week-mark .crm-week-mark__word {
    display: none !important;
}
