.booking-section { margin: 3.5rem auto 4rem; padding: clamp(22px, 4vw, 42px); background: linear-gradient(145deg, #fff 55%, #f1f8ed); border: 1px solid #e0e7df; border-radius: 22px; box-shadow: 0 16px 40px rgba(16,43,35,.055); scroll-margin-top: 24px; }
.booking-section .section-heading { align-items: end; margin-bottom: 20px; }
.booking-timezone { color: #68786e; font-size: 11px; }
.booking-policy { max-width: 720px; margin: 9px 0 0; padding: 10px 12px; color: #48604f; background: #f2f7ed; border-left: 3px solid #94bd48; border-radius: 0 8px 8px 0; font-size: 11px; line-height: 1.5; white-space: pre-line; }
.booking-search-form, .booking-contact-fields { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 12px; }
.booking-section .field-group { display: grid; gap: 7px; }
.booking-section .field-label { color: #52665a; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.booking-section input, .booking-section select, .full-filters input, .full-filters select, .full-rule-form input, .full-rule-form select, .full-closure-form input, .full-closure-form select, .full-status-form input, .full-status-form select, .full-payment-form input, .full-payment-form select, .full-reversal-form input, .full-reversal-form select, .full-settings-form input, .full-settings-form select, .full-settings-form textarea { min-width: 0; min-height: 42px; padding: 10px 12px; color: #183b2b; background: white; border: 1px solid #dbe4da; border-radius: 9px; font: inherit; }
.booking-section input:focus, .booking-section select:focus, .full-filters input:focus, .full-filters select:focus { outline: 3px solid rgba(22,129,95,.2); border-color: #16815f; }
.booking-status { min-height: 20px; margin: 16px 0 12px; color: #536c5d; font-size: 12px; }
.booking-status.is-error { color: #bd4539; }
.booking-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.booking-slot { display: grid; gap: 7px; padding: 14px; text-align: left; color: #153d2a; background: white; border: 1px solid #dce7dc; border-radius: 12px; cursor: pointer; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.booking-slot:hover, .booking-slot[aria-pressed="true"] { transform: translateY(-2px); border-color: #16815f; box-shadow: 0 8px 20px rgba(22,129,95,.12); }
.booking-slot[aria-pressed="true"] { background: #eff8ef; }
.booking-slot strong { font: 700 17px var(--font-display); }
.booking-slot span { color: #64776b; font-size: 11px; }
.booking-contact-form { margin-top: 20px; padding: 20px; background: #f6f9f4; border: 1px solid #e2e9df; border-radius: 14px; }
.booking-selected-slot { margin-bottom: 16px; color: #174b35; font-weight: 700; }
.booking-contact-fields { grid-template-columns: repeat(3, 1fr); margin-bottom: 15px; }
.booking-confirmation { padding: 24px; color: #18432e; background: #eff9eb; border: 1px solid #bfe2bc; border-radius: 15px; }
.booking-confirmation h3 { margin: 0 0 9px; font: 700 22px var(--font-display); }
.booking-confirmation p { margin: 7px 0; font-size: 13px; }
.booking-reference { overflow-wrap: anywhere; font-family: ui-monospace, monospace; font-weight: 700; }
.booking-club-contact a { color: #126246; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

.full-dashboard, .full-bookings, .full-pricing { margin: 0 0 16px; scroll-margin-top: 20px; }
.full-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.full-filters label, .full-settings-form label { display: grid; gap: 5px; color: #52665a; font-size: 10px; font-weight: 700; }
.full-filters input, .full-filters select { min-width: 145px; min-height: 38px; padding: 7px 9px; }
.full-filters .primary-button, .full-export, .full-settings-form .secondary-button { min-height: 38px; padding: 8px 12px; font-size: 10px; text-decoration: none; }
.full-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }
.full-kpi { padding: 15px; background: #f7faf6; border: 1px solid #e4eae2; border-radius: 12px; }
.full-kpi span { display: block; color: #66766a; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.full-kpi strong { display: block; margin-top: 7px; color: #153d2a; font: 700 clamp(20px, 3vw, 27px)/1.1 var(--font-display); }
.full-court-metrics { display: grid; gap: 9px; }
.full-court-row { display: grid; grid-template-columns: minmax(110px, .6fr) 2fr auto; align-items: center; gap: 12px; padding: 10px 12px; background: #fbfcfa; border: 1px solid #edf1ec; border-radius: 10px; }
.full-court-row strong { font-size: 11px; }
.full-court-row small { color: #65766a; font-size: 10px; }
.full-bar { height: 8px; overflow: hidden; background: #e8eee5; border-radius: 99px; }
.full-bar span { display: block; height: 100%; background: linear-gradient(90deg, #16815f, #a4cf49); border-radius: inherit; }
.full-dashboard > .muted { margin: 13px 0 0; }
.full-distributions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.full-distribution { padding: 13px; background: #fbfcfa; border: 1px solid #edf1ec; border-radius: 11px; }
.full-distribution h3 { margin: 0 0 8px; color: #506357; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.full-distribution p { display: flex; justify-content: space-between; gap: 10px; margin: 5px 0; color: #43594a; font-size: 10px; }
.full-distribution p strong { color: #193c2b; }
.full-manual-booking { margin: 0 0 14px; padding: 12px 14px; background: #f6f9f4; border-radius: 11px; }
.full-manual-booking summary { color: #214a33; font-size: 11px; font-weight: 700; cursor: pointer; }
.full-manual-booking-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 10px; margin-top: 12px; }
.full-manual-booking-form label { display: grid; gap: 5px; color: #52665a; font-size: 10px; font-weight: 700; }
.full-manual-booking-form input, .full-manual-booking-form select { min-height: 40px; padding: 9px 10px; color: #183b2b; background: white; border: 1px solid #dbe4da; border-radius: 9px; font: inherit; }
.full-manual-booking-form .full-manual-note, .full-manual-booking-form .form-message { grid-column: 1 / -1; }
.full-booking-table .balance-credit { color: #216347; font-weight: 700; }
.full-booking-table { min-width: 950px; }
.full-booking-table td { font-size: 10px; }
.full-booking-table .balance-due { color: #ac4c32; font-weight: 700; }
.full-pricing-layout { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 22px; }
.full-settings-form { display: grid; grid-template-columns: 140px minmax(170px, .8fr) minmax(170px, .8fr) minmax(260px, 1.4fr); align-items: end; gap: 10px; margin: 0 0 18px; padding: 12px; background: #f8faf6; border-radius: 10px; }
.full-settings-form select { min-height: 38px; }
.full-settings-form label { display: grid; gap: 5px; color: #52665a; font-size: 10px; font-weight: 700; }
.full-settings-form textarea { min-height: 65px; resize: vertical; }
.full-settings-form .full-policy-field { grid-column: 4; grid-row: 1 / span 2; }
.full-rule-form, .full-closure-form, .full-status-form, .full-payment-form, .full-reversal-form { display: grid; gap: 10px; }
.full-rule-form { padding: 16px; background: #f8faf6; border: 1px solid #e5ebe3; border-radius: 13px; }
.full-rule-form h3, .full-payment-section h3 { margin: 0 0 4px; font: 700 17px var(--font-display); }
.full-rule-form label, .full-closure-form label, .full-status-form label, .full-payment-form label, .full-reversal-form label { display: grid; gap: 5px; color: #52665a; font-size: 10px; font-weight: 700; }
.full-rule-list, .full-closure-list { display: grid; gap: 8px; }
.full-rule-item, .full-closure-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #e4eae2; border-radius: 11px; }
.full-rule-item strong, .full-closure-item strong { display: block; color: #244c35; font-size: 11px; }
.full-rule-item small, .full-closure-item small { display: block; margin-top: 4px; color: #6b7a70; font-size: 10px; line-height: 1.45; }
.full-rule-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.full-rule-actions button { white-space: nowrap; }
.full-closures { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e6ece4; }
.full-closures summary { color: #214a33; font-weight: 700; cursor: pointer; }
.full-closure-form { grid-template-columns: repeat(3, minmax(120px, 1fr)); align-items: end; margin: 12px 0; padding: 14px; background: #f8faf6; border-radius: 12px; }
.full-booking-dialog { width: min(94vw, 700px); max-height: 90vh; overflow: auto; padding: 22px; color: #1a3325; border: 0; border-radius: 18px; box-shadow: 0 24px 90px #09211655; }
.full-booking-dialog::backdrop { background: #0b2118b8; }
.full-dialog-head { display: flex; align-items: start; justify-content: space-between; }
.full-dialog-head h2 { margin: 0; font: 700 25px var(--font-display); }
.full-booking-details { padding: 12px 0; color: #52665a; font-size: 12px; line-height: 1.7; white-space: pre-line; }
.full-edit-contact-form, .full-reschedule-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 9px; margin: 12px 0; padding: 13px; background: #f8faf6; border: 1px solid #e6ece4; border-radius: 12px; }
.full-edit-contact-form h3, .full-reschedule summary, .full-event-section h3 { grid-column: 1 / -1; margin: 0; color: #214a33; font: 700 13px var(--font-display); }
.full-edit-contact-form label, .full-reschedule-form label { display: grid; gap: 5px; color: #52665a; font-size: 10px; font-weight: 700; }
.full-edit-contact-form input, .full-reschedule-form input, .full-reschedule-form select { min-height: 38px; padding: 8px 10px; color: #183b2b; background: white; border: 1px solid #dbe4da; border-radius: 9px; font: inherit; }
.full-edit-contact-form button, .full-edit-contact-form .form-message, .full-reschedule-form button, .full-reschedule-form .form-message { grid-column: 1 / -1; }
.full-reschedule { margin: 12px 0; padding: 12px 0; border-top: 1px solid #e4ebe2; border-bottom: 1px solid #e4ebe2; }
.full-reschedule summary { cursor: pointer; }
.full-reschedule-form { margin-top: 10px; }
.full-event-section { margin: 14px 0; }
.full-event-section h3 { margin-bottom: 8px; }
.full-event-item { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; color: #5f6f64; border-bottom: 1px solid #edf1ed; font-size: 10px; }
.full-status-form { grid-template-columns: 1fr 1fr auto; align-items: end; padding: 13px; background: #f7faf6; border-radius: 12px; }
.full-status-form .form-message { grid-column: 1 / -1; }
.full-payment-section { margin-top: 20px; padding-top: 18px; border-top: 1px solid #e3eae1; }
.full-payment-section h3 { margin-bottom: 5px; }
.full-payment-form, .full-reversal-form { margin-top: 14px; padding: 14px; background: #f8faf6; border: 1px solid #e6ece4; border-radius: 12px; }
.full-payment-form h4, .full-reversal-form h4 { margin: 0; font-size: 12px; }
.full-payment-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.full-payment-form h4, .full-payment-form button, .full-payment-form .form-message { grid-column: 1 / -1; }
.full-reversal-form { grid-template-columns: 1fr 1fr; align-items: end; }
.full-reversal-form h4, .full-reversal-form button, .full-reversal-form .form-message { grid-column: 1 / -1; }
.full-payment-entry { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #edf1ed; font-size: 11px; }
.full-payment-entry span { color: #5d6e62; }
.full-payment-entry.reversal strong { color: #a84b37; }
.full-empty { padding: 14px; color: #718076; background: #f8faf6; border-radius: 10px; font-size: 11px; }

@media (max-width: 760px) {
  .booking-section .section-heading { align-items: start; flex-direction: column; }
  .booking-search-form, .booking-contact-fields, .full-pricing-layout { grid-template-columns: 1fr; }
  .booking-search-form .primary-button { width: 100%; }
  .full-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .full-court-row { grid-template-columns: 1fr auto; }
  .full-court-row .full-bar { grid-column: 1 / -1; grid-row: 2; }
  .full-closure-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .full-manual-booking-form, .full-distributions { grid-template-columns: 1fr; }
  .full-settings-form { grid-template-columns: 1fr; }
  .full-settings-form .full-policy-field { grid-column: 1; grid-row: auto; }
  .full-status-form, .full-payment-form, .full-reversal-form { grid-template-columns: 1fr; }
  .full-status-form > *, .full-payment-form > *, .full-reversal-form > * { grid-column: 1 !important; }
  .full-edit-contact-form, .full-reschedule-form { grid-template-columns: 1fr; }
  .full-edit-contact-form > *, .full-reschedule-form > * { grid-column: 1 !important; }
  .full-rule-item, .full-closure-item { align-items: flex-start; flex-direction: column; }
}
