.cw-booking-history { padding: 22px; min-width: 0; color: #243c2e; font-size: 1rem; line-height: 1.6; }
.cw-booking-history h1 { font-size: 2rem; margin: 0 0 12px; }
.cw-booking-history h2 { font-size: 1.4rem; margin: 0 0 8px; }
.cw-booking-history h3 { font-size: 1.2rem; }
.cw-booking-history p { margin: 8px 0 16px; }
.cw-booking-history a { color: #1e5940; text-decoration: underline; font-weight: 700; overflow-wrap: anywhere; }
.cw-booking-history header nav, .cw-booking-actions, .cw-booking-pager { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cw-booking-history button, .cw-booking-history input, .cw-booking-history select { font: inherit; min-height: 44px; padding: 8px 12px; border: 1px solid #708676; border-radius: 3px; max-width: 100%; box-sizing: border-box; }
.cw-booking-history button { background: #ebf1e8; color: #183a29; font-weight: 700; cursor: pointer; }
.cw-booking-history button:disabled { cursor: wait; opacity: .65; }
.cw-booking-history :focus-visible { outline: 3px solid #b25b05; outline-offset: 3px; }
.cw-booking-coverage, .cw-booking-message { padding: 16px; border: 1px solid #b4c2b2; background: #f4f5e9; margin: 16px 0; }
.cw-booking-filters, .cw-booking-reschedule form { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; margin: 16px 0; }
.cw-booking-history label { display: flex; flex-direction: column; gap: 6px; font-weight: 700; }
.cw-booking-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 32%); gap: 16px; border-top: 1px solid #bec9bb; padding: 18px 0; }
.cw-booking-list article > div:last-child { display: flex; flex-direction: column; gap: 16px; }
.cw-booking-reference { margin-top: 26px; padding-top: 20px; border-top: 1px solid #b4c2b2; }
.cw-booking-reference input { width: min(100%, 480px); margin: 10px 10px 0 0; }
.cw-booking-detail { margin-top: 18px; }
.cw-booking-state { display: inline-block; background: #e7eee1; padding: 6px 12px; }
.cw-booking-detail dl { display: grid; grid-template-columns: minmax(160px, 35%) minmax(0, 1fr); border-top: 1px solid #b4c2b2; }
.cw-booking-detail dt, .cw-booking-detail dd { margin: 0; padding: 10px; border-bottom: 1px solid #ced6ca; overflow-wrap: anywhere; }
.cw-booking-detail dt { font-weight: 700; }
.cw-booking-reschedule { border-top: 2px solid #8b9f82; margin-top: 26px; padding-top: 16px; }
.cw-booking-slots { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
@media (max-width: 640px) {
    .cw-booking-history { padding: 16px 12px; }
    .cw-booking-list article { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .cw-booking-list article > div:last-child { gap: 8px; }
    .cw-booking-detail dl { grid-template-columns: minmax(0, 1fr); }
    .cw-booking-detail dt { border-bottom: 0; padding-bottom: 0; }
    .cw-booking-detail dd { padding-top: 4px; }
    .cw-booking-history form label, .cw-booking-history form button { width: 100%; }
    .cw-booking-slots button { width: 100%; text-align: left; }
}
