.br-bookings { --br-booking-ink:#191919; --br-booking-soft:#f4f5f6; --br-booking-line:#e4e5e7; box-sizing:border-box; color:var(--br-booking-ink); font-family:"Inter Tight",Arial,sans-serif; margin:0 auto; max-width:1600px; min-height:65vh; padding:40px 80px 80px; }
.br-bookings *, .br-booking-price-dialog * { box-sizing:border-box; }
.br-bookings :is(h1,h2,h3,p), .br-booking-price-dialog :is(h2,p) { color:inherit; font-family:inherit; }
.br-bookings h1 { font-size:40px; font-weight:800; letter-spacing:-.03em; line-height:1.1; margin:0; }
.br-bookings h2 { font-size:24px; font-weight:750; margin:0 0 20px; }
.br-bookings h3 { font-size:26px; font-weight:750; margin:12px 0 24px; }
.br-bookings a { color:inherit; }
.br-bookings :is(a,button,input,select,summary):focus-visible, .br-booking-price-dialog button:focus-visible { outline:3px solid #3975bc; outline-offset:4px; }
.br-booking-eyebrow { color:#5f6368!important; font-size:12px; font-weight:700; letter-spacing:.1em; margin:0 0 12px; }
.br-booking-list-heading, .br-booking-detail-heading { align-items:center; display:flex; gap:24px; justify-content:space-between; margin-bottom:40px; }
.br-booking-primary { align-items:center; background:#191919; border:1px solid #191919; border-radius:12px; color:#fff!important; cursor:pointer; display:inline-flex; font:inherit; font-weight:700; gap:16px; justify-content:center; min-height:48px; padding:12px 20px; text-decoration:none!important; }
.br-booking-primary:hover { background:#333; }
.br-booking-next-section { margin-bottom:40px; }
.br-booking-card { align-items:center; border:1px solid var(--br-booking-line); border-radius:16px; display:grid; gap:32px; grid-template-columns:minmax(0,1fr) 220px; overflow:hidden; padding:24px 32px; text-decoration:none!important; transition:box-shadow .15s; }
.br-booking-card:hover { box-shadow:0 5px 24px #00000012; }
.br-booking-card-copy { min-width:0; }
.br-booking-card-image { height:150px; object-fit:contain; width:100%; }
.br-booking-next { background:linear-gradient(110deg,#f4f5f6,#fff); grid-template-columns:minmax(0,1fr) minmax(220px,40%); padding:32px; }
.br-booking-next .br-booking-card-image { height:250px; }
.br-booking-badge { background:#eee; border-radius:24px; display:inline-flex; font-size:12px; font-weight:700; line-height:20px; padding:3px 12px; }
.br-booking-upcoming { background:#eaf3ed; color:#25623b; }
.br-booking-active { background:#fff0df; color:#804706; }
.br-booking-cancelled { background:#fbecee; color:#9a263b; }
.br-booking-dates { align-items:center; display:flex; gap:24px; justify-content:space-between; max-width:480px; }
.br-booking-dates > div { display:flex; flex-direction:column; gap:3px; }
.br-booking-dates > div:last-child { text-align:right; }
.br-booking-dates span { color:#5f6368; font-size:14px; }
.br-booking-dates strong { font-size:18px; line-height:1.4; }
.br-booking-dates time { font-size:16px; }
.br-booking-date-arrow { font-size:24px!important; }
.br-booking-card-bottom { align-items:center; display:flex; flex-wrap:wrap; font-size:13px; gap:12px; justify-content:space-between; margin-top:24px; }
.br-booking-card-bottom > span { color:#5f6368; }
.br-booking-card-bottom strong { text-decoration:underline; text-underline-offset:4px; }
.br-booking-filters { align-items:end; display:grid; gap:16px; grid-template-columns:minmax(0,1fr) minmax(180px,300px) auto; margin:0 0 40px; }
.br-booking-filters label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.br-booking-filters :is(input,select) { background:#fff; border:1px solid #b9bdc1; border-radius:10px; color:#191919; font:inherit; height:48px; max-width:100%; padding:10px 14px; width:100%; }
.br-booking-group { border:0; margin:0 0 32px; }
.br-booking-group > summary { cursor:pointer; font-size:24px; font-weight:750; padding:12px 0; }
.br-booking-group > summary span { color:#5f6368; font-size:18px; }
.br-booking-list { display:grid; gap:16px; margin-top:12px; }
.br-booking-empty { margin:48px auto; max-width:640px; padding:32px 0; text-align:center; }
.br-booking-empty h1 { margin-bottom:24px; }
.br-booking-empty p { color:#5f6368; line-height:1.6; margin:20px 0; }
.br-booking-reload { display:block; margin:24px 0; }
.br-booking-pagination { align-items:center; display:flex; gap:24px; justify-content:center; margin:32px 0; }
.br-booking-top { grid-template-columns:48px minmax(0,1fr); margin-bottom:32px; position:sticky; top:var(--br-booking-header-offset,0px); z-index:90; }
.br-booking-top a { color:inherit; }
.br-booking-top > span { min-width:0; }
.br-booking-detail-layout { align-items:start; display:grid; gap:64px; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); }
.br-booking-detail-content, .br-booking-detail-aside { display:grid; gap:36px; min-width:0; }
.br-booking-summary { border:1px solid var(--br-booking-line); border-radius:20px; overflow:hidden; }
.br-booking-reference { align-items:center; background:#191919; color:#fff; display:flex; flex-wrap:wrap; font-size:12px; gap:12px; justify-content:space-between; padding:12px 24px; }
.br-booking-detail-image { display:block; height:260px; object-fit:contain; padding:16px; width:100%; }
.br-booking-summary .br-booking-dates { border-top:1px solid var(--br-booking-line); margin:0 24px; max-width:none; padding:24px 0; }
.br-booking-image-placeholder { align-items:center; background:var(--br-booking-soft); display:flex; justify-content:center; }
.br-booking-image-placeholder svg { color:#8a9095; max-height:80px; width:80px; }
.br-booking-actions { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.br-booking-actions a, .br-booking-actions > button:disabled { border:1px solid var(--br-booking-line); border-radius:14px; display:flex; flex-direction:column; font-size:14px; gap:12px; padding:16px; text-decoration:none; }
.br-booking-actions a:hover { background:var(--br-booking-soft); }
.br-booking-action-icon { align-items:center; background:#eee; border-radius:50%; display:flex; font-size:24px; height:44px; justify-content:center; width:44px; }
.br-booking-soft { background:var(--br-booking-soft); border-radius:14px; padding:24px; }
.br-booking-soft p:last-child { margin-bottom:0; }
.br-booking-total { align-items:baseline; display:flex; font-size:16px; font-weight:700; gap:16px; justify-content:space-between; }
.br-booking-total strong { font-size:24px; text-align:right; }
.br-booking-text-button { background:none; border:0; color:inherit; cursor:pointer; font:inherit; font-size:14px; font-weight:700; min-height:44px; padding:8px 0; text-decoration:underline; text-underline-offset:3px; }
.br-booking-muted { color:#5f6368!important; font-size:14px; line-height:1.5; margin:20px 0 0; }
.br-booking-price-row { align-items:baseline; border-bottom:1px solid var(--br-booking-line,#e4e5e7); display:flex; font-size:15px; gap:24px; justify-content:space-between; padding:16px 0; }
.br-booking-price-row:first-child { padding-top:0; }
.br-booking-price-row:last-child { border:0; }
.br-booking-price-row > strong { flex-shrink:0; text-align:right; }
.br-booking-price-row small { color:#5f6368; display:block; font-size:13px; margin-top:4px; }
.br-booking-deposit { border-top:1px solid var(--br-booking-line); font-size:14px; margin-top:12px; }
.br-booking-information { border:1px solid var(--br-booking-line); border-radius:14px; overflow:hidden; }
.br-booking-information details { border-bottom:1px solid var(--br-booking-line); padding:16px; }
.br-booking-information details:last-child { border:0; }
.br-booking-information summary { cursor:pointer; font-weight:600; }
.br-booking-information p { color:#5f6368; font-size:14px; line-height:1.5; margin:16px 0 0; }
.br-booking-information a { display:inline-block; margin-top:12px; text-decoration:underline; }
.br-booking-price-dialog { border:0; border-radius:20px; color:#191919; font-family:"Inter Tight",Arial,sans-serif; inset:0; margin:auto; max-height:calc(100dvh - 64px); max-width:calc(100vw - 32px); overflow:hidden; padding:0; width:600px; }
.br-booking-price-dialog::backdrop { background:#0009; }
.br-booking-sheet { display:flex; flex-direction:column; max-height:calc(100dvh - 64px); }
.br-booking-sheet-head { align-items:center; background:#fff; border-bottom:1px solid #e4e5e7; display:flex; flex-shrink:0; gap:16px; justify-content:space-between; padding:16px 24px; }
.br-booking-sheet-head h2 { font-size:24px; font-weight:750; margin:0; }
.br-booking-sheet-head button { background:none; border:0; color:#191919; cursor:pointer; font:inherit; font-size:30px; height:44px; width:44px; }
.br-booking-sheet-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px; }
.br-booking-sheet-total { background:#f4f5f6; border-top:1px solid #e4e5e7; flex-shrink:0; padding:20px 24px; }
.br-booking-sheet-total p { color:#5f6368; font-size:13px; margin:8px 0 0; }
html.br-booking-sheet-open { overflow:hidden; }
.br-booking-document { background:#fff; border:1px solid #ddd; margin:24px auto; max-width:900px; overflow-x:auto; padding:24px; }
.br-booking-document h1 { font-size:28px; margin:0 0 24px; }
.br-booking-document-actions { align-items:center; display:flex; gap:24px; justify-content:space-between; }
@media(max-width:991px) {
 .br-bookings { padding:24px 16px 48px; }
 .br-bookings h1 { font-size:30px; }
 .br-bookings h2 { font-size:23px; }
 .br-bookings h3 { font-size:22px; }
 .br-booking-list-heading { align-items:start; flex-direction:column; gap:20px; margin-bottom:32px; }
 .br-booking-card { gap:16px; grid-template-columns:minmax(0,1fr) 90px; padding:20px 16px; }
 .br-booking-card h3 { font-size:20px; margin:12px 0 16px; }
 .br-booking-card-image { height:100px; }
 .br-booking-card .br-booking-dates { align-items:start; flex-direction:column; gap:12px; }
 .br-booking-card .br-booking-dates > div { align-items:baseline; column-gap:8px; flex-direction:row; flex-wrap:wrap; text-align:left; }
 .br-booking-card .br-booking-dates strong { font-size:15px; }
 .br-booking-card .br-booking-dates time { font-size:14px; }
 .br-booking-card .br-booking-dates > div > span { flex-basis:100%; font-size:12px; }
 .br-booking-card .br-booking-date-middle { display:none; }
 .br-booking-card-bottom { align-items:start; flex-direction:column; font-size:12px; margin-top:16px; }
 .br-booking-next { display:flex; flex-direction:column-reverse; gap:12px; padding:16px; }
 .br-booking-next .br-booking-card-image { height:180px; }
 .br-booking-next .br-booking-card-copy { width:100%; }
 .br-booking-next .br-booking-dates { flex-direction:row; gap:20px; }
 .br-booking-next .br-booking-card-bottom { align-items:center; flex-direction:row; }
 .br-booking-filters { gap:12px; grid-template-columns:minmax(0,1fr) auto; margin-bottom:24px; }
 .br-booking-filters > div:first-of-type { grid-column:1 / -1; }
 .br-booking-filters > div { min-width:0; }
 .br-booking-filters select { font-size:14px; }
 .br-booking-top { grid-template-columns:40px minmax(0,1fr); margin: -24px 0 24px; padding:0; }


 .br-booking-detail-heading { align-items:start; flex-direction:column; gap:16px; margin-bottom:24px; }
 .br-booking-detail-layout { gap:32px; grid-template-columns:minmax(0,1fr); }
 .br-booking-detail-content, .br-booking-detail-aside { gap:32px; }
 .br-booking-detail-image { height:220px; }
 .br-booking-reference { padding:12px 16px; }
 .br-booking-summary .br-booking-dates { gap:12px; margin:0 16px; padding:20px 0; }
 .br-booking-dates strong { font-size:16px; }
 .br-booking-actions { gap:8px; }
 .br-booking-actions a, .br-booking-actions > button:disabled { align-items:center; border:0; font-size:13px; padding:0 4px; text-align:center; }
 .br-booking-action-icon { height:48px; width:48px; }
 .br-booking-soft { padding:20px; }
 .br-booking-price-dialog { border-radius:20px 20px 0 0; inset:auto 0 0; margin:0; max-height:92dvh; max-width:none; width:100%; }
 .br-booking-sheet { max-height:92dvh; }
 .br-booking-sheet-head { padding:12px 16px; }
 .br-booking-sheet-head h2 { font-size:23px; }
 .br-booking-sheet-body { padding:20px 16px; }
 .br-booking-sheet-total { padding:20px 16px max(20px,env(safe-area-inset-bottom)); }
 .br-booking-total strong { font-size:22px; }
 .br-booking-document { padding:12px; }
 .br-booking-document-actions { align-items:start; flex-direction:column; gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .br-booking-card { transition:none; } }
@media print { .br-site-header, .site-footer, .br-booking-document-actions, #br-login-dialog, #br-navigation-dialog { display:none!important; } .br-bookings { margin:0; max-width:none; padding:0; } .br-booking-document { border:0; margin:0; max-width:none; overflow:visible; padding:0; } }

.br-booking-date-middle { align-items:center; display:flex; flex-direction:column; gap:4px; text-align:center; }
.br-booking-date-middle small { color:#5f6368; font-size:12px; font-weight:400; white-space:nowrap; }
.br-booking-mileage { background:#f4f5f6; border-radius:12px; margin:0 24px 24px; padding:16px; }
.br-booking-mileage > span { color:#5f6368; font-size:13px; }
.br-booking-mileage p { font-size:15px; margin:6px 0 0; }
.br-booking-mileage p span { color:#5f6368; font-size:13px; }
.br-booking-rental-days { color:#5f6368!important; font-size:13px; margin:8px 0 16px; }
.br-booking-payment-method { border-top:1px solid #e4e5e7; margin:20px 0 8px; }
.br-booking-payment-method > strong { flex-shrink:1; min-width:0; overflow-wrap:anywhere; }
@media(max-width:991px) { .br-booking-mileage { margin:0 16px 16px; } }

.br-booking-badges { align-items:center; display:flex; flex-wrap:wrap; gap:8px; }
.br-booking-unpaid { background:#fee4e2; color:#b42318; }
.br-booking-pay { margin-top:20px; width:100%; }
.br-booking-sheet-total .br-booking-pay { margin-top:0; }
.br-booking-payment-error { color:#b42318; }
.br-booking-pay:disabled { cursor:wait; opacity:.55; }

#br-booking-payment .br-booking-sheet-head h2 { min-width:0; overflow-wrap:anywhere; }
#br-booking-payment .br-booking-sheet-head button { flex-shrink:0; }
.br-booking-payment-summary strong { white-space:nowrap; }

.br-booking-actions > button:disabled { background:#f4f5f6; color:#8a8f94; cursor:not-allowed; font-family:inherit; text-align:left; }
.br-booking-actions > button:disabled .br-booking-action-icon { color:inherit; }
@media(max-width:991px) { .br-booking-actions > button:disabled { text-align:center; } }
