/* বুকিংয়ের তালিকা ও রসিদ; অনুমোদিত প্রোফাইলের স্টাইলে প্রভাব নেই। */
.bdl-bookings { max-width: 1040px; }
.bdl-bookings * { box-sizing: border-box; }
.bdl-bookings h1 { margin: 0 0 12px; }
.bdl-bookings h2 { font-size: 21px; line-height: 1.5; margin: 0 0 12px; }
.bdl-bookings .bdl-msg { padding: 16px 18px; border-radius: 12px; margin-bottom: 18px; }
.bdl-bookings .bdl-msg-ok { background: #edf7f1; color: #126443; border: 1px solid #cbe5d5; }
.bdl-bookings .bdl-msg-error { background: #fff1f2; color: #991b1b; border: 1px solid #fecdd3; }
.bdl-booking-eyebrow { color: #64748b; font-size: 13px; margin: 0 0 8px; }
.bdl-booking-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.bdl-booking-summary > div { padding: 20px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; }
.bdl-booking-summary span,.bdl-booking-summary strong { display: block; }
.bdl-booking-summary strong { font-size: 28px; color: #10263d; margin-top: 8px; }
.bdl-booking-card-top { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.bdl-booking-card-top > div { flex: 1 1 220px; min-width: 0; }
.bdl-booking-badge { border-radius: 30px; padding: 7px 13px; font-size: 13px; font-weight: 700; }
.bdl-booking-pending { background: #fef3c7; color: #92400e; }
.bdl-booking-confirmed { background: #dcfce7; color: #166534; }
.bdl-booking-completed { background: #e0f2fe; color: #0369a1; }
.bdl-booking-cancelled { background: #fee2e2; color: #991b1b; }
.bdl-booking-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 18px 0; margin: 0; }
.bdl-booking-facts dt { color: #64748b; font-size: 13px; margin-bottom: 6px; }
.bdl-booking-facts dd { margin: 0; font-weight: 600; color: #10263d; overflow-wrap: anywhere; }
.bdl-booking-facts small { display: block; color: #64748b; margin-top: 5px; }
.bdl-booking-receipt > .bdl-public-card { margin-bottom: 18px; }
.bdl-booking-next { background: #f1f5f9; padding: 18px; border-radius: 12px; border-left: 3px solid #cfac47; }
.bdl-booking-next p { margin-bottom: 0; }
.bdl-booking-details summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.bdl-booking-details summary::before { content: '▸'; margin-right: 9px; }
.bdl-booking-details[open] summary::before { content: '▾'; }
.bdl-bookings .bdl-input { font-size: 16px; width: 100%; min-height: 48px; margin-bottom: 12px; }
.bdl-bookings .bdl-btn { min-height: 44px; max-width: 100%; white-space: normal; text-align: center; }
.bdl-booking-cancel { background: #991b1b; color: #fff; }
.bdl-booking-muted { color: #64748b; line-height: 1.75; }
.bdl-booking-receipt { max-width: 960px; }
.bdl-bookings .bdl-booking-reschedule-search { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; align-items: end; }
.bdl-bookings .bdl-booking-reschedule-search .bdl-input { margin-bottom: 0; }
.bdl-bookings .bdl-booking-reschedule-search .bdl-btn { align-self: end; border-radius: 10px; }
.bdl-booking-reschedule-choice { min-width: 0; border: 0; padding: 0; margin: 0; }
.bdl-booking-reschedule-choice legend { font-weight: 600; margin-bottom: 12px; }
.bdl-booking-reschedule-choice:disabled { opacity: .55; }
.bdl-booking-reschedule-choice:disabled .bdl-btn { cursor: not-allowed; }
.bdl-booking-refresh { padding: 14px 16px; border: 1px solid #bfdbfe; border-radius: 10px; background: #eff6ff; color: #1e40af; }
.bdl-booking-refresh[hidden] { display: none; }
@media(max-width:767px) { .bdl-bookings .bdl-booking-reschedule-search { grid-template-columns: 1fr; } .bdl-bookings .bdl-booking-reschedule-search .bdl-btn { width: 100%; } }
@media(max-width:767px) { .bdl-booking-facts { grid-template-columns: 1fr; gap: 16px; } .bdl-booking-summary { gap: 8px; } .bdl-booking-summary > div { padding: 14px 10px; } .bdl-booking-summary strong { font-size: 24px; } .bdl-booking-summary span { font-size: 13px; } .bdl-booking-receipt > .bdl-public-card { padding: 20px 16px; } .bdl-bookings .bdl-public-search { align-items: stretch; } }
