/* Reservation and scheduling workspaces use the existing VenueOS theme tokens. */
#panel-bookings, #panel-rota { --schedule-accent: var(--brand, #3848bf); }
.booking-date-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:14px; padding:0 24px 20px; border-bottom:1px solid var(--border); }
.booking-date-toolbar label { display:grid; gap:7px; font-size:12px; font-weight:600; color:var(--dim); }
.booking-date-toolbar select,.booking-date-toolbar input { min-height:42px; padding:9px 12px; border:1px solid var(--border); border-radius:9px; background:var(--card); color:var(--text); font:inherit; font-size:14px; }
.booking-feedback { min-height:22px; margin:16px 24px; font-size:13px; color:var(--dim); }
.booking-feedback.is-error, .rota-save-msg.is-error { color:var(--red, #b42318); }
.booking-toolbar { flex-wrap:wrap; }
.booking-filters { flex-wrap:wrap; }
.booking-time small { color:var(--dim); font-size:11px; margin-top:5px; }
.booking-guest { min-width:0; }
.booking-guest p { flex-wrap:wrap; overflow-wrap:anywhere; }
.booking-actions { flex-wrap:wrap; max-width:245px; }
.booking-status.completed { background:var(--green-lt); color:var(--green); }
.booking-status.no_show { background:var(--surface2); color:var(--dim); }
.booking-delivery-warning { font-size:12px; color:var(--red, #b42318); }
#panel-rota .rota-page-header { align-items:start; gap:24px; margin-bottom:24px; }
#panel-rota .rota-page-title { letter-spacing:-.04em; font-size:30px; color:var(--text); }
#panel-rota .rota-page-sub { max-width:460px; line-height:1.6; }
#panel-rota .rota-page-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; max-width:660px; }
#panel-rota button { min-height:38px; }
#panel-rota .rota-summary { margin:0 0 24px; padding:0; border:1px solid var(--border); border-radius:14px; background:var(--card); overflow:hidden; }
#panel-rota .rota-summary > div { padding:20px 24px; }
#panel-rota .rota-summary strong { color:var(--text); font-size:30px; }
#panel-rota .rota-summary span { color:var(--dim); font-size:12px; }
#panel-rota .rota-editor-card { overflow:hidden; border:1px solid var(--border); border-radius:14px; box-shadow:none; }
#panel-rota .data-card-head { flex-wrap:wrap; gap:14px; padding:20px; }
#panel-rota .rota-editor-meta { flex-wrap:wrap; gap:12px; }
#panel-rota .rota-title-input { color:var(--text); background:var(--card); font-size:17px; font-weight:600; max-width:100%; }
#panel-rota .rota-save-msg { margin:0; max-width:440px; line-height:1.5; color:var(--dim); font-size:12px; }
#panel-rota .rota-save-msg.is-error { color:var(--red, #b42318); }
#panel-rota .rota-week-grid { display:grid; grid-template-columns:repeat(7,minmax(140px,1fr)); overflow-x:auto; padding:0; gap:0; background:var(--card); }
#panel-rota .rota-day-col { border:0; border-right:1px solid var(--border); border-radius:0; min-height:245px; padding:0; display:flex; flex-direction:column; background:var(--card); }
#panel-rota .rota-day-col:last-child { border-right:0; }
#panel-rota .rota-day-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:15px 12px; background:var(--surface2); border-bottom:1px solid var(--border); color:var(--text); }
#panel-rota .rota-day-head strong { font-size:13px; color:var(--text); }
#panel-rota .rota-day-head span { font-size:12px; color:var(--dim); }
#panel-rota .rota-day-head small { width:100%; font-size:11px; color:var(--dim); }
#panel-rota .rota-day-shifts { padding:10px; flex:1; display:flex; flex-direction:column; gap:8px; }
#panel-rota .rota-shift-chip { position:relative; display:flex; flex-direction:column; gap:6px; border:1px solid var(--border); border-left:3px solid var(--schedule-accent); border-radius:7px; background:var(--surface2); padding:12px 9px 8px; color:var(--text); }
#panel-rota .rota-shift-name { padding:0; font-size:12px; font-weight:650; overflow-wrap:anywhere; }
#panel-rota .rota-shift-time { color:var(--schedule-accent); font-weight:600; font-size:12px; }
#panel-rota .rota-shift-role { font-size:11px; color:var(--dim); }
#panel-rota .rota-chip-actions { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--border); margin-top:3px; }
#panel-rota .rota-chip-actions button { min-height:32px; font:inherit; font-size:11px; color:var(--schedule-accent); border:0; background:transparent; cursor:pointer; padding:4px; }
#panel-rota .rota-chip-actions .rota-shift-del { position:static; font-size:19px; width:32px; height:32px; }
#panel-rota .rota-day-empty { color:var(--dim); text-align:center; margin:32px 0; font-size:12px; }
#panel-rota .rota-day-add { background:transparent; color:var(--schedule-accent); border:1px dashed var(--border); border-radius:6px; margin:0 10px 12px; font:inherit; font-size:12px; cursor:pointer; }
#panel-rota .rota-add-shift-form { padding:24px; background:var(--surface2); border-top:1px solid var(--border); }
#panel-rota .rota-form-title { color:var(--text); font-size:16px; font-weight:650; }
#panel-rota .rota-form-hint { font-size:12px; line-height:1.6; color:var(--dim); margin:6px 0 18px; }
#panel-rota .rota-form-row { display:flex; flex-wrap:wrap; gap:14px; align-items:end; }
#panel-rota .rota-form-field { min-width:120px; flex:1; }
#panel-rota .rota-form-field--btn { flex:0 1 auto; }
#panel-rota .rota-form-field label { display:block; color:var(--dim); font-size:12px; margin-bottom:7px; }
#panel-rota .rota-form-field input, #panel-rota .rota-form-field select, #panel-rota .rota-week-input { background:var(--card); border:1px solid var(--border); color:var(--text); border-radius:8px; min-height:42px; padding:9px; width:100%; }
#panel-rota .rota-week-input { width:auto; }
#panel-rota .rota-history-card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:20px; }
#panel-rota .rota-history-card-title { font-size:16px; margin:16px 0 8px; }
#panel-rota button:disabled, #panel-bookings button:disabled { opacity:.5; cursor:wait; }
#panel-rota input:disabled { opacity:.7; }
#panel-rota :focus-visible, #panel-bookings :focus-visible { outline:3px solid var(--border-bright); outline-offset:3px; }
@media(max-width:760px) {
  #panel-rota .rota-page-header { flex-direction:column; }
  #panel-rota .rota-page-actions { justify-content:flex-start; }
  #panel-rota .rota-summary { display:grid; grid-template-columns:1fr 1fr; }
  #panel-rota .rota-summary > div { padding:16px; }
  #panel-rota .rota-week-grid { grid-template-columns:repeat(7,170px); scroll-snap-type:x proximity; }
  #panel-rota .rota-day-col { scroll-snap-align:start; }
  #panel-rota .rota-title-input { width:100%; }
  .booking-date-toolbar { padding:0 16px 16px; gap:12px; }
  .booking-date-toolbar label { flex:1 1 140px; }
  .booking-date-toolbar select,.booking-date-toolbar input { min-width:0; width:100%; }
  .booking-feedback { margin:14px 16px; }
  .booking-actions { max-width:none; }
  .booking-actions button { min-height:42px; }
}
#panel-bookings .booking-summary strong, #panel-rota .rota-summary strong, #panel-bookings .booking-time strong { font-family:'Inter',sans-serif; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.booking-date-toolbar { padding-top:18px; }
#panel-rota .rota-shift-del { opacity:1; }
#panel-rota .rota-shift-name { white-space:normal; }
#panel-rota .rota-history-card .btn { margin:6px 6px 0 0; }
#panel-rota .rota-page-actions { justify-content:flex-start; }
@media(max-width:760px) {
  #panel-rota .rota-editor-meta { flex-basis:100%; min-width:0; }
  #panel-rota .rota-title-input { flex-basis:100%; min-width:0; }
}
