/* Eat&Meet waiter design tokens.
   Keep selectors waiter-scoped so the broader POI/admin UI keeps its existing theme. */

.new-waiter-schema,
.waiter-composer-shell,
.waiter-mobile-shell,
.waiter-info-shell,
.waiter-mod-shell {
    --waiter-primary: #F97316;
    --waiter-primary-hover: #EA580C;
    --waiter-primary-strong: #9A3412;
    --waiter-primary-soft: #FFF3E8;
    --waiter-primary-soft-strong: #FFE7D1;
    --waiter-success: #16A34A;
    --waiter-success-soft: #EAF8EF;
    --waiter-warning: #D97706;
    --waiter-warning-soft: #FFF7E6;
    --waiter-danger: #DC2626;
    --waiter-danger-soft: #FEECEC;
    --waiter-info: #2563EB;
    --waiter-info-soft: #EFF6FF;
    --waiter-muted: #6B7280;
    --waiter-text: #111827;
    --waiter-text-soft: #374151;
    --waiter-border: #E5E7EB;
    --waiter-border-strong: #D1D5DB;
    --waiter-surface: #FFFFFF;
    --waiter-surface-alt: #F9FAFB;
    --waiter-selected-bg: #FFF3E8;

    --waiter-title-size: 22px;
    --waiter-title-line: 28px;
    --waiter-section-title-size: 16px;
    --waiter-section-title-line: 22px;
    --waiter-item-title-size: 15px;
    --waiter-item-title-line: 20px;
    --waiter-meta-size: 12px;
    --waiter-meta-line: 16px;
    --waiter-badge-size: 11px;
    --waiter-badge-line: 14px;
    --waiter-price-size: 14px;
    --waiter-button-size: 14px;
    --waiter-button-line: 18px;
    --waiter-tab-size: 12px;
    --waiter-tab-line: 16px;

    --waiter-row-compact: 52px;
    --waiter-row-standard: 64px;
    --waiter-row-menu-mobile: 68px;
    --waiter-touch-target: 44px;
    --waiter-card-padding-mobile: 12px;
    --waiter-card-padding-desktop: 16px;
    --waiter-dialog-padding-mobile: 14px;
    --waiter-dialog-padding-desktop: 18px;
    --waiter-gap-small: 6px;
    --waiter-gap: 10px;
    --waiter-gap-large: 16px;
    --waiter-radius-small: 6px;
    --waiter-radius: 8px;
    --waiter-radius-dialog: 12px;
    --waiter-icon-small: 18px;
    --waiter-icon: 20px;
    --waiter-icon-action: 24px;
    --waiter-button-shadow: 0 1px 2px rgba(17, 24, 39, .10);
    --waiter-button-shadow-hover: 0 2px 4px rgba(17, 24, 39, .12);
}

@media (max-width: 768px) {
    .new-waiter-schema,
    .waiter-composer-shell,
    .waiter-mobile-shell,
    .waiter-info-shell,
    .waiter-mod-shell {
        --waiter-title-size: 18px;
        --waiter-title-line: 24px;
        --waiter-section-title-size: 14px;
        --waiter-section-title-line: 18px;
        --waiter-item-title-size: 14px;
        --waiter-item-title-line: 18px;
        --waiter-meta-size: 11px;
        --waiter-meta-line: 15px;
        --waiter-badge-size: 10px;
        --waiter-badge-line: 12px;
        --waiter-price-size: 13px;
        --waiter-tab-size: 11px;
        --waiter-tab-line: 14px;
    }
}

.new-waiter-schema .mud-button-root,
.waiter-composer-shell .mud-button-root,
.waiter-mobile-shell .mud-button-root,
.waiter-info-shell .mud-button-root,
.waiter-mod-shell .mud-button-root {
    border-radius: var(--waiter-radius);
    font-size: var(--waiter-button-size);
    font-weight: 650;
    line-height: var(--waiter-button-line);
    text-transform: none;
    box-shadow: none !important;
}

.new-waiter-schema .mud-button-filled-primary,
.waiter-composer-shell .mud-button-filled-primary,
.waiter-mobile-shell .mud-button-filled-primary,
.waiter-info-shell .mud-button-filled-primary,
.waiter-mod-shell .mud-button-filled-primary,
.waiter-primary-action.mud-button-root {
    background-color: var(--waiter-primary) !important;
    border-color: var(--waiter-primary) !important;
    color: #fff !important;
    box-shadow: var(--waiter-button-shadow) !important;
}

.new-waiter-schema .mud-button-filled-primary:hover,
.waiter-composer-shell .mud-button-filled-primary:hover,
.waiter-mobile-shell .mud-button-filled-primary:hover,
.waiter-info-shell .mud-button-filled-primary:hover,
.waiter-mod-shell .mud-button-filled-primary:hover,
.waiter-primary-action.mud-button-root:hover {
    background-color: var(--waiter-primary-hover) !important;
    border-color: var(--waiter-primary-hover) !important;
    box-shadow: var(--waiter-button-shadow-hover) !important;
}

.new-waiter-schema .mud-button-filled-primary:active,
.waiter-composer-shell .mud-button-filled-primary:active,
.waiter-mobile-shell .mud-button-filled-primary:active,
.waiter-info-shell .mud-button-filled-primary:active,
.waiter-mod-shell .mud-button-filled-primary:active,
.waiter-primary-action.mud-button-root:active {
    background-color: var(--waiter-primary-hover) !important;
    border-color: var(--waiter-primary-hover) !important;
    box-shadow: none !important;
}

.new-waiter-schema .mud-button-outlined-primary,
.waiter-composer-shell .mud-button-outlined-primary,
.waiter-mobile-shell .mud-button-outlined-primary,
.waiter-info-shell .mud-button-outlined-primary,
.waiter-mod-shell .mud-button-outlined-primary {
    border-color: var(--waiter-primary) !important;
    color: var(--waiter-primary-strong) !important;
}

.new-waiter-schema .mud-button-text-primary,
.waiter-composer-shell .mud-button-text-primary,
.waiter-mobile-shell .mud-button-text-primary,
.waiter-info-shell .mud-button-text-primary,
.waiter-mod-shell .mud-button-text-primary {
    color: var(--waiter-primary-strong) !important;
}

.new-waiter-schema .mud-icon-button-color-primary,
.waiter-composer-shell .mud-icon-button-color-primary,
.waiter-mobile-shell .mud-icon-button-color-primary,
.waiter-info-shell .mud-icon-button-color-primary,
.waiter-mod-shell .mud-icon-button-color-primary,
.new-waiter-schema .mud-primary-text,
.waiter-composer-shell .mud-primary-text,
.waiter-mobile-shell .mud-primary-text,
.waiter-info-shell .mud-primary-text,
.waiter-mod-shell .mud-primary-text {
    color: var(--waiter-primary) !important;
}

.new-waiter-schema .mud-progress-linear-color-primary,
.waiter-composer-shell .mud-progress-linear-color-primary,
.waiter-mobile-shell .mud-progress-linear-color-primary,
.waiter-info-shell .mud-progress-linear-color-primary,
.waiter-mod-shell .mud-progress-linear-color-primary,
.new-waiter-schema .mud-progress-circular-color-primary,
.waiter-composer-shell .mud-progress-circular-color-primary,
.waiter-mobile-shell .mud-progress-circular-color-primary,
.waiter-info-shell .mud-progress-circular-color-primary,
.waiter-mod-shell .mud-progress-circular-color-primary {
    color: var(--waiter-primary) !important;
}

.new-waiter-schema .mud-chip-filled-primary,
.waiter-composer-shell .mud-chip-filled-primary,
.waiter-mobile-shell .mud-chip-filled-primary,
.waiter-info-shell .mud-chip-filled-primary,
.waiter-mod-shell .mud-chip-filled-primary {
    background-color: var(--waiter-primary) !important;
    color: #fff !important;
}

.new-waiter-schema .mud-chip-outlined-primary,
.waiter-composer-shell .mud-chip-outlined-primary,
.waiter-mobile-shell .mud-chip-outlined-primary,
.waiter-info-shell .mud-chip-outlined-primary,
.waiter-mod-shell .mud-chip-outlined-primary {
    border-color: var(--waiter-primary) !important;
    color: var(--waiter-primary-strong) !important;
}

.waiter-primary-action {
    min-height: 48px;
    border-radius: var(--waiter-radius);
    font-size: var(--waiter-button-size);
    font-weight: 700;
    line-height: var(--waiter-button-line);
}

.waiter-review-cart-action.is-disabled {
    background-color: #e5e7eb !important;
    border-color: #d1d5db !important;
    color: #8a929c !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

.waiter-review-cart-action.is-disabled * {
    color: #8a929c !important;
}

.waiter-secondary-action {
    min-height: var(--waiter-touch-target);
    border-radius: var(--waiter-radius);
    color: var(--waiter-text-soft);
}

.waiter-icon-button {
    width: var(--waiter-touch-target);
    height: var(--waiter-touch-target);
    border-radius: var(--waiter-radius);
    box-shadow: none !important;
}

.waiter-tab-button {
    min-height: var(--waiter-touch-target);
    border-radius: var(--waiter-radius);
    font-size: var(--waiter-tab-size);
    font-weight: 700;
    line-height: var(--waiter-tab-line);
}

.waiter-tab-button.mud-button-filled {
    background-color: var(--waiter-primary-soft) !important;
    color: var(--waiter-primary-strong) !important;
    border: 1px solid #FDBA74;
    box-shadow: none !important;
}

.waiter-tab-button.mud-button-filled:hover,
.waiter-tab-button.mud-button-filled:active {
    background-color: var(--waiter-primary-soft-strong) !important;
    color: var(--waiter-primary-strong) !important;
    box-shadow: none !important;
}

.new-waiter-schema .waiter-schema-view-toggle .mud-button-filled-primary,
.new-waiter-schema .waiter-schema-area-tabs .mud-button-filled-primary,
.new-waiter-schema .waiter-floor-header-controls .mud-button-filled-primary,
.new-waiter-schema .waiter-live-floor-host .mud-button-filled-primary,
.new-waiter-schema .payment-method-chip-row .mud-button-filled-primary,
.waiter-composer-shell .composer-control-row .mud-button-filled-primary {
    background-color: var(--waiter-primary-soft) !important;
    border: 1px solid #FDBA74 !important;
    color: var(--waiter-primary-strong) !important;
    box-shadow: none !important;
}

.new-waiter-schema .waiter-schema-view-toggle .mud-button-filled-primary:hover,
.new-waiter-schema .waiter-schema-area-tabs .mud-button-filled-primary:hover,
.new-waiter-schema .waiter-floor-header-controls .mud-button-filled-primary:hover,
.new-waiter-schema .waiter-live-floor-host .mud-button-filled-primary:hover,
.new-waiter-schema .payment-method-chip-row .mud-button-filled-primary:hover,
.waiter-composer-shell .composer-control-row .mud-button-filled-primary:hover {
    background-color: var(--waiter-primary-soft-strong) !important;
    border-color: #FDBA74 !important;
    color: var(--waiter-primary-strong) !important;
}

.new-waiter-schema .mud-icon-button,
.waiter-composer-shell .mud-icon-button,
.waiter-mobile-shell .mud-icon-button,
.waiter-info-shell .mud-icon-button,
.waiter-mod-shell .mud-icon-button {
    box-shadow: none !important;
}

.new-waiter-schema .waiter-filter-chip,
.waiter-composer-shell .waiter-filter-chip,
.waiter-mobile-shell .waiter-category-chip {
    border-color: var(--waiter-border) !important;
    background: var(--waiter-surface) !important;
    color: var(--waiter-text-soft) !important;
    font-weight: 650;
    box-shadow: none !important;
}

.new-waiter-schema .waiter-filter-chip.active,
.waiter-composer-shell .waiter-filter-chip.active,
.waiter-mobile-shell .waiter-category-chip-active {
    border-color: #FDBA74 !important;
    background: var(--waiter-primary-soft) !important;
    color: var(--waiter-primary-strong) !important;
    box-shadow: none !important;
}

.new-waiter-schema .waiter-filter-chip.subchip.active,
.waiter-composer-shell .waiter-filter-chip.subchip.active {
    border-color: #FDBA74 !important;
    background: var(--waiter-primary-soft) !important;
    color: var(--waiter-primary-strong) !important;
    border-style: solid !important;
}

.new-waiter-schema .waiter-filter-chip.waiter-category-filter-chip,
.waiter-composer-shell .waiter-filter-chip.waiter-category-filter-chip {
    border-color: color-mix(in srgb, var(--waiter-category-color, var(--waiter-text-soft)) 72%, white) !important;
    background: var(--waiter-surface) !important;
    color: var(--waiter-category-color, var(--waiter-text-soft)) !important;
    box-shadow: none !important;
}

.new-waiter-schema .waiter-filter-chip.waiter-category-filter-chip.active,
.waiter-composer-shell .waiter-filter-chip.waiter-category-filter-chip.active {
    border-color: var(--waiter-category-color, var(--waiter-primary)) !important;
    background: color-mix(in srgb, var(--waiter-category-color, var(--waiter-primary)) 13%, white) !important;
    color: var(--waiter-category-color, var(--waiter-primary-strong)) !important;
    box-shadow: none !important;
}

.new-waiter-schema .waiter-filter-chip.waiter-category-filter-chip.subchip,
.waiter-composer-shell .waiter-filter-chip.waiter-category-filter-chip.subchip {
    border-style: solid !important;
    background: color-mix(in srgb, var(--waiter-category-color, var(--waiter-text-soft)) 6%, white) !important;
}

.new-waiter-schema .waiter-filter-chip.waiter-category-filter-chip.subchip.active,
.waiter-composer-shell .waiter-filter-chip.waiter-category-filter-chip.subchip.active {
    border-color: var(--waiter-category-color, var(--waiter-primary)) !important;
    background: color-mix(in srgb, var(--waiter-category-color, var(--waiter-primary)) 15%, white) !important;
    color: var(--waiter-category-color, var(--waiter-primary-strong)) !important;
}

.waiter-row {
    min-height: var(--waiter-row-standard);
    border: 1px solid var(--waiter-border);
    border-radius: var(--waiter-radius);
    background: var(--waiter-surface);
}

.waiter-row.compact {
    min-height: var(--waiter-row-compact);
}

.waiter-card {
    border: 1px solid var(--waiter-border);
    border-radius: var(--waiter-radius);
    background: var(--waiter-surface);
}

.waiter-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 999px;
    padding: 4px 8px;
    border: 1px solid var(--waiter-border);
    font-size: var(--waiter-badge-size);
    font-weight: 750;
    line-height: var(--waiter-badge-line);
}

.waiter-status-badge.open {
    border-color: #FDBA74;
    background: var(--waiter-primary-soft);
    color: var(--waiter-primary-strong);
}

.waiter-status-badge.submitted {
    border-color: #BFDBFE;
    background: var(--waiter-info-soft);
    color: var(--waiter-info);
}

.waiter-status-badge.in-preparation,
.waiter-status-badge.kitchen {
    border-color: #FCD34D;
    background: var(--waiter-warning-soft);
    color: var(--waiter-warning);
}

.waiter-status-badge.ready {
    border-color: #86EFAC;
    background: var(--waiter-success-soft);
    color: var(--waiter-success);
}

.waiter-status-badge.served {
    border-color: #C4B5FD;
    background: #F5F3FF;
    color: #5B21B6;
}

.waiter-status-badge.cancelled {
    border-color: #FCA5A5;
    background: #FEF2F2;
    color: #B91C1C;
}

.waiter-status-badge.unpaid,
.waiter-status-badge.warning {
    border-color: #FCD34D;
    background: var(--waiter-warning-soft);
    color: var(--waiter-warning);
}

.waiter-status-badge.paid,
.waiter-status-badge.success {
    border-color: #86EFAC;
    background: var(--waiter-success-soft);
    color: var(--waiter-success);
}

.waiter-status-badge.needs-action,
.waiter-status-badge.danger {
    border-color: #FCA5A5;
    background: var(--waiter-danger-soft);
    color: var(--waiter-danger);
}

.primary-table-action.mud-button-root,
.waiter-mod-add-button.mud-button-root {
    background: var(--waiter-primary) !important;
    border-color: var(--waiter-primary) !important;
    color: #fff !important;
    box-shadow: var(--waiter-button-shadow) !important;
}

.primary-table-action.mud-button-root:hover,
.waiter-mod-add-button.mud-button-root:hover {
    background: var(--waiter-primary-hover) !important;
    border-color: var(--waiter-primary-hover) !important;
    box-shadow: var(--waiter-button-shadow-hover) !important;
}
