.hospitality-orders-panel { padding: 0; overflow: hidden; }
.hospitality-orders-heading { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px 4px; }
.hospitality-orders-heading > b { color: var(--hosp-muted); font-size: 13px; }
.hospitality-order-filters { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr) auto; gap: 12px; align-items: end; padding: 18px 24px 22px; }
.hospitality-order-filters label { display: grid; gap: 7px; color: var(--hosp-muted); font-size: 12px; font-weight: 700; }
.hospitality-order-filters input, .hospitality-order-filters select { width: 100%; border: 1px solid var(--hosp-line); border-radius: 10px; background: #fff; padding: 11px 12px; color: var(--hosp-text); font: inherit; }
.hospitality-order-filters button { border: 0; border-radius: 10px; padding: 12px 17px; background: var(--hosp-blue); color: #fff; font-weight: 800; cursor: pointer; }
.hospitality-table-wrap { overflow: auto; border-top: 1px solid var(--hosp-line); }
.hospitality-orders-table { width: 100%; border-collapse: collapse; min-width: 1050px; }
.hospitality-orders-table th, .hospitality-orders-table td { text-align: left; padding: 15px 16px; border-bottom: 1px solid var(--hosp-line); font-size: 13px; vertical-align: middle; }
.hospitality-orders-table th { background: #f7f9fc; color: var(--hosp-muted); font-size: 11px; text-transform: uppercase; }
.hospitality-orders-table td small { display: block; color: var(--hosp-muted); margin-top: 4px; }
.hospitality-orders-table code { background: #eef4fd; color: #154f9e; padding: 5px 7px; border-radius: 7px; }
.hospitality-order-link { border: 0; background: transparent; color: var(--hosp-blue); font: inherit; font-weight: 800; padding: 0; cursor: pointer; }
.hospitality-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #eef1f5; color: #57657a; font-size: 11px; font-weight: 800; }
.hospitality-status.is-completed, .hospitality-status.is-delivered { background: #e5f8ef; color: #08794c; }
.hospitality-status.is-pending { background: #fff3d5; color: #9a6600; }
.hospitality-status.is-failed, .hospitality-status.is-cancelled { background: #fee7e7; color: #b12424; }
.hospitality-empty { text-align: center !important; color: var(--hosp-muted); padding: 40px !important; }
.hospitality-modal { position: fixed; inset: 0; background: #07142699; z-index: 50; display: grid; place-items: center; padding: 20px; }
.hospitality-modal[hidden] { display: none; }
.hospitality-modal-card { width: min(680px, 100%); max-height: 90vh; overflow: auto; background: #fff; border-radius: 20px; padding: 24px; }
.hospitality-modal-card > header { display: flex; justify-content: space-between; align-items: start; border-bottom: 1px solid var(--hosp-line); margin-bottom: 18px; }
.hospitality-modal-card > header button { border: 0; background: #eef2f7; width: 35px; height: 35px; border-radius: 50%; font-size: 22px; cursor: pointer; }
.hospitality-order-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.hospitality-order-summary > div { background: #f5f8fc; padding: 13px; border-radius: 11px; }
.hospitality-order-summary span, .hospitality-order-summary strong { display: block; }
.hospitality-order-summary span { font-size: 11px; color: var(--hosp-muted); margin-bottom: 5px; }
.hospitality-order-items { margin: 18px 0; }
.hospitality-order-items > div { display: flex; justify-content: space-between; padding: 13px 0; border-bottom: 1px solid var(--hosp-line); }
.hospitality-order-items small { display: block; color: var(--hosp-muted); margin-top: 4px; }
.hospitality-order-totals { margin-left: auto; width: min(330px, 100%); }
.hospitality-order-totals > div { display: flex; justify-content: space-between; padding: 9px 0; }
.hospitality-order-totals > div:last-child { border-top: 2px solid var(--hosp-text); font-size: 17px; font-weight: 800; }
.hospitality-order-totals dd { margin: 0; font-weight: 700; }
.hospitality-pagination { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: var(--hosp-muted); font-size: 13px; }
.hospitality-pagination div { display: flex; gap: 9px; }
.hospitality-pagination button { border: 1px solid var(--hosp-line); background: #fff; color: var(--hosp-text); border-radius: 9px; padding: 9px 14px; font-weight: 750; cursor: pointer; }
.hospitality-pagination button:disabled { opacity: .45; cursor: not-allowed; }
.hospitality-catalog-panel { padding: 0; overflow: hidden; }
.hospitality-catalog-panel > header { display: flex; justify-content: space-between; align-items: center; padding: 22px 24px; }
.hospitality-primary-button { border: 0; border-radius: 10px; padding: 11px 17px; background: var(--hosp-blue); color: #fff; font-weight: 800; cursor: pointer; }
.hospitality-category-table td:first-child { display: flex; align-items: center; gap: 11px; }
.hospitality-category-table td:first-child i { width: 18px; height: 18px; border-radius: 50%; flex: 0 0 auto; }
.hospitality-category-table td:last-child { display: flex; gap: 8px; }
.hospitality-category-table td:last-child button { border: 1px solid var(--hosp-line); border-radius: 8px; background: #fff; padding: 7px 11px; cursor: pointer; font-weight: 700; }
.hospitality-category-table td:last-child button.is-danger { color: #b12424; border-color: #f1caca; }
.hospitality-modal-card > label { display: grid; gap: 8px; color: var(--hosp-muted); font-size: 13px; font-weight: 750; margin: 14px 0; }
.hospitality-modal-card > label input { border: 1px solid var(--hosp-line); border-radius: 10px; padding: 12px; font: inherit; }
.hospitality-modal-card > label input[type="color"] { padding: 5px; height: 46px; }
.hospitality-modal-card > label.hospitality-checkbox { display: flex; grid-template-columns: none; align-items: center; flex-direction: row; gap: 10px; color: var(--hosp-text); }
.hospitality-modal-card > label.hospitality-checkbox input { width: 18px; height: 18px; }
.hospitality-menu-form { width: min(780px, 100%); }
.hospitality-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.hospitality-form-grid label { display: grid; gap: 8px; color: var(--hosp-muted); font-size: 13px; font-weight: 750; margin: 10px 0; }
.hospitality-form-grid label.is-wide { grid-column: 1 / -1; }
.hospitality-form-grid input, .hospitality-form-grid select, .hospitality-form-grid textarea { border: 1px solid var(--hosp-line); border-radius: 10px; padding: 12px; font: inherit; }
.hospitality-form-grid textarea { min-height: 80px; resize: vertical; }
.hospitality-menu-form fieldset { border: 1px solid var(--hosp-line); border-radius: 12px; margin: 12px 0 18px; padding: 14px; }
.hospitality-menu-form legend { color: var(--hosp-muted); font-size: 13px; font-weight: 800; padding: 0 7px; }
.hospitality-extra-options { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; max-height: 160px; overflow: auto; }
.hospitality-extra-options label { display: flex; align-items: center; gap: 7px; font-size: 13px; }
@media (max-width: 620px) { .hospitality-form-grid, .hospitality-extra-options { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .hospitality-order-filters { grid-template-columns: 1fr 1fr; } .hospitality-order-summary { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .hospitality-order-filters { grid-template-columns: 1fr; } .hospitality-orders-heading { align-items: flex-start; gap: 8px; flex-direction: column; } }
.hospitality-employees-table { min-width: 860px; }
.hospitality-employees-table td:first-child { display: table-cell; }
.hospitality-role-badge { display: inline-flex; padding: 6px 9px; border-radius: 8px; background: #edf4ff; color: #1759a8; font-size: 11px; font-weight: 800; }
.hospitality-owner-note { color: var(--hosp-muted); font-weight: 750; }
.hospitality-form-help { margin: 0 0 16px; padding: 12px; border-radius: 10px; background: #f3f7fd; color: var(--hosp-muted); font-size: 13px; line-height: 1.5; }
.hospitality-employee-form select { border: 1px solid var(--hosp-line); border-radius: 10px; padding: 12px; font: inherit; background: #fff; }
.hospitality-employee-form fieldset { border: 1px solid var(--hosp-line); border-radius: 12px; margin: 14px 0 18px; padding: 14px; }
.hospitality-employee-form legend { color: var(--hosp-muted); font-size: 13px; font-weight: 800; padding: 0 7px; }
.hospitality-branch-options { display: grid; gap: 10px; }
.hospitality-branch-options label { display: flex; gap: 9px; align-items: center; font-size: 13px; font-weight: 700; }
.hospitality-branch-options input { width: 18px; height: 18px; }
