.booking-banner, .booking-filters, .booking-kpis, .booking-section, .booking-note, .booking-table {
    margin-bottom: 1rem;
}
.booking-banner, .booking-note, .booking-section, .booking-kpi {
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 12px;
    padding: 1rem 1.1rem;
    background: rgba(255, 255, 255, .72);
}
.dark .booking-banner, .dark .booking-note, .dark .booking-section, .dark .booking-kpi {
    background: rgba(15, 23, 42, .45);
}
.booking-banner.is-warning { border-color: #d97706; }
.booking-banner div, .booking-filters { display: flex; gap: .75rem; flex-wrap: wrap; align-items: end; }
.booking-filters label { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; }
.booking-filters input, .booking-filters select {
    border: 1px solid rgba(148, 163, 184, .6);
    border-radius: 8px;
    padding: .4rem .55rem;
    background: transparent;
}
.booking-filters button, .booking-link {
    border-radius: 8px;
    padding: .45rem .7rem;
    background: #1d4ed8;
    color: white;
    text-decoration: none;
}
.booking-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; }
.booking-kpi strong { display: block; font-size: 1.45rem; margin: .2rem 0; }
.booking-kpi span, .booking-note, .booking-banner span { color: #475569; font-size: .85rem; }
.booking-kpi a { color: inherit; text-decoration: none; }
.booking-table { width: 100%; border-collapse: collapse; }
.booking-table th, .booking-table td { text-align: left; padding: .45rem .35rem; border-bottom: 1px solid rgba(148, 163, 184, .3); vertical-align: top; }
.booking-timeline { display: grid; gap: .6rem; }
.booking-timeline article { border-left: 3px solid #1d4ed8; padding-left: .8rem; }
.booking-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.booking-actions a { font-size: .85rem; }
