.booking-detail-panel { min-width: 0; }
.booking-detail-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 18px 0; }
.booking-detail-controls label { display: grid; gap: 5px; color: #50665b; font-size: 12px; font-weight: 700; }
.booking-detail-controls input { height: 40px; padding: 0 12px; border: 1px solid #cbd9d1; border-radius: 8px; color: #173c2f; background: #fff; }
.booking-detail-controls button { min-height: 40px; }
.booking-detail-sheet { overflow: hidden; border: 1px solid #e3dbcb; border-radius: 12px; background: #fffaf3; }
.booking-detail-banner { padding: 21px; text-align: center; color: #fff; background: #123d30; border-bottom: 5px solid #deb655; }
.booking-detail-banner h3 { margin: 0; font-size: 26px; }
.booking-detail-banner p { margin: 7px 0 0; color: #c8dfd3; font-size: 13px; }
.booking-detail-scroll { overflow-x: auto; }
.booking-detail-table { width: max(100%, 920px); table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.booking-detail-table thead th { position: sticky; top: 0; z-index: 2; padding: 10px 4px; color: #fff; background: #174d3a; text-align: center; font-size: 13px; }
.booking-detail-table thead th:first-child { min-width: 122px; width: 122px; left: 0; z-index: 3; }
.booking-detail-table thead small { display: block; font-size: 11px; font-weight: 400; opacity: .75; }
.booking-detail-table tbody th { padding: 6px; color: #254339; background: #fff; font-size: 12px; white-space: nowrap; }
.booking-detail-table tbody tr:not(.booking-detail-venue) th { position: sticky; left: 0; z-index: 1; border-bottom: 1px solid #eee8de; }
.booking-detail-table .booking-detail-venue th { padding: 7px 15px; color: #fff; background: #205743; font-size: 14px; text-align: left; }
.booking-detail-table td { min-width: 112px; padding: 3px; border-bottom: 1px solid #eee8de; border-left: 1px solid #eee8de; text-align: center; vertical-align: middle; }
.booking-detail-cell { display: flex; min-height: 46px; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 3px; border: 1px solid; border-radius: 7px; font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }
.booking-detail-cell strong { font-size: 11px; }
.booking-detail-cell small { font-size: 10px; }
.booking-detail-cell.free { color: #8ba899; background: #f4fbf8; border-color: #c9ded1; }
.booking-detail-cell.booked { color: #b2382a; background: #fff0ec; border-color: #ec7e6e; }
.booking-detail-cell.pending { color: #916918; background: #fff8dd; border-color: #dfbb5c; }
.booking-detail-cell.reserved { color: #405d9b; background: #eef2ff; border-color: #8298c7; }
.booking-detail-cell.closed { color: #9a958d; background: #f3f0eb; border-color: #d9d3c9; }
.booking-detail-legend { display: flex; flex-wrap: wrap; gap: 22px; padding: 15px 20px; color: #476458; font-size: 12px; font-weight: 700; }
