/**
 * =========================================================
 * YUMBAKER: Booking Service public styles 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - оформить пошаговую гостевую форму бронирования и панель менеджера
 * - использовать реальную цветовую схему YUMBAKER из Custom CSS
 * - держать цвета через токены --yb-* без отдельной чужой палитры
 * =========================================================
 */

.ybs-card,
.ybs-booking-button {
    --ybs-surface: var(--yb-cream-light);
    --ybs-surface-soft: var(--yb-cream);
    --ybs-card-bg: var(--yb-card-bg, var(--yb-cream-dark));
    --ybs-text: var(--yb-text, var(--yb-graphite));
    --ybs-text-muted: var(--yb-text-secondary, rgba(51, 51, 51, 0.58));
    --ybs-text-tertiary: var(--yb-text-tertiary, rgba(51, 51, 51, 0.46));
    --ybs-accent: var(--yb-accent);
    --ybs-accent-hover: var(--yb-accent-hover, var(--yb-accent-dark));
    --ybs-matcha: var(--yb-matcha);
    --ybs-matcha-soft: color-mix(in srgb, var(--yb-matcha) 14%, var(--yb-cream-light));
    --ybs-danger: var(--yb-accent);
    --ybs-danger-soft: color-mix(in srgb, var(--yb-accent) 12%, var(--yb-cream-light));
    --ybs-border: color-mix(in srgb, var(--yb-graphite) 10%, transparent);
    --ybs-border-strong: var(--yb-field-border, color-mix(in srgb, var(--yb-graphite) 12%, transparent));
    --ybs-border-focus: var(--yb-field-border-focus, color-mix(in srgb, var(--yb-accent) 34%, transparent));
    --ybs-focus-shadow: var(--yb-field-focus-shadow, color-mix(in srgb, var(--yb-accent) 10%, transparent));
    --ybs-radius-card: var(--yb-radius-card, 24px);
    --ybs-radius-mobile: var(--yb-radius-mobile, 20px);
    --ybs-shadow: var(--yb-shadow, 0 8px 24px rgba(0, 0, 0, 0.12));
    --ybs-button-shadow: var(--yb-button-shadow, 0 6px 14px rgba(0, 0, 0, 0.16));
}

.ybs-card {
    max-width: 960px;
    margin: 32px auto;
    padding: 28px;
    border: 1px solid color-mix(in srgb, var(--yb-accent) 14%, transparent);
    border-radius: var(--ybs-radius-card);
    background: var(--ybs-surface-soft);
    color: var(--ybs-text);
    box-shadow: var(--ybs-shadow);
    box-sizing: border-box;
}

.ybs-card h2,
.ybs-card h3 {
    margin-top: 0;
    color: var(--ybs-accent);
    font-weight: 500;
    letter-spacing: -0.01em;
}

.ybs-kicker {
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ybs-text-muted);
}

.ybs-muted {
    color: var(--ybs-text-muted);
}

.ybs-card form {
    display: grid;
    gap: 16px;
}

.ybs-card label {
    display: grid;
    gap: 6px;
    color: var(--ybs-text-muted);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
}

.ybs-card input,
.ybs-card select,
.ybs-card textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid var(--ybs-border-strong);
    border-radius: 12px;
    background: var(--yb-field-bg, var(--yb-cream-light));
    color: var(--ybs-text);
    font-size: 16px;
    line-height: 1.35;
    box-sizing: border-box;
    outline: none;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.ybs-card input:hover,
.ybs-card select:hover,
.ybs-card textarea:hover {
    border-color: var(--yb-field-border-hover, color-mix(in srgb, var(--yb-graphite) 20%, transparent));
}

.ybs-card input:focus,
.ybs-card select:focus,
.ybs-card textarea:focus {
    border-color: var(--ybs-border-focus);
    box-shadow: 0 0 0 2px var(--ybs-focus-shadow);
}

.ybs-card input::placeholder,
.ybs-card textarea::placeholder {
    color: var(--ybs-text-tertiary);
}

.ybs-card textarea {
    min-height: 108px;
    resize: vertical;
}

.ybs-card button,
.ybs-booking-button {
    min-height: 52px;
    padding: 14px 22px;
    border: 0;
    border-radius: 12px;
    background: var(--ybs-accent);
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    box-shadow: var(--ybs-button-shadow);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, opacity 0.18s ease;
}

.ybs-card button:hover,
.ybs-booking-button:hover {
    background: var(--ybs-accent-hover);
    color: #ffffff !important;
    opacity: 0.96;
    transform: translateY(-1px);
    text-decoration: none !important;
}

.ybs-card button:active,
.ybs-booking-button:active {
    transform: translateY(0);
}

.ybs-check {
    display: flex !important;
    align-items: center;
    gap: 10px !important;
    font-weight: 500 !important;
    color: var(--ybs-text) !important;
}

.ybs-check input {
    width: auto;
    min-height: auto;
}

.ybs-hp {
    display: none !important;
}

.ybs-progress {
    display: flex;
    gap: 10px;
    margin: 18px 0 8px;
}

.ybs-progress span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--yb-accent) 20%, transparent);
    background: var(--ybs-card-bg);
    color: var(--ybs-accent);
    font-weight: 500;
    opacity: 0.48;
}

.ybs-progress span.is-active {
    opacity: 1;
    background: var(--ybs-accent);
    border-color: var(--ybs-accent);
    color: #ffffff;
}

.ybs-step {
    display: none;
    gap: 16px;
}

.ybs-step.is-active {
    display: grid;
}

.ybs-selected-venue,
.ybs-notice,
.ybs-success,
.ybs-error {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--yb-accent) 12%, transparent);
    background: color-mix(in srgb, var(--yb-accent) 8%, var(--yb-cream-light));
    color: var(--ybs-text);
}

.ybs-success {
    border-color: color-mix(in srgb, var(--yb-matcha) 22%, transparent);
    background: var(--ybs-matcha-soft);
}

.ybs-error {
    border-color: color-mix(in srgb, var(--yb-accent) 22%, transparent);
    background: var(--ybs-danger-soft);
}

.ybs-selected-venue span {
    display: block;
    margin-top: 4px;
    color: var(--ybs-text-muted);
}

.ybs-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    min-height: 56px;
    align-items: center;
}

.ybs-slot {
    min-height: 42px !important;
    padding: 9px 16px !important;
    background: var(--ybs-card-bg) !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent) 14%, transparent) !important;
    color: var(--ybs-accent) !important;
    box-shadow: none !important;
}

.ybs-slot:hover {
    background: color-mix(in srgb, var(--yb-accent) 10%, var(--yb-cream-light)) !important;
    color: var(--ybs-accent) !important;
}

.ybs-slot.is-selected {
    background: var(--ybs-accent) !important;
    border-color: var(--ybs-accent) !important;
    color: #ffffff !important;
}

.ybs-filter {
    display: grid;
    grid-template-columns: 1fr 220px auto;
    align-items: end;
    gap: 12px;
}

.ybs-table-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.ybs-table-card {
    padding: 16px;
    border-radius: 18px;
    background: var(--ybs-card-bg);
    border: 1px solid var(--ybs-border);
    display: grid;
    gap: 7px;
}

.ybs-table-card.is-busy {
    background: color-mix(in srgb, var(--yb-accent) 8%, var(--yb-cream-light));
    border-color: color-mix(in srgb, var(--yb-accent) 18%, transparent);
}

.ybs-table-card.is-free {
    background: var(--ybs-matcha-soft);
    border-color: color-mix(in srgb, var(--yb-matcha) 18%, transparent);
}

.ybs-table-card form {
    display: grid;
    gap: 8px;
}

.ybs-list {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    overflow-x: auto;
}

.ybs-list th,
.ybs-list td {
    padding: 10px;
    border-bottom: 1px solid var(--ybs-border);
    color: var(--ybs-text);
    text-align: left;
    vertical-align: top;
}

.ybs-list th {
    color: var(--ybs-text-muted);
    font-size: 13px;
    font-weight: 500;
}

.ybs-status {
    display: inline-flex;
    padding: 4px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--yb-accent) 10%, var(--yb-cream-light));
    color: var(--ybs-accent);
    font-size: 12px;
    font-weight: 500;
}

@media (max-width: 720px) {
    .ybs-card {
        margin: 16px;
        padding: 20px;
        border-radius: var(--ybs-radius-mobile);
    }

    .ybs-filter {
        grid-template-columns: 1fr;
    }

    .ybs-list {
        display: block;
        white-space: nowrap;
    }

    .ybs-card button,
    .ybs-booking-button {
        width: 100%;
        min-height: 52px;
        border-radius: 14px;
        font-size: 15px;
    }
}


/**
 * =========================================================
 * YUMBAKER: Booking venue choice cards 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - не зависеть от native select, который тема может переоформлять на фронте
 * - сделать выбор заведения одинаковым в редакторе и на публичной странице
 * - сохранить фирменные токены YUMBAKER
 * =========================================================
 */

.ybs-choice-field {
    display: grid;
    gap: 10px;
}

.ybs-choice-label {
    color: var(--ybs-text-muted);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
}

.ybs-choice-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.ybs-choice-card {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 72px;
    padding: 14px 16px !important;
    border: 1px solid var(--ybs-border-strong) !important;
    border-radius: 16px !important;
    background: var(--yb-field-bg, var(--yb-cream-light)) !important;
    color: var(--ybs-text) !important;
    text-align: left;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.ybs-choice-card strong {
    display: block;
    margin: 0;
    color: var(--ybs-text) !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
}

.ybs-choice-card span {
    display: block;
    margin-top: 4px;
    color: var(--ybs-text-muted) !important;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.ybs-choice-card:hover {
    border-color: var(--yb-accent, #963641) !important;
    transform: translateY(-1px);
}

.ybs-choice-card.is-selected {
    border-color: var(--yb-accent, #963641) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 8%, var(--yb-cream-light, #FFFDF8)) !important;
    box-shadow: 0 0 0 2px var(--ybs-focus-shadow) !important;
}

.ybs-choice-card.is-selected strong {
    color: var(--yb-accent, #963641) !important;
}

@media (max-width: 767px) {
    .ybs-choice-list {
        grid-template-columns: 1fr;
    }

    .ybs-choice-card {
        min-height: 64px;
        border-radius: 14px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking inline calendar and table type cards 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - убрать native date/select UI, который по-разному работает в теме и редакторе
 * - дать открытую дату сразу в форме без системного popup-календаря
 * - сделать тип стола таким же надёжным выбором, как заведение
 * =========================================================
 */

.ybs-choice-list--compact {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.ybs-choice-list--compact .ybs-choice-card {
    min-height: 62px;
}

.ybs-inline-calendar {
    width: 100%;
    max-width: 560px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 14%, transparent);
    border-radius: 20px;
    background: var(--yb-field-bg, var(--yb-cream-light, #FFFDF8));
    box-sizing: border-box;
}

.ybs-calendar-head {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.ybs-calendar-head strong {
    color: var(--yb-accent, #963641);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-transform: capitalize;
}

.ybs-calendar-nav {
    width: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 45%, transparent) !important;
    color: #ffffff !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.ybs-calendar-nav:hover {
    background: color-mix(in srgb, var(--yb-accent, #963641) 62%, transparent) !important;
}

.ybs-calendar-week,
.ybs-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.ybs-calendar-week {
    margin-bottom: 8px;
}

.ybs-calendar-week span {
    color: var(--yb-accent, #963641);
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

.ybs-calendar-day {
    aspect-ratio: 1 / 1;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: var(--yb-card-bg, var(--yb-cream-dark, #F3EDE2)) !important;
    color: var(--yb-accent, #963641) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.ybs-calendar-day:hover:not(:disabled) {
    background: color-mix(in srgb, var(--yb-accent, #963641) 15%, var(--yb-cream-light, #FFFDF8)) !important;
    color: var(--yb-accent, #963641) !important;
    transform: none !important;
}

.ybs-calendar-day.is-muted {
    opacity: 0.42;
}

.ybs-calendar-day.is-today:not(.is-selected) {
    border-color: var(--yb-accent, #963641) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
}

.ybs-calendar-day.is-selected {
    background: var(--yb-accent, #963641) !important;
    border-color: var(--yb-accent, #963641) !important;
    color: #ffffff !important;
}

.ybs-calendar-day.is-disabled,
.ybs-calendar-day:disabled {
    cursor: not-allowed !important;
    opacity: 0.24;
    background: color-mix(in srgb, var(--yb-graphite, #333333) 7%, var(--yb-cream-light, #FFFDF8)) !important;
    color: var(--yb-graphite, #333333) !important;
}

@media (max-width: 767px) {
    .ybs-inline-calendar {
        max-width: none;
        padding: 12px;
        border-radius: 18px;
    }

    .ybs-calendar-head {
        grid-template-columns: 36px 1fr 36px;
    }

    .ybs-calendar-head strong {
        font-size: 16px;
    }

    .ybs-calendar-nav {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 24px !important;
    }

    .ybs-calendar-week,
    .ybs-calendar-grid {
        gap: 4px;
    }

    .ybs-calendar-week span {
        font-size: 12px;
    }

    .ybs-calendar-day {
        font-size: 14px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking Service visual polish v0.4.2 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - сделать checkbox круглыми и крупнее
 * - уменьшить desktop-календарь, не трогая мобильный размер
 * - вернуть контраст невыбранным датам и слотам времени
 * - перебить базовый цвет button внутри формы
 * =========================================================
 */

.ybs-card input[type="checkbox"] {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    margin: 0 12px 0 0 !important;
    border: 2px solid color-mix(in srgb, var(--yb-accent, #963641) 42%, var(--yb-graphite, #333333) 0%) !important;
    border-radius: 999px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    box-shadow: none !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    display: inline-grid !important;
    place-content: center;
    vertical-align: middle;
}

.ybs-card input[type="checkbox"]::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 999px;
    transform: scale(0);
    background: var(--yb-accent, #963641);
    transition: transform 0.14s ease;
}

.ybs-card input[type="checkbox"]:checked {
    border-color: var(--yb-accent, #963641) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
}

.ybs-card input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.ybs-card label:has(input[type="checkbox"]) {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 0;
    color: var(--yb-text, var(--yb-graphite, #333333));
    font-size: 16px;
    line-height: 1.35;
}

@media (min-width: 768px) {
    .ybs-inline-calendar {
        max-width: 430px;
        padding: 12px;
        border-radius: 18px;
    }

    .ybs-calendar-head {
        grid-template-columns: 36px 1fr 36px;
        gap: 8px;
        margin-bottom: 10px;
    }

    .ybs-calendar-head strong {
        font-size: 16px;
    }

    .ybs-calendar-nav {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 24px !important;
    }

    .ybs-calendar-week,
    .ybs-calendar-grid {
        gap: 5px;
    }

    .ybs-calendar-day {
        font-size: 14px !important;
    }
}

.ybs-card button.ybs-calendar-day {
    background: var(--yb-cream-dark, #F3EDE2) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 16%, transparent) !important;
    color: var(--yb-graphite, #333333) !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

.ybs-card button.ybs-calendar-day:hover:not(:disabled) {
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #FFFDF8)) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 38%, transparent) !important;
    color: var(--yb-accent, #963641) !important;
}

.ybs-card button.ybs-calendar-day.is-muted {
    background: color-mix(in srgb, var(--yb-cream-dark, #F3EDE2) 60%, var(--yb-cream-light, #FFFDF8)) !important;
    color: color-mix(in srgb, var(--yb-graphite, #333333) 42%, transparent) !important;
    opacity: 1 !important;
}

.ybs-card button.ybs-calendar-day.is-today:not(.is-selected) {
    border-color: var(--yb-accent, #963641) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    color: var(--yb-accent, #963641) !important;
}

.ybs-card button.ybs-calendar-day.is-selected {
    background: var(--yb-accent, #963641) !important;
    border-color: var(--yb-accent, #963641) !important;
    color: #ffffff !important;
}

.ybs-card button.ybs-calendar-day.is-disabled,
.ybs-card button.ybs-calendar-day:disabled {
    background: color-mix(in srgb, var(--yb-graphite, #333333) 5%, var(--yb-cream-light, #FFFDF8)) !important;
    border-color: color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
    color: color-mix(in srgb, var(--yb-graphite, #333333) 30%, transparent) !important;
    opacity: 1 !important;
}

.ybs-card button.ybs-slot {
    background: var(--yb-cream-dark, #F3EDE2) !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 22%, transparent) !important;
    color: var(--yb-accent, #963641) !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.ybs-card button.ybs-slot:hover {
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #FFFDF8)) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 42%, transparent) !important;
    color: var(--yb-accent, #963641) !important;
    transform: none !important;
}

.ybs-card button.ybs-slot.is-selected {
    background: var(--yb-accent, #963641) !important;
    border-color: var(--yb-accent, #963641) !important;
    color: #ffffff !important;
}

/**
 * =========================================================
 * YUMBAKER: Booking desktop step layout polish v0.4.3 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - сделать настольную версию шага даты чище и компактнее
 * - поставить календарь и выбор типа стола в две понятные колонки
 * - убрать ощущение растянутой формы с пустым пространством справа
 * =========================================================
 */

@media (min-width: 900px) {
    .ybs-card.ybs-booking-form {
        max-width: 1040px;
        padding: 32px 34px;
    }

    .ybs-booking-form .ybs-progress {
        margin: 20px 0 14px;
    }

    .ybs-booking-form .ybs-step[data-step="2"].is-active {
        display: grid;
        grid-template-columns: 430px minmax(0, 1fr);
        column-gap: 32px;
        row-gap: 18px;
        align-items: start;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > h3 {
        grid-column: 1 / -1;
        margin: 0 0 6px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field {
        grid-column: 1;
        grid-row: 2;
        max-width: 430px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar {
        max-width: 430px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > .ybs-choice-field:not(.ybs-calendar-field) {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact .ybs-choice-card {
        min-height: 76px;
        padding: 18px 20px !important;
        border-radius: 18px !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact .ybs-choice-card strong {
        font-size: 15px;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact .ybs-choice-card span {
        max-width: 340px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev] {
        grid-column: 1;
        grid-row: 3;
        background: transparent !important;
        border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 28%, transparent) !important;
        color: var(--yb-accent, #963641) !important;
        box-shadow: none !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev]:hover {
        background: color-mix(in srgb, var(--yb-accent, #963641) 8%, var(--yb-cream-light, #FFFDF8)) !important;
        color: var(--yb-accent, #963641) !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
        grid-column: 2;
        grid-row: 3;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev],
    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
        width: 100%;
        margin-top: 2px;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking flow cleanup v0.4.4 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - убрать лишний заголовок первого шага
 * - перенести количество гостей на шаг даты и предпочтений
 * - не допускать переполнения текста в карточках типа стола
 * - сохранить чистую двухколоночную desktop-композицию
 * =========================================================
 */

.ybs-choice-card,
.ybs-choice-card strong,
.ybs-choice-card span {
    overflow-wrap: anywhere;
    word-break: normal;
}

.ybs-guests-field {
    max-width: 280px;
}

@media (min-width: 900px) {
    .ybs-booking-form .ybs-step[data-step="1"].is-active {
        display: grid;
        gap: 18px;
    }

    .ybs-booking-form .ybs-step[data-step="1"] > button[data-ybs-next] {
        margin-top: 2px;
    }

    .ybs-booking-form .ybs-step[data-step="2"].is-active {
        grid-template-columns: 430px minmax(0, 1fr);
        column-gap: 32px;
        row-gap: 18px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-guests-field {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: 280px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field {
        grid-column: 1;
        grid-row: 3;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > .ybs-choice-field:not(.ybs-calendar-field) {
        grid-column: 2;
        grid-row: 3;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev] {
        grid-column: 1;
        grid-row: 4;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
        grid-column: 2;
        grid-row: 4;
    }
}

@media (max-width: 767px) {
    .ybs-choice-list--compact .ybs-choice-card {
        align-items: center;
        text-align: center;
    }

    .ybs-choice-list--compact .ybs-choice-card span {
        max-width: 100%;
        font-size: 12px;
        line-height: 1.25;
    }

    .ybs-guests-field {
        max-width: none;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking three-step flow layout v0.4.5 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - оставить на первом шаге только выбор заведения
 * - объединить дату, гостей, тип стола и время во втором шаге
 * - сделать количество гостей удобным через +/-
 * - убрать переполнение текста в карточке автоподбора
 * =========================================================
 */

.ybs-step-layout--booking {
    display: grid;
    gap: 20px;
}

.ybs-booking-main,
.ybs-booking-side {
    min-width: 0;
}

.ybs-booking-side {
    display: grid;
    gap: 16px;
    align-content: start;
}

.ybs-guests-control {
    display: grid;
    gap: 8px;
}

.ybs-counter {
    display: grid;
    grid-template-columns: 54px minmax(72px, 1fr) 54px;
    gap: 10px;
    align-items: center;
    max-width: 240px;
}

.ybs-counter input[data-ybs-guests] {
    width: 100%;
    min-height: 54px;
    margin: 0 !important;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    -moz-appearance: textfield;
}

.ybs-counter input[data-ybs-guests]::-webkit-outer-spin-button,
.ybs-counter input[data-ybs-guests]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ybs-card button.ybs-counter-btn {
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 24%, transparent) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    color: var(--yb-accent, #963641) !important;
    box-shadow: none !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
}

.ybs-card button.ybs-counter-btn:hover {
    background: var(--yb-accent, #963641) !important;
    color: #ffffff !important;
    transform: none !important;
}

.ybs-time-field .ybs-slots {
    margin-top: 0;
}

.ybs-time-field .ybs-muted {
    margin: 0;
}

@media (min-width: 900px) {
    .ybs-booking-form .ybs-step[data-step="2"].is-active {
        display: block;
    }

    .ybs-step-layout--booking {
        grid-template-columns: 430px minmax(0, 1fr);
        column-gap: 32px;
        align-items: start;
        margin-bottom: 18px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field,
    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar,
    .ybs-booking-form .ybs-step[data-step="2"] > .ybs-choice-field:not(.ybs-calendar-field) {
        grid-column: auto;
        grid-row: auto;
        max-width: none;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact .ybs-choice-card {
        min-height: 60px;
        padding: 14px 18px !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-list--compact .ybs-choice-card strong {
        font-size: 15px;
        line-height: 1.2;
        white-space: normal;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev],
    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
        display: inline-flex !important;
        width: calc(50% - 8px);
        margin-top: 0;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev] {
        margin-right: 12px;
        background: transparent !important;
        border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 28%, transparent) !important;
        color: var(--yb-accent, #963641) !important;
        box-shadow: none !important;
    }
}

@media (max-width: 767px) {
    .ybs-step-layout--booking {
        gap: 16px;
    }

    .ybs-booking-side {
        gap: 14px;
    }

    .ybs-counter {
        grid-template-columns: 52px minmax(70px, 1fr) 52px;
        max-width: none;
    }

    .ybs-card button.ybs-counter-btn {
        width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
    }

    .ybs-choice-list--compact .ybs-choice-card strong {
        font-size: 16px;
        line-height: 1.2;
        white-space: normal;
    }
}


/**
 * =========================================================
 * YUMBAKER: Booking clean unified step layout and time timeline v0.4.6 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - оставить один главный заголовок формы вместо дублирующих заголовков шагов
 * - сделать второй шаг одинаково понятным на desktop и mobile
 * - заменить сетку времени на фирменный горизонтальный таймлайн
 * - убрать лишнюю двухколоночную сложность из сценария бронирования
 * =========================================================
 */

.ybs-booking-form .ybs-step > h3 {
    display: none !important;
}

.ybs-step-layout--booking {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    max-width: 720px;
    margin: 0 0 22px;
}

.ybs-booking-main,
.ybs-booking-side {
    display: grid;
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field,
.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar,
.ybs-booking-form .ybs-step[data-step="2"] > .ybs-choice-field:not(.ybs-calendar-field) {
    max-width: 100% !important;
}

.ybs-counter {
    max-width: 100% !important;
    grid-template-columns: 58px minmax(0, 1fr) 58px !important;
}

.ybs-choice-list--compact {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.ybs-choice-list--compact .ybs-choice-card {
    min-height: 68px !important;
    padding: 14px 16px !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
}

.ybs-choice-list--compact .ybs-choice-card strong {
    font-size: 15px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
}

.ybs-time-field .ybs-slots {
    display: block !important;
    padding: 0 !important;
    margin-top: 4px !important;
}

.ybs-time-timeline-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 8px;
}

.ybs-card button.ybs-time-nav,
.ybs-time-nav {
    position: relative;
    flex: 0 0 42px;
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    border: none !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 45%, transparent) !important;
    color: transparent !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: background 0.18s ease, transform 0.18s ease;
    overflow: visible !important;
}

.ybs-time-nav::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform-origin: center;
}

.ybs-time-nav-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg);
}

.ybs-time-nav-next::before {
    transform: translate(-65%, -50%) rotate(45deg);
}

.ybs-card button.ybs-time-nav:hover,
.ybs-time-nav:hover {
    background: color-mix(in srgb, var(--yb-accent, #963641) 62%, transparent) !important;
    transform: none !important;
}

.ybs-time-timeline-scroll {
    position: relative;
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 28px 0 30px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ybs-time-timeline-scroll::-webkit-scrollbar {
    display: none;
}

.ybs-time-timeline-slots {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: max-content;
    padding: 0 8px;
    z-index: 1;
}

.ybs-time-timeline-slots::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 31px;
    right: 31px;
    height: 2px;
    transform: translateY(-50%);
    background: var(--yb-accent, #963641);
    opacity: 0.92;
    z-index: 0;
}

.ybs-card button.ybs-time-slot,
.ybs-time-slot {
    position: relative;
    flex: 0 0 auto;
    width: 62px !important;
    height: 84px !important;
    min-height: 84px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    box-shadow: none !important;
    z-index: 1;
}

.ybs-time-label {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: var(--yb-accent, #963641);
    white-space: nowrap;
    transition: color 0.18s ease, opacity 0.18s ease;
}

.ybs-time-label-top {
    top: 0;
}

.ybs-time-label-bottom {
    bottom: 0;
}

.ybs-time-dot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    transform: translate(-50%, -50%);
    border: 3px solid var(--yb-accent, #963641);
    border-radius: 999px;
    background: var(--yb-cream, #FFF7EC);
    box-sizing: border-box;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
    z-index: 2;
}

.ybs-time-slot:hover .ybs-time-dot {
    background: color-mix(in srgb, var(--yb-accent, #963641) 35%, var(--yb-cream, #FFF7EC));
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 35%, var(--yb-cream, #FFF7EC));
}

.ybs-time-slot.is-selected .ybs-time-dot {
    background: var(--yb-accent, #963641);
    border-color: var(--yb-accent, #963641);
}

.ybs-time-slot.is-selected .ybs-time-label {
    font-weight: 700;
    color: var(--yb-accent, #963641);
}

.ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev],
.ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
    display: inline-flex !important;
    width: calc(50% - 8px) !important;
    margin-top: 0 !important;
}

.ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev] {
    margin-right: 12px !important;
    background: transparent !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 28%, transparent) !important;
    color: var(--yb-accent, #963641) !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .ybs-step-layout--booking {
        gap: 18px !important;
        max-width: none;
    }

    .ybs-choice-list--compact {
        grid-template-columns: 1fr !important;
    }

    .ybs-choice-list--compact .ybs-choice-card {
        min-height: 76px !important;
    }

    .ybs-time-timeline-wrap {
        gap: 8px;
    }

    .ybs-card button.ybs-time-nav,
    .ybs-time-nav {
        flex-basis: 38px;
        width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
    }

    .ybs-time-timeline-scroll {
        padding: 24px 0 26px;
    }

    .ybs-time-timeline-slots {
        gap: 18px;
        padding: 0 4px;
    }

    .ybs-card button.ybs-time-slot,
    .ybs-time-slot {
        width: 54px !important;
        height: 74px !important;
        min-height: 74px !important;
    }

    .ybs-time-label {
        font-size: 12px;
    }

    .ybs-time-dot {
        width: 18px;
        height: 18px;
        border-width: 3px;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev],
    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking calendar/timeline containment fix v0.4.7 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - не давать таймлайну растягивать форму за пределы карточки
 * - держать календарь в ровном адаптивном контейнере
 * - сделать ширину календаря предсказуемой на desktop и mobile
 * =========================================================
 */

.ybs-card,
.ybs-booking-form,
.ybs-booking-form *,
.ybs-booking-form *::before,
.ybs-booking-form *::after {
    box-sizing: border-box;
}

.ybs-card {
    overflow-x: hidden;
}

.ybs-booking-form .ybs-step,
.ybs-step-layout--booking,
.ybs-booking-main,
.ybs-booking-side,
.ybs-booking-form .ybs-step[data-step="2"] .ybs-choice-field,
.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field,
.ybs-time-field,
.ybs-time-field .ybs-slots {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field {
    max-width: 520px !important;
}

.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-grid,
.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-week {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-day {
    width: 100% !important;
    max-width: 54px !important;
    justify-self: center !important;
}

.ybs-time-timeline-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.ybs-time-timeline-scroll {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
}

.ybs-time-timeline-slots {
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
}

.ybs-time-nav {
    flex: 0 0 42px !important;
}

@media (min-width: 768px) {
    .ybs-step-layout--booking {
        max-width: 100% !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field {
        max-width: 500px !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar {
        padding: 14px !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-day {
        max-width: 48px !important;
        font-size: 14px !important;
    }

    .ybs-time-field {
        overflow: hidden !important;
    }
}

@media (max-width: 767px) {
    .ybs-card {
        overflow-x: hidden !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field {
        max-width: 100% !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar {
        padding: 12px !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-day {
        max-width: none !important;
    }

    .ybs-time-timeline-wrap {
        gap: 8px !important;
    }

    .ybs-time-nav {
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    .ybs-time-timeline-scroll {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking narrow form and timeline arrows v0.4.8 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - сузить desktop-форму до рабочей ширины календаря
 * - держать календарь и таймлайн внутри одного аккуратного контейнера
 * - явно прорисовать стрелки на кнопках таймлайна во всех темах
 * =========================================================
 */

@media (min-width: 900px) {
    .ybs-card.ybs-booking-form {
        width: min(100%, 640px) !important;
        max-width: 640px !important;
        padding: 32px 34px !important;
    }

    .ybs-booking-form .ybs-step-layout--booking,
    .ybs-booking-form .ybs-booking-main,
    .ybs-booking-form .ybs-booking-side,
    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field,
    .ybs-booking-form .ybs-step[data-step="2"] .ybs-calendar-field .ybs-inline-calendar,
    .ybs-booking-form .ybs-time-field,
    .ybs-booking-form .ybs-time-field .ybs-slots {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ybs-booking-form .ybs-step-layout--booking {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-prev],
    .ybs-booking-form .ybs-step[data-step="2"] > button[data-ybs-next] {
        width: 100% !important;
        margin-right: 0 !important;
        margin-top: 12px !important;
    }
}

.ybs-card button.ybs-time-nav,
.ybs-time-nav {
    position: relative !important;
    isolation: isolate;
}

.ybs-card button.ybs-time-nav::before,
.ybs-time-nav::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
    background: transparent !important;
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    transform-origin: center !important;
}

.ybs-card button.ybs-time-nav-prev::before,
.ybs-time-nav-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg) !important;
}

.ybs-card button.ybs-time-nav-next::before,
.ybs-time-nav-next::before {
    transform: translate(-65%, -50%) rotate(45deg) !important;
}

@media (max-width: 767px) {
    .ybs-card button.ybs-time-nav::before,
    .ybs-time-nav::before {
        width: 9px !important;
        height: 9px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Booking form final field polish and duration warning 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - скруглить поля контактов в фирменной логике YUMBAKER
 * - сделать шаг контактов визуально единым с карточками и календарём
 * - показать предупреждение о сокращённой длительности перед закрытием
 * =========================================================
 */

.ybs-booking-form .ybs-step[data-step="3"] input:not([type="checkbox"]),
.ybs-booking-form .ybs-step[data-step="3"] textarea {
    min-height: 64px !important;
    padding: 18px 22px !important;
    border-radius: 24px !important;
    background: var(--yb-field-bg, var(--yb-cream-light)) !important;
}

.ybs-booking-form .ybs-step[data-step="3"] textarea {
    min-height: 140px !important;
}

.ybs-duration-warning {
    margin-top: 14px;
    padding: 16px 18px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 20%, transparent);
    border-radius: 20px;
    background: color-mix(in srgb, var(--yb-accent, #963641) 7%, var(--yb-cream-light, #FFFDF8));
    color: var(--yb-accent-dark, #7A2A33);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.ybs-duration-warning[hidden] {
    display: none !important;
}

@media (max-width: 767px) {
    .ybs-booking-form .ybs-step[data-step="3"] input:not([type="checkbox"]),
    .ybs-booking-form .ybs-step[data-step="3"] textarea {
        min-height: 58px !important;
        padding: 16px 18px !important;
        border-radius: 20px !important;
    }

    .ybs-booking-form .ybs-step[data-step="3"] textarea {
        min-height: 128px !important;
    }

    .ybs-duration-warning {
        border-radius: 18px;
        font-size: 14px;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager panel 2.0 timeline UI v0.6.0 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - превратить менеджерскую страницу в экран посадки ресторана
 * - использовать тот же таймлайн, что и в гостевой форме
 * - разделить действия цветом по смыслу, а не делать всё красным
 * - сохранить фирменные токены YUMBAKER
 * =========================================================
 */

.ybs-manager-v060 {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    overflow: hidden;
}

.ybs-manager-topbar,
.ybs-manager-brand,
.ybs-manager-venues,
.ybs-manager-week,
.ybs-manager-stats,
.ybs-manager-booking-actions,
.ybs-manager-row-actions {
    display: flex;
    align-items: center;
}

.ybs-manager-topbar {
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.ybs-manager-brand {
    gap: 14px;
    min-width: 0;
}

.ybs-manager-logo {
    width: 74px;
    min-width: 74px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yb-accent, #963641);
    text-decoration: none !important;
}

.ybs-manager-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ybs-manager-brand h2 {
    margin: 0;
}

.ybs-manager-logout {
    color: var(--ybs-text-muted);
    text-decoration: none !important;
    font-size: 14px;
}

.ybs-manager-venues {
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
}

.ybs-manager-pill,
.ybs-manager-day,
.ybs-manager-arrow,
.ybs-manager-date-jump button,
.ybs-action {
    text-decoration: none !important;
    border-radius: 999px;
    box-sizing: border-box;
}

.ybs-manager-pill {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent);
    background: var(--yb-field-bg, var(--yb-cream-light));
    color: var(--yb-accent, #963641);
    font-weight: 500;
}

.ybs-manager-pill.is-active {
    background: var(--yb-accent, #963641);
    border-color: var(--yb-accent, #963641);
    color: #fff !important;
}

.ybs-manager-week {
    gap: 10px;
    margin-bottom: 18px;
}

.ybs-manager-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(64px, 1fr));
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

.ybs-manager-day {
    min-height: 62px;
    display: grid;
    place-items: center;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 14%, transparent);
    background: var(--yb-field-bg, var(--yb-cream-light));
    color: var(--yb-graphite, #333);
}

.ybs-manager-day span {
    font-size: 12px;
    color: var(--ybs-text-muted);
}

.ybs-manager-day strong {
    font-size: 20px;
    line-height: 1;
    color: var(--yb-accent, #963641);
}

.ybs-manager-day.is-active {
    background: color-mix(in srgb, var(--yb-accent, #963641) 10%, var(--yb-cream-light, #fffdf8));
    border-color: var(--yb-accent, #963641);
    box-shadow: 0 0 0 2px var(--ybs-focus-shadow, rgba(150,54,65,.1));
}

.ybs-manager-day.is-today:not(.is-active) {
    border-color: color-mix(in srgb, var(--yb-matcha, #7A8450) 42%, transparent);
}

.ybs-manager-arrow,
.ybs-manager-date-jump button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 0;
    background: color-mix(in srgb, var(--yb-accent, #963641) 45%, transparent);
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: none;
}

.ybs-manager-date-jump {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ybs-manager-date-jump input[type="date"] {
    width: 145px;
    min-height: 44px;
    padding: 9px 12px;
    border-radius: 999px;
}

.ybs-manager-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}

.ybs-manager-stats div {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 12%, transparent);
    background: var(--yb-field-bg, var(--yb-cream-light));
}

.ybs-manager-stats span {
    display: block;
    color: var(--ybs-text-muted);
    font-size: 12px;
    margin-bottom: 5px;
}

.ybs-manager-stats strong {
    color: var(--yb-accent, #963641);
    font-size: 24px;
    line-height: 1;
}

.ybs-manager-board {
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 12%, transparent);
    border-radius: 24px;
    background: color-mix(in srgb, var(--yb-cream-light, #fffdf8) 70%, var(--yb-cream, #fff7ec));
    overflow: hidden;
}

.ybs-manager-time-head,
.ybs-manager-table-row {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    min-width: 0;
}

.ybs-manager-time-head {
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
    background: var(--yb-cream, #fff7ec);
}

.ybs-manager-table-head,
.ybs-manager-table-meta {
    padding: 16px;
}

.ybs-manager-head-scroll,
.ybs-manager-timeline-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ybs-manager-head-scroll::-webkit-scrollbar,
.ybs-manager-timeline-scroll::-webkit-scrollbar {
    display: none;
}

.ybs-manager-head-slots,
.ybs-manager-timeline-slots {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: max-content;
    width: max-content;
    padding: 0 8px;
}

.ybs-manager-head-slots {
    height: 58px;
}

.ybs-manager-head-slots span {
    width: 62px;
    flex: 0 0 62px;
    text-align: center;
    font-size: 12px;
    color: var(--ybs-text-muted);
}

.ybs-manager-head-slots span.is-hour {
    color: var(--yb-accent, #963641);
    font-weight: 600;
}

.ybs-manager-table-row {
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
}

.ybs-manager-table-row:last-child {
    border-bottom: 0;
}

.ybs-manager-table-meta {
    display: grid;
    gap: 4px;
    align-content: center;
    background: color-mix(in srgb, var(--yb-cream, #fff7ec) 72%, transparent);
}

.ybs-manager-table-meta strong {
    color: var(--yb-accent, #963641);
    font-size: 17px;
}

.ybs-manager-table-meta span,
.ybs-manager-table-meta small {
    color: var(--ybs-text-muted);
}

.ybs-manager-row-main {
    min-width: 0;
    padding: 12px 12px 14px;
}

.ybs-manager-booking-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 34px;
    margin-bottom: 4px;
}

.ybs-manager-chip {
    min-height: 34px !important;
    padding: 6px 11px !important;
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    background: var(--yb-field-bg, #fffdf8) !important;
    color: var(--yb-graphite, #333) !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: inline-flex !important;
    gap: 8px;
}

.ybs-manager-chip strong,
.ybs-manager-chip span {
    font-size: 12px;
    line-height: 1;
}

.ybs-manager-timeline-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.ybs-manager-timeline-scroll {
    flex: 1 1 0;
    min-width: 0;
    padding: 16px 0 18px;
}

.ybs-manager-timeline-slots {
    position: relative;
}

.ybs-manager-timeline-slots::before {
    content: "";
    position: absolute;
    left: 31px;
    right: 31px;
    top: 50%;
    height: 2px;
    transform: translateY(-50%);
    background: var(--yb-accent, #963641);
    opacity: .9;
}

.ybs-manager-slot .ybs-time-dot {
    background: var(--yb-cream, #fff7ec);
}

.ybs-manager-slot.ybs-slot-confirmed .ybs-time-dot,
.ybs-status-confirmed {
    border-color: var(--yb-accent, #963641) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #fffdf8)) !important;
}

.ybs-manager-slot.ybs-slot-confirmed .ybs-time-dot {
    background: var(--yb-accent, #963641) !important;
}

.ybs-manager-slot.ybs-slot-seated .ybs-time-dot,
.ybs-manager-slot.ybs-slot-walk_in .ybs-time-dot,
.ybs-status-seated,
.ybs-status-walk_in {
    border-color: var(--yb-matcha, #7A8450) !important;
    background: color-mix(in srgb, var(--yb-matcha, #7A8450) 14%, var(--yb-cream-light, #fffdf8)) !important;
}

.ybs-manager-slot.ybs-slot-seated .ybs-time-dot,
.ybs-manager-slot.ybs-slot-walk_in .ybs-time-dot {
    background: var(--yb-matcha, #7A8450) !important;
}

.ybs-manager-slot.ybs-slot-blocked .ybs-time-dot,
.ybs-status-blocked {
    border-color: var(--yb-graphite, #333) !important;
    background: color-mix(in srgb, var(--yb-graphite, #333) 12%, var(--yb-cream-light, #fffdf8)) !important;
}

.ybs-manager-slot.ybs-slot-blocked .ybs-time-dot {
    background: var(--yb-graphite, #333) !important;
}

.ybs-manager-slot.ybs-slot-no_show .ybs-time-dot,
.ybs-status-no_show {
    border-color: #b84a4a !important;
    background: color-mix(in srgb, #b84a4a 14%, var(--yb-cream-light, #fffdf8)) !important;
}

.ybs-manager-slot.ybs-slot-no_show .ybs-time-dot {
    background: #b84a4a !important;
}

.ybs-manager-slot.is-range-start .ybs-time-dot,
.ybs-manager-slot.is-range-end .ybs-time-dot,
.ybs-manager-slot.is-in-range .ybs-time-dot {
    background: var(--yb-accent, #963641) !important;
    border-color: var(--yb-accent, #963641) !important;
    transform: translate(-50%, -50%) scale(1.08);
}

.ybs-manager-row-actions {
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--yb-accent, #963641) 7%, var(--yb-cream-light, #fffdf8));
}

.ybs-manager-row-actions span {
    color: var(--yb-accent, #963641);
    font-weight: 600;
    margin-right: auto;
}

.ybs-action {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 12px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #fff !important;
}

.ybs-action-good { background: var(--yb-matcha, #7A8450) !important; }
.ybs-action-done { background: var(--yb-graphite, #333) !important; }
.ybs-action-edit { background: var(--yb-accent, #963641) !important; }
.ybs-action-warn { background: #b98235 !important; }
.ybs-action-muted { background: color-mix(in srgb, var(--yb-graphite, #333) 62%, transparent) !important; }
.ybs-action-danger { background: #b84a4a !important; }

.ybs-manager-bookings-list {
    margin-top: 24px;
    display: grid;
    gap: 10px;
}

.ybs-manager-booking-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 12%, transparent);
    transition: box-shadow .18s ease, transform .18s ease;
}

.ybs-manager-booking-card.is-highlighted {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--yb-accent, #963641) 22%, transparent);
    transform: translateY(-1px);
}

.ybs-manager-booking-card strong,
.ybs-manager-booking-card span,
.ybs-manager-booking-card small {
    display: block;
}

.ybs-manager-booking-card span,
.ybs-manager-booking-card small {
    color: var(--ybs-text-muted);
    margin-top: 3px;
}

.ybs-manager-booking-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px !important;
    justify-content: flex-end;
}

.ybs-manager-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(31, 31, 31, .36);
}

.ybs-manager-modal[hidden] {
    display: none !important;
}

.ybs-manager-modal-card {
    width: min(100%, 520px);
    max-height: calc(100vh - 40px);
    overflow: auto;
    position: relative;
    padding: 26px;
    border-radius: 24px;
    background: var(--yb-cream-light, #fffdf8);
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.ybs-manager-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #fffdf8)) !important;
    color: var(--yb-accent, #963641) !important;
    box-shadow: none !important;
    font-size: 24px !important;
}

@media (max-width: 860px) {
    .ybs-manager-v060 {
        margin: 12px !important;
        padding: 16px !important;
        width: auto !important;
    }

    .ybs-manager-topbar,
    .ybs-manager-week {
        align-items: stretch;
        flex-direction: column;
    }

    .ybs-manager-days,
    .ybs-manager-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ybs-manager-time-head {
        display: none;
    }

    .ybs-manager-table-row,
    .ybs-manager-booking-card {
        grid-template-columns: 1fr;
    }

    .ybs-manager-table-meta {
        border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
    }

    .ybs-manager-booking-actions {
        justify-content: stretch;
    }

    .ybs-manager-booking-actions .ybs-action,
    .ybs-manager-row-actions .ybs-action {
        flex: 1 1 auto;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager panel usability polish v0.6.3 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - сократить экран менеджера и убрать дублирующий список броней
 * - сгруппировать столы по зонам
 * - добавить боковую карточку брони, поиск, легенду и линию текущего времени
 * - уменьшить высоту строк и убрать визуальный шум от стрелок в каждой строке
 * =========================================================
 */

.ybs-manager-tools {
    display: grid;
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: 14px;
    align-items: end;
    margin: -6px 0 18px;
}

.ybs-manager-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 14px;
    color: var(--ybs-text-muted);
    font-size: 12px;
}

.ybs-manager-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ybs-manager-legend i {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 999px;
    background: var(--yb-accent, #963641);
}

.ybs-manager-legend .is-walkin,
.ybs-manager-legend .is-seated { background: var(--yb-matcha, #7A8450); }
.ybs-manager-legend .is-noshow { background: #b84a4a; }
.ybs-manager-legend .is-blocked { background: var(--yb-graphite, #333333); }

.ybs-manager-head-main {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 10px;
}

.ybs-manager-global-arrow {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 45%, transparent) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 26px !important;
}

.ybs-manager-zone-row {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    border-bottom: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent);
    background: color-mix(in srgb, var(--yb-accent, #963641) 5%, var(--yb-cream-light, #fffdf8));
}

.ybs-manager-zone-row span {
    grid-column: 1 / -1;
    padding: 10px 16px;
    color: var(--yb-accent, #963641);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
}

.ybs-manager-table-row {
    min-height: 96px;
}

.ybs-manager-table-meta {
    padding: 12px 16px;
}

.ybs-manager-table-meta strong::before {
    content: "Стол ";
    color: var(--ybs-text-muted);
    font-size: 13px;
    font-weight: 500;
}

.ybs-manager-row-main {
    padding: 8px 10px 10px;
}

.ybs-manager-booking-chips {
    min-height: 28px;
    margin-bottom: 0;
}

.ybs-manager-chip {
    min-height: 28px !important;
    padding: 5px 10px !important;
    cursor: pointer;
}

.ybs-manager-chip.is-highlighted {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent) !important;
}

.ybs-manager-timeline-wrap .ybs-time-nav {
    display: none !important;
}

.ybs-manager-timeline-scroll {
    position: relative;
    padding: 14px 0 16px;
}

.ybs-manager-timeline-slots {
    gap: 22px;
}

.ybs-manager-timeline-slots .ybs-manager-slot {
    width: 54px !important;
    height: 58px !important;
    min-height: 58px !important;
}

.ybs-manager-timeline-slots .ybs-time-label {
    font-size: 12px;
}

.ybs-manager-timeline-slots .ybs-time-dot {
    width: 18px;
    height: 18px;
    border-width: 3px;
}

.ybs-manager-now-line {
    position: absolute;
    top: 4px;
    bottom: 4px;
    width: 2px;
    background: #d34242;
    border-radius: 999px;
    z-index: 5;
    pointer-events: none;
}

.ybs-manager-now-line b {
    position: absolute;
    left: 50%;
    top: -2px;
    transform: translate(-50%, -100%);
    padding: 2px 7px;
    border-radius: 999px;
    background: #d34242;
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
    white-space: nowrap;
}

.ybs-manager-bookings-list[hidden] {
    display: none !important;
}

.ybs-manager-side-panel {
    position: fixed;
    top: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 99998;
    width: min(380px, calc(100vw - 32px));
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 16%, transparent);
    border-radius: 24px;
    background: var(--yb-cream-light, #fffdf8);
    box-shadow: 0 20px 60px rgba(0,0,0,.16);
    overflow: auto;
}

.ybs-manager-side-panel[hidden] {
    display: none !important;
}

.ybs-manager-side-close {
    position: sticky;
    top: 0;
    margin-left: auto;
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 10%, var(--yb-cream-light, #fffdf8)) !important;
    color: var(--yb-accent, #963641) !important;
    box-shadow: none !important;
    font-size: 24px !important;
}

.ybs-manager-side-empty {
    color: var(--ybs-text-muted);
}

.ybs-manager-side-content .ybs-manager-booking-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0;
    border: 0;
    background: transparent !important;
}

.ybs-manager-side-content .ybs-manager-booking-card strong {
    color: var(--yb-accent, #963641);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.15;
}

.ybs-manager-side-content .ybs-manager-booking-card span,
.ybs-manager-side-content .ybs-manager-booking-card small {
    font-size: 15px;
    line-height: 1.45;
}

.ybs-manager-side-content .ybs-manager-booking-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px !important;
}

.ybs-manager-side-content .ybs-action {
    width: 100%;
    min-height: 44px !important;
    justify-content: center;
    font-size: 14px !important;
}

@media (max-width: 860px) {
    .ybs-manager-tools {
        grid-template-columns: 1fr;
    }

    .ybs-manager-legend {
        justify-content: flex-start;
    }

    .ybs-manager-zone-row {
        grid-template-columns: 1fr;
    }

    .ybs-manager-head-main {
        display: none;
    }

    .ybs-manager-timeline-wrap .ybs-time-nav {
        display: inline-flex !important;
    }

    .ybs-manager-side-panel {
        inset: auto 12px 12px;
        max-height: min(72vh, 620px);
        width: auto;
        border-radius: 22px;
    }
}


/**
 * =========================================================
 * YUMBAKER: Manager cockpit layout v0.6.4 2026 06 07
 * ---------------------------------------------------------
 * Зачем:
 * - приблизить панель посадки к компактному операционному экрану хоста
 * - вынести брони дня в правую колонку вместо скрытого источника данных
 * - заменить точечный менеджерский таймлайн на более читаемую сетку занятости
 * - уменьшить визуальный шум и повысить скорость считывания статусов
 * =========================================================
 */

@media (min-width: 980px) {
    .ybs-card.ybs-manager-v060 {
        width: min(100%, 1540px) !important;
        max-width: 1540px !important;
        margin: 24px auto !important;
        padding: 22px 28px 28px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 360px;
        column-gap: 22px;
        row-gap: 14px;
        align-items: start;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        grid-column: 1 / -1;
        margin-bottom: 0;
        padding-bottom: 4px;
    }

    .ybs-manager-v060 .ybs-manager-venues,
    .ybs-manager-v060 .ybs-manager-week,
    .ybs-manager-v060 .ybs-manager-stats,
    .ybs-manager-v060 .ybs-manager-tools,
    .ybs-manager-v060 .ybs-manager-board {
        grid-column: 1;
        margin-bottom: 0;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        grid-column: 2;
        grid-row: 2 / span 5;
        align-self: start;
        position: sticky;
        top: 18px;
        max-height: calc(100vh - 36px);
        overflow: auto;
        margin: 0 !important;
        gap: 0;
        border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 14%, transparent);
        border-radius: 18px;
        background: var(--yb-cream-light, #fffdf8);
        box-shadow: 0 10px 30px rgba(0,0,0,.06);
    }

    .ybs-manager-v060 .ybs-manager-bookings-list h3 {
        position: sticky;
        top: 0;
        z-index: 2;
        margin: 0;
        padding: 16px 18px;
        border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
        background: var(--yb-cream-light, #fffdf8);
        color: var(--ybs-text-muted);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
}

.ybs-manager-v060 .ybs-manager-logo {
    width: 56px;
    min-width: 56px;
    height: 42px;
}

.ybs-manager-v060 .ybs-manager-brand h2 {
    font-size: 24px;
    line-height: 1.1;
}

.ybs-manager-v060 .ybs-manager-logout {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 16%, transparent);
    border-radius: 999px;
    background: var(--yb-cream-light, #fffdf8);
    color: var(--yb-graphite, #333) !important;
}

.ybs-manager-v060 .ybs-manager-week {
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent);
    border-radius: 18px;
    background: var(--yb-cream-light, #fffdf8);
}

.ybs-manager-v060 .ybs-manager-day {
    min-height: 54px;
    border-radius: 16px;
    box-shadow: none !important;
}

.ybs-manager-v060 .ybs-manager-day strong {
    font-size: 18px;
}

.ybs-manager-v060 .ybs-manager-date-jump input[type="date"] {
    width: 132px;
    min-height: 38px;
    font-size: 13px;
    color: var(--ybs-text-muted);
}

.ybs-manager-v060 .ybs-manager-date-jump button {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    font-size: 18px !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 28%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-stats {
    gap: 10px;
}

.ybs-manager-v060 .ybs-manager-stats div {
    min-height: 76px;
    padding: 13px 16px;
    border-radius: 14px;
}

.ybs-manager-v060 .ybs-manager-stats span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
}

.ybs-manager-v060 .ybs-manager-stats span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--yb-accent, #963641) 65%, transparent);
}

.ybs-manager-v060 .ybs-manager-tools {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent);
    border-radius: 14px;
    background: var(--yb-cream-light, #fffdf8);
}

.ybs-manager-v060 .ybs-manager-legend {
    justify-content: flex-start;
}

.ybs-manager-v060 .ybs-manager-board {
    border-radius: 18px;
    background: var(--yb-cream-light, #fffdf8);
}

.ybs-manager-v060 .ybs-manager-time-head,
.ybs-manager-v060 .ybs-manager-table-row {
    grid-template-columns: 126px minmax(0, 1fr);
}

.ybs-manager-v060 .ybs-manager-table-head,
.ybs-manager-v060 .ybs-manager-table-meta {
    padding: 12px 14px;
}

.ybs-manager-v060 .ybs-manager-table-head {
    color: var(--ybs-text-muted);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ybs-manager-v060 .ybs-manager-head-main {
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
}

.ybs-manager-v060 .ybs-manager-global-arrow {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-head-scroll {
    padding: 0;
}

.ybs-manager-v060 .ybs-manager-head-slots,
.ybs-manager-v060 .ybs-manager-timeline-slots {
    gap: 0 !important;
    padding: 0 !important;
}

.ybs-manager-v060 .ybs-manager-head-slots {
    height: 46px;
}

.ybs-manager-v060 .ybs-manager-head-slots span {
    width: 96px;
    flex-basis: 96px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 7%, transparent);
    color: var(--ybs-text-muted);
    font-size: 12px;
}

.ybs-manager-v060 .ybs-manager-table-row {
    min-height: 72px;
}

.ybs-manager-v060 .ybs-manager-table-meta {
    gap: 3px;
    background: color-mix(in srgb, var(--yb-cream, #fff7ec) 56%, transparent);
}

.ybs-manager-v060 .ybs-manager-table-meta strong {
    font-size: 18px;
}

.ybs-manager-v060 .ybs-manager-table-meta span,
.ybs-manager-v060 .ybs-manager-table-meta small {
    font-size: 13px;
}

.ybs-manager-v060 .ybs-manager-zone-row {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-row-main {
    position: relative;
    min-height: 72px;
    padding: 0;
}

.ybs-manager-v060 .ybs-manager-booking-chips {
    position: absolute;
    left: 8px;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    min-height: 0;
    margin: 0;
    gap: 5px;
    pointer-events: none;
}

.ybs-manager-v060 .ybs-manager-chip {
    min-height: 24px !important;
    max-width: 310px;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    pointer-events: auto;
    color: var(--yb-accent, #963641) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #fffdf8)) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 35%, transparent) !important;
    overflow: hidden;
}

.ybs-manager-v060 .ybs-manager-chip strong,
.ybs-manager-v060 .ybs-manager-chip span {
    font-size: 12px;
    white-space: nowrap;
}

.ybs-manager-v060 .ybs-manager-timeline-wrap {
    height: 72px;
    gap: 0;
    overflow: hidden;
}

.ybs-manager-v060 .ybs-manager-timeline-scroll {
    height: 72px;
    padding: 0;
    overflow-x: auto !important;
    background-image: repeating-linear-gradient(to right, transparent 0, transparent 95px, color-mix(in srgb, var(--yb-graphite, #333) 7%, transparent) 95px, color-mix(in srgb, var(--yb-graphite, #333) 7%, transparent) 96px);
}

.ybs-manager-v060 .ybs-manager-timeline-slots::before {
    display: none !important;
}

.ybs-manager-v060 .ybs-card button.ybs-manager-slot,
.ybs-manager-v060 .ybs-manager-slot {
    width: 96px !important;
    height: 72px !important;
    min-height: 72px !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-left: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 5%, transparent) !important;
    background: transparent !important;
}

.ybs-manager-v060 .ybs-manager-slot .ybs-time-label,
.ybs-manager-v060 .ybs-manager-slot .ybs-time-dot {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-slot.ybs-slot-confirmed {
    background: color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-slot.ybs-slot-seated,
.ybs-manager-v060 .ybs-manager-slot.ybs-slot-walk_in {
    background: color-mix(in srgb, var(--yb-matcha, #7A8450) 12%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-slot.ybs-slot-blocked {
    background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--yb-graphite, #333) 12%, transparent) 0 6px, color-mix(in srgb, var(--yb-graphite, #333) 5%, transparent) 6px 12px) !important;
}

.ybs-manager-v060 .ybs-manager-slot.ybs-slot-no_show {
    background: color-mix(in srgb, #b84a4a 14%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-slot.is-range-start,
.ybs-manager-v060 .ybs-manager-slot.is-range-end,
.ybs-manager-v060 .ybs-manager-slot.is-in-range {
    background: color-mix(in srgb, var(--yb-accent, #963641) 14%, transparent) !important;
    outline: 1px dashed color-mix(in srgb, var(--yb-accent, #963641) 55%, transparent);
    outline-offset: -4px;
}

.ybs-manager-v060 .ybs-manager-now-line {
    top: 0;
    bottom: 0;
    background: #d34242;
    z-index: 7;
}

.ybs-manager-v060 .ybs-manager-now-line b {
    top: 4px;
    transform: translate(-50%, 0);
}

.ybs-manager-v060 .ybs-manager-row-actions {
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 6px;
    z-index: 9;
    margin: 0;
    padding: 7px 9px;
    border-radius: 12px;
    background: rgba(255, 253, 248, .94);
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0;
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
    border-radius: 0;
    background: transparent !important;
    cursor: pointer;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card:last-child {
    border-bottom: 0;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.is-highlighted,
.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card:hover {
    box-shadow: inset 4px 0 0 var(--yb-accent, #963641);
    transform: none;
    background: color-mix(in srgb, var(--yb-accent, #963641) 7%, var(--yb-cream-light, #fffdf8)) !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card strong {
    color: var(--yb-graphite, #333);
    font-size: 16px;
    line-height: 1.2;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card span,
.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card small {
    color: var(--ybs-text-muted);
    font-size: 13px;
    line-height: 1.35;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-booking-actions {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-side-panel {
    width: min(420px, calc(100vw - 32px));
}

@media (max-width: 979px) {
    .ybs-manager-v060 .ybs-manager-bookings-list[data-ybs-booking-source] {
        display: grid !important;
        margin-top: 18px;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-actions {
        display: flex !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager professional timeline v0.7.0 2026 06 08
 * ---------------------------------------------------------
 * Зачем:
 * - собрать менеджерскую панель вокруг единого профессионального таймлайна
 * - показывать брони как читаемые блоки на шкале времени
 * - оставить справа операционную карточку броней на день
 * - убрать визуальный шум точечного таймлайна в менеджерском режиме
 * =========================================================
 */

@media (min-width: 980px) {
    .ybs-card.ybs-manager-v060 {
        width: min(100%, 1560px) !important;
        max-width: 1560px !important;
        margin: 20px auto !important;
        padding: 22px 28px 28px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 380px !important;
        column-gap: 24px !important;
        row-gap: 14px !important;
        align-items: start !important;
        background: var(--yb-cream, #FFF7EC) !important;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        grid-column: 1 / -1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding-bottom: 8px !important;
        border-bottom: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-venues,
    .ybs-manager-v060 .ybs-manager-week,
    .ybs-manager-v060 .ybs-manager-stats,
    .ybs-manager-v060 .ybs-manager-tools,
    .ybs-manager-v060 .ybs-manager-board {
        grid-column: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        grid-column: 2 !important;
        grid-row: 2 / span 5 !important;
        position: sticky !important;
        top: 18px !important;
        max-height: calc(100vh - 36px) !important;
        overflow: auto !important;
    }
}

.ybs-manager-v060 .ybs-manager-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ybs-manager-v060 .ybs-manager-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px !important;
    height: 48px !important;
    min-width: 64px !important;
    border-radius: 14px;
    overflow: hidden;
    background: var(--yb-cream-light, #FFFDF8);
}

.ybs-manager-v060 .ybs-manager-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ybs-manager-v060 .ybs-manager-brand h2 {
    margin: 0 !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
}

.ybs-manager-v060 .ybs-manager-venues {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ybs-manager-v060 .ybs-manager-pill {
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent);
    background: var(--yb-cream-light, #FFFDF8);
    color: var(--yb-graphite, #333) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.ybs-manager-v060 .ybs-manager-pill.is-active {
    background: var(--yb-accent, #963641);
    border-color: var(--yb-accent, #963641);
    color: #fff !important;
}

.ybs-manager-v060 .ybs-manager-week {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent);
    border-radius: 20px;
    background: var(--yb-cream-light, #FFFDF8);
}

.ybs-manager-v060 .ybs-manager-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.ybs-manager-v060 .ybs-manager-day {
    min-height: 62px !important;
    padding: 8px 10px !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    color: var(--yb-graphite, #333) !important;
}

.ybs-manager-v060 .ybs-manager-day span {
    color: var(--ybs-text-muted) !important;
    font-size: 12px !important;
    text-transform: uppercase;
}

.ybs-manager-v060 .ybs-manager-day strong {
    color: var(--yb-graphite, #333) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
}

.ybs-manager-v060 .ybs-manager-day.is-active {
    border: 1px solid var(--yb-accent, #963641) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 7%, var(--yb-cream-light, #FFFDF8)) !important;
}

.ybs-manager-v060 .ybs-manager-day.is-active span,
.ybs-manager-v060 .ybs-manager-day.is-active strong {
    color: var(--yb-accent, #963641) !important;
}

.ybs-manager-v060 .ybs-manager-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: transparent;
    color: var(--yb-accent, #963641) !important;
    font-size: 26px;
    text-decoration: none !important;
}

.ybs-manager-v060 .ybs-manager-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.ybs-manager-v060 .ybs-manager-stats div {
    min-height: 84px !important;
    padding: 16px 18px !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent) !important;
    border-radius: 18px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    box-shadow: none !important;
}

.ybs-manager-v060 .ybs-manager-stats strong {
    display: block;
    margin-top: 4px;
    color: var(--yb-accent, #963641);
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
}

.ybs-manager-v060 .ybs-manager-tools {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 10px 14px !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent) !important;
    border-radius: 16px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
}

.ybs-manager-v060 .ybs-manager-board {
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 12%, transparent) !important;
    border-radius: 20px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
}

.ybs-manager-v060 .ybs-manager-time-head,
.ybs-manager-v060 .ybs-manager-table-row {
    display: grid !important;
    grid-template-columns: 160px minmax(0, 1fr) !important;
}

.ybs-manager-v060 .ybs-manager-table-head,
.ybs-manager-v060 .ybs-manager-table-meta {
    border-right: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-time-head {
    position: sticky;
    top: 0;
    z-index: 12;
    background: var(--yb-cream-light, #FFFDF8);
    border-bottom: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 10%, transparent);
}

.ybs-manager-v060 .ybs-manager-table-head {
    display: flex;
    align-items: center;
    padding: 0 18px !important;
    color: var(--ybs-text-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.ybs-manager-v060 .ybs-manager-head-main {
    display: block !important;
    padding: 0 !important;
    min-width: 0 !important;
}

.ybs-manager-v060 .ybs-manager-global-arrow {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-head-scroll,
.ybs-manager-v060 .ybs-manager-timeline-scroll {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ybs-manager-v060 .ybs-manager-head-scroll::-webkit-scrollbar,
.ybs-manager-v060 .ybs-manager-timeline-scroll::-webkit-scrollbar {
    display: none;
}

.ybs-manager-v060 .ybs-manager-head-slots,
.ybs-manager-v060 .ybs-manager-timeline-grid {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(var(--ybs-slot-count), var(--ybs-slot-width)) !important;
    width: calc(var(--ybs-slot-count) * var(--ybs-slot-width)) !important;
    min-width: calc(var(--ybs-slot-count) * var(--ybs-slot-width)) !important;
    gap: 0 !important;
    padding: 0 !important;
}

.ybs-manager-v060 .ybs-manager-head-slots {
    display: flex !important;
    height: 52px !important;
}

.ybs-manager-v060 .ybs-manager-head-slots span {
    flex: 0 0 96px !important;
    width: 96px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-left: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 7%, transparent) !important;
    color: var(--yb-graphite, #333) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.ybs-manager-v060 .ybs-manager-table-row {
    min-height: 82px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 8%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-zone-row {
    display: grid !important;
    grid-template-columns: 160px minmax(0, 1fr) !important;
    min-height: 38px;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 8%, transparent) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 5%, var(--yb-cream-light, #FFFDF8)) !important;
}

.ybs-manager-v060 .ybs-manager-zone-row span {
    grid-column: 1 / -1;
    padding: 11px 18px !important;
    color: var(--yb-accent, #963641) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
}

.ybs-manager-v060 .ybs-manager-table-meta {
    display: grid !important;
    align-content: center !important;
    gap: 4px !important;
    padding: 14px 18px !important;
    background: color-mix(in srgb, var(--yb-cream, #FFF7EC) 62%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-table-meta strong {
    color: var(--yb-graphite, #333) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
}

.ybs-manager-v060 .ybs-manager-table-meta strong::before {
    content: "" !important;
}

.ybs-manager-v060 .ybs-manager-table-meta span,
.ybs-manager-v060 .ybs-manager-table-meta small {
    color: var(--ybs-text-muted) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.ybs-manager-v060 .ybs-manager-row-main {
    position: relative !important;
    min-height: 82px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.ybs-manager-v060 .ybs-manager-timeline-wrap {
    height: 82px !important;
    gap: 0 !important;
    overflow: hidden !important;
}

.ybs-manager-v060 .ybs-manager-timeline-wrap .ybs-time-nav {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-timeline-scroll {
    position: relative !important;
    height: 82px !important;
    padding: 0 !important;
    background-image: repeating-linear-gradient(to right, transparent 0, transparent 95px, color-mix(in srgb, var(--yb-graphite, #333) 7%, transparent) 95px, color-mix(in srgb, var(--yb-graphite, #333) 7%, transparent) 96px) !important;
}

.ybs-manager-v060 .ybs-manager-timeline-grid {
    height: 82px !important;
}

.ybs-manager-v060 .ybs-manager-timeline-grid::before,
.ybs-manager-v060 .ybs-manager-timeline-slots::before {
    display: none !important;
}

.ybs-manager-v060 .ybs-card button.ybs-manager-slot,
.ybs-manager-v060 .ybs-manager-slot {
    grid-row: 1 !important;
    width: 96px !important;
    height: 82px !important;
    min-height: 82px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 5%, transparent) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
}

.ybs-manager-v060 .ybs-manager-slot span {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-booking-block {
    position: absolute !important;
    left: calc(var(--ybs-block-left) * var(--ybs-slot-width) + 8px) !important;
    top: 18px !important;
    width: calc(var(--ybs-block-width) * var(--ybs-slot-width) - 12px) !important;
    min-width: 72px !important;
    height: 46px !important;
    min-height: 46px !important;
    display: grid !important;
    align-content: center !important;
    gap: 2px !important;
    padding: 7px 10px !important;
    border-radius: 8px !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 28%, transparent) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 10%, var(--yb-cream-light, #FFFDF8)) !important;
    color: var(--yb-accent, #963641) !important;
    box-shadow: none !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    z-index: 5 !important;
    overflow: hidden !important;
    cursor: pointer !important;
}

.ybs-manager-v060 .ybs-manager-booking-block:hover,
.ybs-manager-v060 .ybs-manager-booking-block.is-highlighted {
    transform: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--yb-accent, #963641) 16%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-booking-block strong,
.ybs-manager-v060 .ybs-manager-booking-block span {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.15 !important;
}

.ybs-manager-v060 .ybs-manager-booking-block strong {
    font-size: 13px !important;
    font-weight: 700 !important;
}

.ybs-manager-v060 .ybs-manager-booking-block span {
    color: color-mix(in srgb, var(--yb-graphite, #333) 68%, transparent) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.ybs-manager-v060 .ybs-manager-booking-block.ybs-status-walk_in {
    border-color: color-mix(in srgb, var(--yb-matcha, #7A8450) 34%, transparent) !important;
    background: color-mix(in srgb, var(--yb-matcha, #7A8450) 13%, var(--yb-cream-light, #FFFDF8)) !important;
    color: var(--yb-matcha-dark, #626B3F) !important;
}

.ybs-manager-v060 .ybs-manager-booking-block.ybs-status-seated {
    border-color: color-mix(in srgb, var(--yb-matcha, #7A8450) 40%, transparent) !important;
    background: color-mix(in srgb, var(--yb-matcha, #7A8450) 18%, var(--yb-cream-light, #FFFDF8)) !important;
    color: var(--yb-matcha-dark, #626B3F) !important;
}

.ybs-manager-v060 .ybs-manager-booking-block.ybs-status-blocked {
    border-color: color-mix(in srgb, var(--yb-graphite, #333) 30%, transparent) !important;
    background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--yb-graphite, #333) 12%, var(--yb-cream-light, #FFFDF8)) 0 7px, color-mix(in srgb, var(--yb-graphite, #333) 6%, var(--yb-cream-light, #FFFDF8)) 7px 14px) !important;
    color: var(--yb-graphite, #333) !important;
}

.ybs-manager-v060 .ybs-manager-booking-block.ybs-status-no_show {
    border-color: color-mix(in srgb, #b84a4a 38%, transparent) !important;
    background: color-mix(in srgb, #b84a4a 12%, var(--yb-cream-light, #FFFDF8)) !important;
    color: #9c3131 !important;
}

.ybs-manager-v060 .ybs-manager-slot.is-range-start,
.ybs-manager-v060 .ybs-manager-slot.is-range-end,
.ybs-manager-v060 .ybs-manager-slot.is-in-range {
    background: color-mix(in srgb, var(--yb-accent, #963641) 9%, transparent) !important;
    outline: 1px dashed color-mix(in srgb, var(--yb-accent, #963641) 44%, transparent) !important;
    outline-offset: -5px !important;
}

.ybs-manager-v060 .ybs-manager-now-line {
    top: 0 !important;
    bottom: 0 !important;
    width: 2px !important;
    background: #d33b2f !important;
    z-index: 8 !important;
}

.ybs-manager-v060 .ybs-manager-now-line b {
    top: 5px !important;
    transform: translate(-50%, 0) !important;
    background: #d33b2f !important;
}

.ybs-manager-v060 .ybs-manager-row-actions {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 8px !important;
    z-index: 10 !important;
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    background: rgba(255, 253, 248, .96) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.10) !important;
}

.ybs-manager-v060 .ybs-manager-row-actions[hidden] {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list {
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 14%, transparent) !important;
    border-radius: 20px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.06) !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list h3 {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    color: var(--ybs-text-muted) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent) !important;
    border-left: 4px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.ybs-status-confirmed {
    border-left-color: var(--yb-accent, #963641) !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 6%, transparent) !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.ybs-status-walk_in,
.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.ybs-status-seated {
    border-left-color: var(--yb-matcha, #7A8450) !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.ybs-status-blocked {
    border-left-color: var(--yb-graphite, #333) !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card:hover,
.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.is-highlighted {
    background: color-mix(in srgb, var(--yb-accent, #963641) 9%, var(--yb-cream-light, #FFFDF8)) !important;
    box-shadow: none !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card strong {
    color: var(--yb-graphite, #333) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card span,
.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card small {
    color: var(--ybs-text-muted) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-booking-actions {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-side-panel {
    width: min(420px, calc(100vw - 32px)) !important;
}

@media (max-width: 979px) {
    .ybs-card.ybs-manager-v060 {
        display: block !important;
        margin: 12px !important;
        padding: 18px !important;
    }

    .ybs-manager-v060 .ybs-manager-week,
    .ybs-manager-v060 .ybs-manager-stats,
    .ybs-manager-v060 .ybs-manager-tools {
        margin-top: 14px;
    }

    .ybs-manager-v060 .ybs-manager-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ybs-manager-v060 .ybs-manager-time-head,
    .ybs-manager-v060 .ybs-manager-table-row,
    .ybs-manager-v060 .ybs-manager-zone-row {
        grid-template-columns: 118px minmax(0, 1fr) !important;
    }

    .ybs-manager-v060 .ybs-manager-head-slots span,
    .ybs-manager-v060 .ybs-manager-slot {
        width: 82px !important;
        flex-basis: 82px !important;
    }

    .ybs-manager-v060 .ybs-manager-timeline-grid,
    .ybs-manager-v060 .ybs-manager-head-slots {
        --ybs-slot-width: 82px !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        margin-top: 18px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager fullscreen and side panel refinement v0.7.1 2026 06 08
 * ---------------------------------------------------------
 * Зачем:
 * - растянуть панель менеджера на рабочую ширину экрана
 * - убрать кнопку календаря и оставить чистую дату
 * - переставить метрики по схеме значение -> пояснение
 * - дать правой колонке режим свернуть / развернуть
 * - использовать официальный логотип сайта YUMBAKER
 * =========================================================
 */

@media (min-width: 980px) {
    .ybs-card.ybs-manager-v060 {
        position: relative !important;
        left: 50% !important;
        width: calc(100vw - 40px) !important;
        max-width: none !important;
        margin: 20px 0 20px calc(-50vw + 20px) !important;
        padding: 22px 28px 28px !important;
        grid-template-columns: minmax(0, 1fr) 360px !important;
        column-gap: 24px !important;
    }

    .ybs-card.ybs-manager-v060.is-bookings-collapsed {
        grid-template-columns: minmax(0, 1fr) 58px !important;
    }
}

.ybs-manager-v060 .ybs-manager-logo {
    width: 178px !important;
    min-width: 178px !important;
    height: 52px !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ybs-manager-v060 .ybs-manager-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.ybs-manager-v060 .ybs-manager-date-jump {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-date-current {
    min-height: 48px;
    min-width: 132px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 12%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--yb-cream-light, #FFFDF8) 88%, #fff);
    color: var(--ybs-text-muted, rgba(51,51,51,.58));
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}

.ybs-manager-v060 .ybs-manager-stats div {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 76px !important;
}

.ybs-manager-v060 .ybs-manager-stats strong {
    margin: 0 !important;
    min-width: 34px !important;
    font-size: 34px !important;
    line-height: 1 !important;
}

.ybs-manager-v060 .ybs-manager-stats span {
    color: var(--ybs-text-muted, rgba(51,51,51,.58)) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.ybs-manager-v060 .ybs-manager-bookings-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 1fr 36px 30px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
}

.ybs-manager-v060 .ybs-manager-bookings-head h3 {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.ybs-manager-v060 .ybs-manager-bookings-head button {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent) !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    color: var(--yb-accent, #963641) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: none !important;
}

.ybs-manager-v060 .ybs-manager-bookings-head span {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--yb-accent, #963641) 10%, var(--yb-cream-light, #FFFDF8));
    color: var(--yb-accent, #963641);
    font-size: 13px;
    font-weight: 700;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-list {
    overflow: hidden !important;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 12px 8px !important;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head h3,
.ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head span,
.ybs-manager-v060.is-bookings-collapsed .ybs-manager-booking-card {
    display: none !important;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head button {
    transform: rotate(180deg) !important;
}

.ybs-manager-v060 .ybs-manager-booking-card.is-highlighted {
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #FFFDF8)) !important;
}

@media (max-width: 979px) {
    .ybs-manager-v060 .ybs-manager-logo {
        width: 148px !important;
        min-width: 148px !important;
        height: 44px !important;
    }

    .ybs-manager-v060 .ybs-manager-date-current {
        min-width: 0;
        width: 100%;
    }

    .ybs-manager-v060 .ybs-manager-stats div {
        min-height: 68px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager dashboard exact visual alignment v0.7.2 2026 06 08
 * ---------------------------------------------------------
 * Зачем:
 * - привести экран посадки к утвержденной широкоформатной визуализации
 * - убрать ощущение карточки внутри страницы и сделать полноценный рабочий экран
 * - выровнять верхнюю панель, метрики, таймлайн и правую колонку броней
 * - сохранить фирменные токены YUMBAKER и рабочую логику v0.7
 * =========================================================
 */

@media (min-width: 980px) {
    body:has(.ybs-manager-v060) {
        background: #faf8f4 !important;
    }

    .ybs-card.ybs-manager-v060 {
        --ybs-manager-side: 392px;
        --ybs-manager-gap: 28px;
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: none !important;
        min-height: 100vh !important;
        margin: 0 0 0 -50vw !important;
        padding: 0 28px 32px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) var(--ybs-manager-side) !important;
        grid-auto-rows: auto !important;
        column-gap: var(--ybs-manager-gap) !important;
        row-gap: 20px !important;
        align-items: start !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #faf8f4 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .ybs-card.ybs-manager-v060.is-bookings-collapsed {
        grid-template-columns: minmax(0, 1fr) 58px !important;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        margin: 0 -28px !important;
        padding: 22px 32px !important;
        min-height: 86px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
        background: rgba(255, 253, 248, 0.94) !important;
        box-shadow: 0 1px 0 rgba(0,0,0,.02) !important;
        z-index: 30 !important;
    }

    .ybs-manager-v060 .ybs-manager-brand {
        display: flex !important;
        align-items: center !important;
        gap: 30px !important;
        min-width: 0 !important;
    }

    .ybs-manager-v060 .ybs-manager-logo {
        position: relative !important;
        width: 220px !important;
        min-width: 220px !important;
        height: 54px !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .ybs-manager-v060 .ybs-manager-logo::after {
        content: "";
        position: absolute;
        top: 4px;
        right: -18px;
        width: 1px;
        height: 46px;
        background: color-mix(in srgb, var(--yb-graphite, #333333) 12%, transparent);
    }

    .ybs-manager-v060 .ybs-manager-logo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    .ybs-manager-v060 .ybs-manager-brand .ybs-kicker {
        margin: 0 0 3px !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 50%, transparent) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: .09em !important;
    }

    .ybs-manager-v060 .ybs-manager-brand h2 {
        margin: 0 !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 24px !important;
        font-weight: 600 !important;
        line-height: 1.05 !important;
    }

    .ybs-manager-v060 .ybs-manager-logout {
        min-height: 44px !important;
        padding: 0 22px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 20%, transparent) !important;
        border-radius: 12px !important;
        background: #fff !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }

    .ybs-manager-v060 .ybs-manager-venues {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 360px !important;
        display: flex !important;
        gap: 8px !important;
        align-items: center !important;
        z-index: 2 !important;
    }

    .ybs-manager-v060 .ybs-manager-pill {
        min-height: 46px !important;
        padding: 12px 22px !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 10%, transparent) !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.03) !important;
        color: var(--yb-graphite, #333333) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    .ybs-manager-v060 .ybs-manager-pill.is-active {
        background: var(--yb-accent, #963641) !important;
        border-color: var(--yb-accent, #963641) !important;
        color: #fff !important;
        box-shadow: 0 10px 22px color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-week {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: min(760px, calc(100% - 430px)) !important;
        min-width: 560px !important;
        margin: 0 auto !important;
        min-height: 72px !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px 132px !important;
        gap: 12px !important;
        align-items: center !important;
        padding: 10px 12px !important;
        border: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 12px 28px rgba(0,0,0,.035) !important;
    }

    .ybs-manager-v060 .ybs-manager-days {
        display: grid !important;
        grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .ybs-manager-v060 .ybs-manager-day {
        min-height: 54px !important;
        padding: 8px 8px !important;
        display: grid !important;
        place-content: center !important;
        gap: 2px !important;
        border-radius: 12px !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-day span {
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 48%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-day strong {
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        color: var(--yb-graphite, #333333) !important;
    }

    .ybs-manager-v060 .ybs-manager-day.is-active {
        background: color-mix(in srgb, var(--yb-accent, #963641) 6%, #fff) !important;
        border-color: var(--yb-accent, #963641) !important;
    }

    .ybs-manager-v060 .ybs-manager-arrow {
        width: 38px !important;
        height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 26px !important;
        font-weight: 500 !important;
    }

    .ybs-manager-v060 .ybs-manager-date-current {
        min-height: 42px !important;
        min-width: 118px !important;
        padding: 0 16px !important;
        border-radius: 999px !important;
        background: color-mix(in srgb, #fff 88%, var(--yb-cream, #FFF7EC)) !important;
        border: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 10%, transparent) !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 56%, transparent) !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    .ybs-manager-v060 .ybs-manager-stats {
        grid-column: 1 !important;
        grid-row: 3 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ybs-manager-v060 .ybs-manager-stats div {
        min-height: 84px !important;
        padding: 18px 20px !important;
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        border-radius: 14px !important;
        border: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
        background: #fff !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.025) !important;
    }

    .ybs-manager-v060 .ybs-manager-stats strong {
        display: block !important;
        min-width: 40px !important;
        margin: 0 !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 34px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-stats span {
        display: block !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 66%, transparent) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.22 !important;
    }

    .ybs-manager-v060 .ybs-manager-tools {
        grid-column: 1 !important;
        grid-row: 4 !important;
        min-height: 54px !important;
        display: grid !important;
        grid-template-columns: minmax(260px, 390px) 1fr !important;
        gap: 24px !important;
        align-items: center !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
.ybs-manager-v060 .ybs-manager-legend {
        display: flex !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 60%, transparent) !important;
        font-size: 13px !important;
    }

    .ybs-manager-v060 .ybs-manager-board {
        grid-column: 1 !important;
        grid-row: 5 !important;
        min-height: calc(100vh - 410px) !important;
        border-radius: 12px !important;
        border: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
        background: #fff !important;
        box-shadow: 0 12px 30px rgba(0,0,0,.025) !important;
        overflow: auto !important;
    }

    .ybs-manager-v060 .ybs-manager-time-head,
    .ybs-manager-v060 .ybs-manager-table-row {
        grid-template-columns: 150px minmax(0, 1fr) !important;
    }

    .ybs-manager-v060 .ybs-manager-table-head,
    .ybs-manager-v060 .ybs-manager-table-meta {
        border-right: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-time-head {
        min-height: 48px !important;
        background: #fff !important;
        border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-table-head {
        padding: 0 18px !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 62%, transparent) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        letter-spacing: .06em !important;
    }

    .ybs-manager-v060 .ybs-manager-head-slots,
    .ybs-manager-v060 .ybs-manager-timeline-grid {
        --ybs-slot-width: 80px !important;
        grid-template-columns: repeat(var(--ybs-slot-count), var(--ybs-slot-width)) !important;
        width: calc(var(--ybs-slot-count) * var(--ybs-slot-width)) !important;
        min-width: calc(var(--ybs-slot-count) * var(--ybs-slot-width)) !important;
    }

    .ybs-manager-v060 .ybs-manager-head-slots {
        height: 48px !important;
    }

    .ybs-manager-v060 .ybs-manager-head-slots span {
        width: 80px !important;
        flex: 0 0 80px !important;
        justify-content: center !important;
        border-left: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 7%, transparent) !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 72%, transparent) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    .ybs-manager-v060 .ybs-manager-zone-row {
        grid-template-columns: 150px minmax(0, 1fr) !important;
        min-height: 34px !important;
        background: color-mix(in srgb, var(--yb-accent, #963641) 4%, #fff) !important;
    }

    .ybs-manager-v060 .ybs-manager-zone-row span {
        padding: 10px 18px !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    .ybs-manager-v060 .ybs-manager-table-row {
        min-height: 74px !important;
        border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 7%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-table-meta {
        min-height: 74px !important;
        padding: 12px 18px !important;
        background: color-mix(in srgb, var(--yb-cream, #FFF7EC) 45%, #fff) !important;
        align-content: center !important;
    }

    .ybs-manager-v060 .ybs-manager-table-meta strong {
        color: var(--yb-graphite, #333333) !important;
        font-size: 17px !important;
        font-weight: 700 !important;
    }

    .ybs-manager-v060 .ybs-manager-table-meta span,
    .ybs-manager-v060 .ybs-manager-table-meta small {
        color: color-mix(in srgb, var(--yb-graphite, #333333) 58%, transparent) !important;
        font-size: 12px !important;
        line-height: 1.18 !important;
    }

    .ybs-manager-v060 .ybs-manager-row-main,
    .ybs-manager-v060 .ybs-manager-timeline-wrap,
    .ybs-manager-v060 .ybs-manager-timeline-scroll,
    .ybs-manager-v060 .ybs-manager-timeline-grid {
        min-height: 74px !important;
        height: 74px !important;
    }

    .ybs-manager-v060 .ybs-manager-timeline-scroll {
        background-image: repeating-linear-gradient(to right, transparent 0, transparent 79px, color-mix(in srgb, var(--yb-graphite, #333333) 6%, transparent) 79px, color-mix(in srgb, var(--yb-graphite, #333333) 6%, transparent) 80px) !important;
    }

    .ybs-manager-v060 .ybs-card button.ybs-manager-slot,
    .ybs-manager-v060 .ybs-manager-slot {
        width: 80px !important;
        height: 74px !important;
        min-height: 74px !important;
    }

    .ybs-manager-v060 .ybs-manager-booking-block {
        left: calc(var(--ybs-block-left) * var(--ybs-slot-width) + 8px) !important;
        top: 19px !important;
        width: calc(var(--ybs-block-width) * var(--ybs-slot-width) - 12px) !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 6px 10px !important;
        border-radius: 7px !important;
        border-width: 1px !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-booking-block strong {
        font-size: 12px !important;
        line-height: 1.1 !important;
    }

    .ybs-manager-v060 .ybs-manager-booking-block span {
        font-size: 11px !important;
        line-height: 1.1 !important;
    }

    .ybs-manager-v060 .ybs-manager-now-line {
        top: 0 !important;
        bottom: 0 !important;
        width: 2px !important;
        background: #d43a31 !important;
        z-index: 20 !important;
    }

    .ybs-manager-v060 .ybs-manager-now-line b {
        top: 5px !important;
        padding: 3px 7px !important;
        border-radius: 7px !important;
        background: #d43a31 !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        transform: translate(-50%, 0) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        grid-column: 2 !important;
        grid-row: 2 / span 4 !important;
        position: sticky !important;
        top: 108px !important;
        max-height: calc(100vh - 132px) !important;
        overflow: auto !important;
        align-self: start !important;
        border-radius: 14px !important;
        border: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
        background: #fff !important;
        box-shadow: 0 16px 36px rgba(0,0,0,.045) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head {
        min-height: 60px !important;
        padding: 16px 18px !important;
        background: #fff !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head h3 {
        color: color-mix(in srgb, var(--yb-graphite, #333333) 68%, transparent) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: .08em !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head button {
        border: 0 !important;
        background: transparent !important;
        font-size: 22px !important;
        color: var(--yb-graphite, #333333) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head span {
        background: color-mix(in srgb, var(--yb-graphite, #333333) 7%, #fff) !important;
        color: color-mix(in srgb, var(--yb-graphite, #333333) 58%, transparent) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card {
        min-height: 88px !important;
        padding: 18px 20px !important;
        border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333333) 8%, transparent) !important;
        border-left-width: 4px !important;
        background: transparent !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.ybs-status-confirmed,
    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card.is-highlighted {
        background: color-mix(in srgb, var(--yb-accent, #963641) 7%, #fff) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card strong {
        color: var(--yb-graphite, #333333) !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card span,
    .ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card small {
        color: color-mix(in srgb, var(--yb-graphite, #333333) 62%, transparent) !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 979px) {
    .ybs-card.ybs-manager-v060 {
        border-radius: 0 !important;
        margin: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    .ybs-manager-v060 .ybs-manager-logo {
        width: 170px !important;
        min-width: 170px !important;
        height: 48px !important;
    }

    .ybs-manager-v060 .ybs-manager-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager layout exact alignment v0.7.3 2026 06 08
 * ---------------------------------------------------------
 * Зачем:
 * - приблизить верстку менеджерской панели к утвержденной визуализации
 * - зафиксировать трехколоночную композицию: заведения / неделя / брони
 * - убрать визуальные артефакты плавающей кнопки правой панели
 * - выровнять легенду, поиск, метрики и таймлайн в одном рабочем ритме
 * =========================================================
 */

@media (min-width: 980px) {
    body:has(.ybs-manager-v060),
    body.page:has(.ybs-manager-v060) {
        background: #faf8f4 !important;
    }

    .ybs-card.ybs-manager-v060 {
        --ybs-manager-side: 386px;
        --ybs-manager-left: 420px;
        --ybs-manager-gap: 28px;
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: none !important;
        min-height: 100vh !important;
        margin: 0 0 0 -50vw !important;
        padding: 0 28px 34px !important;
        display: grid !important;
        grid-template-columns: var(--ybs-manager-left) minmax(640px, 1fr) var(--ybs-manager-side) !important;
        column-gap: var(--ybs-manager-gap) !important;
        row-gap: 20px !important;
        align-items: start !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #faf8f4 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .ybs-card.ybs-manager-v060.is-bookings-collapsed {
        grid-template-columns: var(--ybs-manager-left) minmax(640px, 1fr) 54px !important;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        min-height: 92px !important;
        margin: 0 -28px !important;
        padding: 22px 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 28px !important;
        border-bottom: 1px solid rgba(51, 51, 51, .08) !important;
        background: rgba(255, 253, 248, .96) !important;
        box-shadow: 0 1px 0 rgba(0,0,0,.02) !important;
        z-index: 40 !important;
    }

    .ybs-manager-v060 .ybs-manager-brand {
        display: flex !important;
        align-items: center !important;
        gap: 34px !important;
        min-width: 0 !important;
    }

    .ybs-manager-v060 .ybs-manager-logo {
        position: relative !important;
        width: 220px !important;
        min-width: 220px !important;
        height: 54px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .ybs-manager-v060 .ybs-manager-logo::after {
        content: "";
        position: absolute;
        top: 3px;
        right: -20px;
        width: 1px;
        height: 48px;
        background: rgba(51, 51, 51, .12);
    }

    .ybs-manager-v060 .ybs-manager-logo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    .ybs-manager-v060 .ybs-manager-brand .ybs-kicker {
        margin: 0 0 3px !important;
        color: rgba(51,51,51,.5) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        letter-spacing: .09em !important;
    }

    .ybs-manager-v060 .ybs-manager-brand h2 {
        margin: 0 !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 25px !important;
        font-weight: 600 !important;
        line-height: 1.05 !important;
    }

    .ybs-manager-v060 .ybs-manager-logout {
        min-height: 44px !important;
        padding: 0 22px !important;
        border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 22%, transparent) !important;
        border-radius: 12px !important;
        background: #fff !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-venues {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-height: 72px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        align-self: center !important;
    }

    .ybs-manager-v060 .ybs-manager-pill {
        min-height: 48px !important;
        padding: 12px 24px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(51,51,51,.10) !important;
        background: #fff !important;
        color: var(--yb-graphite, #333) !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        box-shadow: 0 8px 20px rgba(0,0,0,.03) !important;
    }

    .ybs-manager-v060 .ybs-manager-pill.is-active {
        background: var(--yb-accent, #963641) !important;
        border-color: var(--yb-accent, #963641) !important;
        color: #fff !important;
    }

    .ybs-manager-v060 .ybs-manager-week {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 72px !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) 42px 136px !important;
        gap: 12px !important;
        align-items: center !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(51,51,51,.08) !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 12px 28px rgba(0,0,0,.035) !important;
    }

    .ybs-manager-v060 .ybs-manager-days {
        display: grid !important;
        grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .ybs-manager-v060 .ybs-manager-day {
        min-height: 54px !important;
        padding: 7px 8px !important;
        border-radius: 12px !important;
        display: grid !important;
        place-content: center !important;
        gap: 3px !important;
        border: 1px solid transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-day span {
        color: rgba(51,51,51,.48) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-day strong {
        color: var(--yb-graphite, #333) !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-day.is-active {
        border-color: var(--yb-accent, #963641) !important;
        background: color-mix(in srgb, var(--yb-accent, #963641) 6%, #fff) !important;
    }

    .ybs-manager-v060 .ybs-manager-day.is-active span,
    .ybs-manager-v060 .ybs-manager-day.is-active strong {
        color: var(--yb-accent, #963641) !important;
    }

    .ybs-manager-v060 .ybs-manager-arrow {
        width: 38px !important;
        height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 26px !important;
        line-height: 1 !important;
        border-radius: 999px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-date-current {
        min-width: 126px !important;
        min-height: 42px !important;
        padding: 0 16px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(51,51,51,.10) !important;
        background: #fff !important;
        color: rgba(51,51,51,.58) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        grid-column: 3 !important;
        grid-row: 2 / 6 !important;
        position: sticky !important;
        top: 112px !important;
        align-self: start !important;
        max-height: calc(100vh - 136px) !important;
        overflow: auto !important;
        border: 1px solid rgba(51,51,51,.08) !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 16px 36px rgba(0,0,0,.045) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head {
        min-height: 58px !important;
        display: grid !important;
        grid-template-columns: 1fr 32px 28px !important;
        gap: 8px !important;
        align-items: center !important;
        padding: 14px 18px !important;
        background: #fff !important;
        border-bottom: 1px solid rgba(51,51,51,.08) !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head h3 {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: rgba(51,51,51,.68) !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head button {
        width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: var(--yb-graphite, #333) !important;
        font-size: 22px !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-head span {
        width: 28px !important;
        height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        background: rgba(51,51,51,.06) !important;
        color: rgba(51,51,51,.58) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    .ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-list {
        overflow: hidden !important;
    }

    .ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        padding: 12px 8px !important;
    }

    .ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head h3,
    .ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head span,
    .ybs-manager-v060.is-bookings-collapsed .ybs-manager-booking-card {
        display: none !important;
    }

    .ybs-manager-v060.is-bookings-collapsed .ybs-manager-bookings-head button {
        transform: rotate(180deg) !important;
    }

    .ybs-manager-v060 .ybs-manager-stats {
        grid-column: 1 / 3 !important;
        grid-row: 3 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .ybs-manager-v060 .ybs-manager-stats div {
        min-height: 84px !important;
        padding: 16px 20px !important;
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        border: 1px solid rgba(51,51,51,.08) !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.025) !important;
    }

    .ybs-manager-v060 .ybs-manager-stats strong {
        min-width: 38px !important;
        margin: 0 !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 34px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-stats span {
        display: block !important;
        color: rgba(51,51,51,.62) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.22 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    .ybs-manager-v060 .ybs-manager-stats span::before {
        display: none !important;
    }

    .ybs-manager-v060 .ybs-manager-tools {
        grid-column: 1 / 3 !important;
        grid-row: 4 !important;
        min-height: 52px !important;
        display: grid !important;
        grid-template-columns: 380px minmax(0, 1fr) !important;
        gap: 24px !important;
        align-items: center !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
.ybs-manager-v060 .ybs-manager-legend {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 17px !important;
        color: rgba(51,51,51,.58) !important;
        font-size: 13px !important;
    }

    .ybs-manager-v060 .ybs-manager-legend span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }

    .ybs-manager-v060 .ybs-manager-board {
        grid-column: 1 / 3 !important;
        grid-row: 5 !important;
        min-height: calc(100vh - 420px) !important;
        overflow: auto !important;
        border: 1px solid rgba(51,51,51,.08) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 12px 30px rgba(0,0,0,.025) !important;
    }

    .ybs-manager-v060 .ybs-manager-time-head,
    .ybs-manager-v060 .ybs-manager-table-row {
        grid-template-columns: 150px minmax(0, 1fr) !important;
    }

    .ybs-manager-v060 .ybs-manager-time-head {
        position: sticky !important;
        top: 0 !important;
        z-index: 15 !important;
        min-height: 48px !important;
        background: #fff !important;
        border-bottom: 1px solid rgba(51,51,51,.08) !important;
    }

    .ybs-manager-v060 .ybs-manager-table-head,
    .ybs-manager-v060 .ybs-manager-table-meta {
        border-right: 1px solid rgba(51,51,51,.08) !important;
    }

    .ybs-manager-v060 .ybs-manager-table-head {
        padding: 0 18px !important;
        color: rgba(51,51,51,.60) !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        letter-spacing: .06em !important;
    }

    .ybs-manager-v060 .ybs-manager-head-slots,
    .ybs-manager-v060 .ybs-manager-timeline-grid {
        --ybs-slot-width: 82px !important;
        grid-template-columns: repeat(var(--ybs-slot-count), var(--ybs-slot-width)) !important;
        width: calc(var(--ybs-slot-count) * var(--ybs-slot-width)) !important;
        min-width: calc(var(--ybs-slot-count) * var(--ybs-slot-width)) !important;
    }

    .ybs-manager-v060 .ybs-manager-head-slots span {
        width: 82px !important;
        flex: 0 0 82px !important;
        color: rgba(51,51,51,.72) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    .ybs-manager-v060 .ybs-manager-zone-row {
        grid-template-columns: 150px minmax(0, 1fr) !important;
        min-height: 34px !important;
        background: color-mix(in srgb, var(--yb-accent, #963641) 4%, #fff) !important;
    }

    .ybs-manager-v060 .ybs-manager-zone-row span {
        padding: 10px 18px !important;
        color: var(--yb-accent, #963641) !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        letter-spacing: .08em !important;
    }

    .ybs-manager-v060 .ybs-manager-table-row {
        min-height: 76px !important;
        border-bottom: 1px solid rgba(51,51,51,.07) !important;
    }

    .ybs-manager-v060 .ybs-manager-table-meta {
        min-height: 76px !important;
        padding: 12px 18px !important;
        background: color-mix(in srgb, var(--yb-cream, #fff7ec) 45%, #fff) !important;
        align-content: center !important;
    }

    .ybs-manager-v060 .ybs-manager-table-meta strong {
        color: var(--yb-graphite, #333) !important;
        font-size: 17px !important;
        font-weight: 800 !important;
    }

    .ybs-manager-v060 .ybs-manager-table-meta span,
    .ybs-manager-v060 .ybs-manager-table-meta small {
        color: rgba(51,51,51,.58) !important;
        font-size: 12px !important;
        line-height: 1.18 !important;
    }

    .ybs-manager-v060 .ybs-manager-row-main,
    .ybs-manager-v060 .ybs-manager-timeline-wrap,
    .ybs-manager-v060 .ybs-manager-timeline-scroll,
    .ybs-manager-v060 .ybs-manager-timeline-grid,
    .ybs-manager-v060 .ybs-manager-slot {
        min-height: 76px !important;
        height: 76px !important;
    }

    .ybs-manager-v060 .ybs-manager-timeline-scroll {
        background-image: repeating-linear-gradient(to right, transparent 0, transparent 81px, rgba(51,51,51,.06) 81px, rgba(51,51,51,.06) 82px) !important;
    }

    .ybs-manager-v060 .ybs-card button.ybs-manager-slot,
    .ybs-manager-v060 .ybs-manager-slot {
        width: 82px !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 1px solid rgba(51,51,51,.045) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ybs-manager-v060 .ybs-manager-booking-block {
        top: 19px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 6px 10px !important;
        border-radius: 7px !important;
    }

    .ybs-manager-v060 .ybs-manager-now-line[hidden] {
        display: none !important;
    }
}

@media (min-width: 980px) and (max-width: 1500px) {
    .ybs-card.ybs-manager-v060 {
        --ybs-manager-side: 340px;
        --ybs-manager-left: 360px;
        --ybs-manager-gap: 22px;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        margin-left: -22px !important;
        margin-right: -22px !important;
    }

    .ybs-manager-v060 .ybs-manager-stats strong {
        font-size: 30px !important;
        min-width: 34px !important;
    }

    .ybs-manager-v060 .ybs-manager-stats div {
        padding: 14px 16px !important;
        gap: 12px !important;
    }
}

@media (max-width: 979px) {
    .ybs-card.ybs-manager-v060 {
        border-radius: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }

    .ybs-manager-v060 .ybs-manager-logo {
        width: 170px !important;
        min-width: 170px !important;
        height: 48px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager interactions and visual polish v0.7.8 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - сохранить чистый единый блок актуальных manager-правок v0.7.x
 * - убрать дублирование старых хвостовых CSS-блоков v0.7.4-v0.7.6
 * - поддержать AJAX-состояния, ghost drag/resize и optimistic drop
 * - увеличить высоту брони, чтобы текст помещался
 * - перенести выбор заведения и поиск в правую панель броней
 * =========================================================
 */
.ybs-manager.is-ajax-loading {
    cursor: progress;
}

.ybs-manager.is-ajax-loading .ybs-manager-board,
.ybs-manager.is-ajax-loading .ybs-manager-bookings-list {
    opacity: 0.82;
}

.ybs-manager-v060 .ybs-manager-tools--legend-only {
    justify-content: flex-end !important;
}

.ybs-manager-v060 .ybs-manager-booking-block {
    top: 12px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    user-select: none;
    touch-action: none;
}

.ybs-manager-v060 .ybs-booking-block-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 7px 8px;
    cursor: grab;
    overflow: hidden;
}

.ybs-manager-v060 .ybs-booking-block-content:active {
    cursor: grabbing;
}

.ybs-manager-v060 .ybs-manager-booking-block strong,
.ybs-manager-v060 .ybs-manager-booking-block span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ybs-manager-v060 .ybs-manager-booking-block strong {
    font-size: 13px !important;
    line-height: 1.12 !important;
}

.ybs-manager-v060 .ybs-manager-booking-block span {
    font-size: 11px !important;
    line-height: 1.12 !important;
}

.ybs-manager-v060 .ybs-booking-resize {
    flex: 0 0 8px;
    width: 8px;
    min-width: 8px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    cursor: ew-resize;
    transition: opacity .14s ease, background .14s ease;
}

.ybs-manager-v060 .ybs-booking-resize::after {
    content: "";
    width: 2px;
    height: 18px;
    border-radius: 999px;
    background: currentColor;
    opacity: .42;
}

.ybs-manager-v060 .ybs-manager-booking-block:hover .ybs-booking-resize {
    opacity: 1;
}

.ybs-manager-v060 .ybs-booking-resize:hover {
    background: rgba(0,0,0,.045);
}

.ybs-manager-v060 .ybs-manager-booking-block.is-ajax-dragging {
    z-index: 50 !important;
    opacity: 0.88 !important;
    cursor: grabbing !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
    pointer-events: auto;
}

.ybs-manager-v060 .ybs-manager-booking-block.is-drag-source {
    opacity: .28 !important;
}

.ybs-manager-v060 .ybs-manager-table-row.is-drop-over .ybs-manager-timeline-grid,
.ybs-manager-v060 [data-ybs-manager-row].is-drop-over .ybs-manager-timeline-grid {
    outline: 2px dashed color-mix(in srgb, var(--yb-matcha, #7A8450) 42%, transparent);
    outline-offset: -3px;
    background: color-mix(in srgb, var(--yb-matcha, #7A8450) 7%, transparent);
}

.ybs-manager-drag-ghost {
    position: fixed !important;
    pointer-events: none !important;
    z-index: 999999 !important;
    opacity: .88 !important;
    border-radius: 9px !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.22) !important;
    transform: none !important;
    box-sizing: border-box !important;
}

.ybs-manager-drag-tip {
    position: fixed;
    z-index: 1000000;
    transform: translateX(-50%);
    pointer-events: none;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--yb-graphite, #333333);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.ybs-manager-v060 .ybs-manager-booking-block.is-optimistic-saved {
    animation: ybs-manager-optimistic-saved 0.5s ease-out;
}

@keyframes ybs-manager-optimistic-saved {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--yb-matcha, #7A8450) 42%, transparent); }
    55% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--yb-matcha, #7A8450) 18%, transparent); }
    100% { box-shadow: none; }
}

.ybs-manager-v060 .ybs-manager-bookings-head--v077 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center !important;
    padding: 16px 18px 12px !important;
}

.ybs-manager-v060 .ybs-manager-bookings-title {
    min-width: 0;
}

.ybs-manager-v060 .ybs-manager-bookings-title h3 {
    margin: 0 0 4px !important;
    color: var(--ybs-text-muted, rgba(51,51,51,.58)) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.ybs-manager-v060 .ybs-manager-bookings-title strong {
    display: block;
    color: var(--yb-accent, #963641);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.16;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ybs-manager-v060 .ybs-manager-bookings-controls {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ybs-manager-v060 .ybs-side-tool,
.ybs-manager-v060 .ybs-side-collapse {
    min-height: 34px !important;
    padding: 8px 11px !important;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent) !important;
    border-radius: 999px !important;
    background: var(--yb-field-bg, var(--yb-cream-light)) !important;
    color: var(--yb-accent, #963641) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.ybs-manager-v060 .ybs-side-tool:hover,
.ybs-manager-v060 .ybs-side-tool.is-active {
    background: color-mix(in srgb, var(--yb-accent, #963641) 9%, var(--yb-cream-light, #FFFDF8)) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 34%, transparent) !important;
    transform: none !important;
}

.ybs-manager-v060 .ybs-side-collapse {
    width: 34px !important;
    padding: 0 !important;
    font-size: 18px !important;
}


.ybs-manager-v060 .ybs-manager-bookings-count {
    min-width: 28px;
    height: 28px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--yb-accent, #963641) 10%, var(--yb-cream-light, #FFFDF8));
    color: var(--yb-accent, #963641) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.ybs-manager-v060 .ybs-manager-side-mini {
    margin: 0 18px 12px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 12%, transparent);
    border-radius: 16px;
    background: var(--yb-field-bg, var(--yb-cream-light));
}

.ybs-manager-v060 .ybs-manager-side-mini[hidden] {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-side-venues {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.ybs-manager-v060 .ybs-manager-side-venues .ybs-manager-pill {
    min-height: 38px !important;
    width: 100%;
    padding: 9px 12px !important;
    justify-content: center;
    text-align: center;
}

@media (max-width: 767px) {
    .ybs-manager-v060 .ybs-manager-bookings-head--v077 {
        grid-template-columns: 1fr;
        align-items: stretch !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-controls {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager sidebar SVG icon buttons v0.7.10 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - использовать только SVG-иконки выбора заведения и поиска
 * - убрать белые jpeg-квадраты и лишнее наложение кнопок
 * - развести кнопки инструментов, счётчик и кнопку сворачивания
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-bookings-head--v077 {
    position: relative !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    column-gap: 10px !important;
    padding-right: 18px !important;
}

.ybs-manager-v060 .ybs-manager-bookings-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: max-content !important;
}

.ybs-manager-v060 .ybs-side-tool {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: color-mix(in srgb, var(--yb-accent, #963641) 7%, var(--yb-cream-light, #FFFDF8)) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 16%, transparent) !important;
    overflow: hidden !important;
}

.ybs-manager-v060 .ybs-side-tool:hover,
.ybs-manager-v060 .ybs-side-tool.is-active,
.ybs-manager-v060 .ybs-side-tool[aria-expanded="true"] {
    background: color-mix(in srgb, var(--yb-accent, #963641) 12%, var(--yb-cream-light, #FFFDF8)) !important;
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 36%, transparent) !important;
}

.ybs-manager-v060 .ybs-side-tool-icon {
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

.ybs-manager-v060 .ybs-side-tool-icon img {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    object-fit: contain !important;
    background: transparent !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

.ybs-manager-v060 .ybs-side-tool.is-active .ybs-side-tool-icon img,
.ybs-manager-v060 .ybs-side-tool[aria-expanded="true"] .ybs-side-tool-icon img {
    filter: none !important;
}

.ybs-manager-v060 .ybs-side-collapse {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    margin-left: 2px !important;
}

.ybs-manager-v060 .ybs-manager-bookings-count {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    position: static !important;
    z-index: 1 !important;
}

.ybs-manager-v060 .ybs-side-tool .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}



/**
 * =========================================================
 * YUMBAKER: Manager KPI/date row and footer legend v0.7.12 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - собрать KPI и выбор даты в одну ровную строку над таймлайном
 * - сделать KPI компактными: цифра сверху, подпись снизу
 * - окончательно убрать легенду из верхней зоны и оставить её под таблицей
 * =========================================================
 */
@media (min-width: 980px) {
    .ybs-card.ybs-manager-v060 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 380px !important;
        column-gap: 24px !important;
        row-gap: 14px !important;
        align-items: start !important;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        grid-column: 1 / -1 !important;
    }

    .ybs-manager-v060 .ybs-manager-summary-row,
    .ybs-manager-v060 .ybs-manager-board,
    .ybs-manager-v060 .ybs-manager-footer-legend {
        grid-column: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        grid-column: 2 !important;
        grid-row: 2 / span 4 !important;
        position: sticky !important;
        top: 18px !important;
        max-height: calc(100vh - 36px) !important;
        overflow: auto !important;
    }
}

.ybs-manager-v060 .ybs-manager-summary-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    min-width: 0 !important;
}

.ybs-manager-v060 .ybs-manager-shift-kpis {
    flex: 0 0 36% !important;
    min-width: 360px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.ybs-manager-v060 .ybs-manager-shift-kpis div {
    min-height: 72px !important;
    padding: 10px 8px !important;
    border: 1px solid var(--ybs-border-strong, rgba(51,51,51,.12)) !important;
    border-radius: 16px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.035) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    text-align: center !important;
}

.ybs-manager-v060 .ybs-manager-shift-kpis strong {
    color: var(--yb-accent, #963641) !important;
    font-size: clamp(22px, 1.8vw, 30px) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.ybs-manager-v060 .ybs-manager-shift-kpis span {
    display: block !important;
    max-width: 100% !important;
    color: var(--ybs-text-muted, rgba(51,51,51,.58)) !important;
    font-size: clamp(10px, .74vw, 12px) !important;
    line-height: 1.05 !important;
    font-weight: 500 !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-week {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid var(--ybs-border-strong, rgba(51,51,51,.12)) !important;
    border-radius: 20px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.035) !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-days {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    cursor: grab !important;
    user-select: none !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-days::-webkit-scrollbar {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-days.is-dragging {
    cursor: grabbing !important;
    scroll-behavior: auto !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-day {
    flex: 0 0 48px !important;
    min-width: 48px !important;
    min-height: 52px !important;
    padding: 5px 4px !important;
    border-radius: 14px !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-day span {
    font-size: 10px !important;
    line-height: 1 !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-day strong {
    font-size: 18px !important;
    line-height: 1.05 !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-arrow {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    font-size: 24px !important;
    box-shadow: none !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-date-current {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-today {
    flex: 0 0 auto !important;
    min-width: 92px !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    border: 1px solid var(--ybs-border-strong, rgba(51,51,51,.12)) !important;
    border-radius: 999px !important;
    background: var(--yb-cream-light, #FFFDF8) !important;
    color: var(--ybs-text-muted, rgba(51,51,51,.58)) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: color .14s ease, border-color .14s ease, background-color .14s ease !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-today:hover,
.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-today:focus {
    color: var(--yb-accent, #963641) !important;
    border-color: rgba(150,54,65,.28) !important;
}

.ybs-manager-v060 .ybs-manager-stats,
.ybs-manager-v060 .ybs-manager-tools--legend-only,
.ybs-manager-v060 .ybs-manager-legend {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-board {
    margin-top: 0 !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 12px 0 0 !important;
    padding: 11px 16px !important;
    border: 1px solid var(--ybs-border, rgba(51,51,51,.08)) !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--yb-cream-light, #FFFDF8) 90%, transparent) !important;
    color: var(--ybs-text-muted, rgba(51,51,51,.58)) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    white-space: nowrap !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend i {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    display: inline-block !important;
    background: var(--yb-accent, #963641) !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend .is-walkin,
.ybs-manager-v060 .ybs-manager-footer-legend .is-seated {
    background: var(--yb-matcha, #7A8450) !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend .is-noshow {
    background: #b84a4a !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend .is-blocked {
    background: var(--yb-graphite, #333333) !important;
}

@media (max-width: 1180px) {
    .ybs-manager-v060 .ybs-manager-summary-row {
        flex-direction: column !important;
    }
    .ybs-manager-v060 .ybs-manager-shift-kpis {
        flex-basis: auto !important;
        min-width: 0 !important;
    }
}

@media (max-width: 767px) {
    .ybs-manager-v060 .ybs-manager-summary-row {
        gap: 10px !important;
        margin-bottom: 10px !important;
    }
    .ybs-manager-v060 .ybs-manager-shift-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .ybs-manager-v060 .ybs-manager-shift-kpis div {
        min-height: 58px !important;
        padding: 9px 8px !important;
    }
    .ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-week {
        overflow-x: auto !important;
    }
    .ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-days {
        min-width: 420px !important;
    }
    .ybs-manager-v060 .ybs-manager-footer-legend {
        justify-content: flex-start !important;
        gap: 10px !important;
        font-size: 12px !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager visual tuning v0.7.13 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - убрать легенду из верхней зоны и закрепить её под таблицей
 * - убрать счётчик и кнопку сворачивания из шапки правой панели
 * - сделать hover иконок без подложки, только через яркость
 * - заменить разорванные линии текущего времени на одну сквозную линию
 * =========================================================
 */
@media (min-width: 980px) {
    .ybs-card.ybs-manager-v060 {
        grid-template-rows: auto auto auto auto !important;
    }

    .ybs-manager-v060 .ybs-manager-topbar {
        grid-row: 1 !important;
    }

    .ybs-manager-v060 .ybs-manager-summary-row {
        grid-row: 2 !important;
    }

    .ybs-manager-v060 .ybs-manager-board {
        grid-row: 3 !important;
    }

    .ybs-manager-v060 .ybs-manager-footer-legend {
        grid-row: 4 !important;
    }

    .ybs-manager-v060 .ybs-manager-bookings-list {
        grid-row: 2 / span 3 !important;
    }
}

.ybs-manager-v060 .ybs-manager-legend,
.ybs-manager-v060 .ybs-manager-tools--legend-only {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-footer-legend {
    order: 99 !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}

.ybs-manager-v060 .ybs-manager-bookings-head--v077 {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.ybs-manager-v060 .ybs-manager-bookings-count,
.ybs-manager-v060 .ybs-side-collapse {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-bookings-controls {
    gap: 8px !important;
}

.ybs-manager-v060 .ybs-side-tool {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.ybs-manager-v060 .ybs-side-tool:hover,
.ybs-manager-v060 .ybs-side-tool:focus,
.ybs-manager-v060 .ybs-side-tool.is-active,
.ybs-manager-v060 .ybs-side-tool[aria-expanded="true"] {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.ybs-manager-v060 .ybs-side-tool .ybs-side-tool-icon img {
    opacity: .76 !important;
    filter: none !important;
    transition: opacity .14s ease, transform .14s ease !important;
}

.ybs-manager-v060 .ybs-side-tool:hover .ybs-side-tool-icon img,
.ybs-manager-v060 .ybs-side-tool:focus .ybs-side-tool-icon img,
.ybs-manager-v060 .ybs-side-tool.is-active .ybs-side-tool-icon img,
.ybs-manager-v060 .ybs-side-tool[aria-expanded="true"] .ybs-side-tool-icon img {
    opacity: 1 !important;
    transform: scale(1.04) !important;
}

.ybs-manager-v060 .ybs-manager-now-line {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-board {
    position: relative !important;
    overflow: visible !important;
}

.ybs-manager-v060 .ybs-manager-now-overlay {
    position: absolute !important;
    width: 2px !important;
    background: #d13b32 !important;
    z-index: 42 !important;
    pointer-events: none !important;
    box-shadow: none !important;
}

.ybs-manager-v060 .ybs-manager-now-overlay[hidden] {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-now-overlay b {
    position: absolute !important;
    top: -13px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    height: 22px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #d13b32 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: 0 6px 14px rgba(209, 59, 50, .20) !important;
}


/**
 * =========================================================
 * YUMBAKER: Manager infinite date strip v0.7.15 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - сделать дату мягко прокручиваемой горизонтальной лентой
 * - заменить дубль выбранной даты на кнопку Сегодня
 * - не наслаивать визуальные стрелки поверх нового поведения
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-week--scroll .ybs-manager-arrow {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-week--scroll .ybs-manager-days {
    mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
}

.ybs-manager-v060 .ybs-manager-week--scroll .ybs-manager-day {
    scroll-snap-align: center !important;
}

.ybs-manager-v060 .ybs-manager-week--scroll .ybs-manager-days {
    scroll-snap-type: x proximity !important;
}

@media (max-width: 767px) {
    .ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-days {
        min-width: 0 !important;
    }
}

/**
 * =========================================================
 * YUMBAKER: Manager date centering v0.7.16 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - гарантировать центрирование сегодняшней даты в прокручиваемой ленте
 * - сохранить мягкую горизонтальную прокрутку без рывков
 * - не добавлять новые визуальные слои поверх существующей верстки
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-week--scroll .ybs-manager-days {
    scroll-snap-type: none !important;
    overscroll-behavior-inline: contain !important;
}

.ybs-manager-v060 .ybs-manager-week--scroll .ybs-manager-day {
    scroll-snap-align: none !important;
}


/**
 * =========================================================
 * YUMBAKER: Manager date strip AJAX/month polish v0.7.20 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - показать месяц третьей строкой в карточке даты
 * - сохранить компактную высоту верхней строки
 * - не наслаивать старые правила, а точечно расширить существующую карточку даты
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-day small {
    display: block !important;
    margin-top: 1px !important;
    color: var(--ybs-text-muted, rgba(51,51,51,.58)) !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-transform: lowercase !important;
    white-space: nowrap !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-day.is-active small {
    color: #ffffff !important;
}

.ybs-manager-v060 .ybs-manager-summary-row .ybs-manager-day {
    min-height: 56px !important;
    justify-content: center !important;
}


/**
 * =========================================================
 * YUMBAKER: Manager functional fixes v0.7.22 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - починить поиск и фильтры правой панели без влияния на таймлайн
 * - не давать display:grid перебивать атрибут hidden
 * - сделать действия в карточках брони видимыми
 * - добавить визуальный статус waiting и структурированную боковую карточку
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-bookings-list [data-ybs-booking-list-item][hidden],
.ybs-manager-v060 .ybs-manager-bookings-list [data-ybs-booking-search-empty][hidden] {
    display: none !important;
}

.ybs-manager-v060 .ybs-manager-bookings-search {
    padding: 10px 14px 8px;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
}

.ybs-manager-v060 .ybs-manager-bookings-search input {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 18%, transparent);
    border-radius: 14px;
    background: var(--yb-cream-light, #fffdf8);
    color: var(--yb-graphite, #333);
    font-size: 13px;
    outline: none;
}

.ybs-manager-v060 .ybs-manager-booking-filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    padding: 8px 14px 10px;
    overflow: visible;
    border-bottom: 1px solid color-mix(in srgb, var(--yb-graphite, #333) 8%, transparent);
    scrollbar-width: none;
}

.ybs-manager-v060 .ybs-manager-booking-filters::-webkit-scrollbar {
    display: none;
}

.ybs-manager-v060 .ybs-manager-booking-filters button {
    width: 100%;
    min-width: 0;
    min-height: 30px;
    padding: 7px 3px;
    border: 1px solid color-mix(in srgb, var(--yb-accent, #963641) 28%, transparent);
    border-radius: 999px;
    background: var(--yb-cream-light, #fffdf8);
    color: var(--yb-accent, #963641) !important;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .01em;
    text-align: center;
    white-space: nowrap;
    text-indent: 0 !important;
    box-shadow: none;
    opacity: 1;
}

.ybs-manager-v060 .ybs-manager-booking-filters button:hover {
    border-color: color-mix(in srgb, var(--yb-accent, #963641) 46%, transparent);
    background: color-mix(in srgb, var(--yb-accent, #963641) 5%, var(--yb-cream-light, #fffdf8));
    color: var(--yb-accent, #963641) !important;
}

.ybs-manager-v060 .ybs-manager-booking-filters button.is-active {
    background: var(--yb-accent, #963641);
    border-color: var(--yb-accent, #963641);
    color: #fff !important;
}

.ybs-manager-v060 .ybs-manager-search-empty {
    margin: 0;
    padding: 0;
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    color: var(--yb-muted, #888);
    text-align: center;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card {
    min-height: auto;
    height: auto;
    overflow: visible;
    align-items: start;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    max-height: none;
    overflow: visible;
}

.ybs-manager-v060 .ybs-status-waiting,
.ybs-manager-v060 .ybs-manager-booking-block.ybs-status-waiting {
    background: color-mix(in srgb, #c87941 14%, var(--yb-cream-light, #fffdf8)) !important;
    border-color: color-mix(in srgb, #c87941 34%, transparent) !important;
    color: #8a4e1a !important;
}

.ybs-side-detail-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--yb-graphite, #333);
    margin-bottom: 6px;
}

.ybs-side-detail-meta,
.ybs-side-detail-small {
    color: var(--yb-text-secondary, rgba(51,51,51,.62));
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 8px;
}

.ybs-side-detail-actions {
    margin-top: 12px;
}


/**
 * =========================================================
 * YUMBAKER: Manager contextual actions cleanup 2026 06 10
 * ---------------------------------------------------------
 * Зачем:
 * - убрать постоянные кнопки действий из карточек правого списка
 * - оставить действия только в детальной боковой карточке выбранной брони
 * - не возвращать глобальное конфликтное скрытие без контекста
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-side-content .ybs-side-detail-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    margin-top: 14px !important;
    overflow: visible !important;
}

.ybs-manager-v060 .ybs-manager-side-content .ybs-side-detail-actions .ybs-action {
    width: 100%;
    min-width: 0;
}

/**
 * =========================================================
 * YUMBAKER: Manager booking actions normalized v0.7.30 2026 06 11
 * ---------------------------------------------------------
 * Зачем:
 * - убрать конфликтующее глобальное скрытие действий в карточках броней
 * - оставить авто-высоту карточек правого списка
 * - скрывать действия только при свёрнутом списке броней
 * =========================================================
 */
.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-card {
    display: grid !important;
    height: auto !important;
    overflow: visible !important;
}

.ybs-manager-v060 .ybs-manager-bookings-list .ybs-manager-booking-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: flex-end !important;
    max-height: none !important;
    overflow: visible !important;
}

.ybs-manager-v060.is-bookings-collapsed .ybs-manager-booking-actions {
    display: none !important;
}
