/* Caribico Platform UI Framework v1.0
 * Approved /hotels/ layout. Visual layer only.
 */
:root{
 --cwb-primary:#1B5A7A;--cwb-primary-hover:#164A65;--cwb-primary-active:#123E55;
 --cwb-primary-light:#EAF3F7;--cwb-primary-border:#C9DDE7;--cwb-page:#F6F8FA;
 --cwb-card:#FFF;--cwb-text:#1F2933;--cwb-secondary:#667085;--cwb-muted:#8A94A3;
 --cwb-border:#D9E1E7;--cwb-success:#2E7D32;--cwb-shadow:0 2px 8px rgba(16,24,40,.06);
 --cwb-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
 --cwb-font-compact:12px;--cwb-line-compact:1.35;
}
body.caribico-platform-page{margin:0;background:var(--cwb-page)!important;color:var(--cwb-text);font-family:var(--cwb-font-family)!important;overflow-x:hidden!important}
/* Typography contract: one shared family across every platform text element and native control. */
body.caribico-platform-page .caribico-platform-shell :where(
 h1,h2,h3,h4,h5,h6,p,a,span,small,strong,em,b,i,
 button,input,select,textarea,optgroup,option,label,legend,
 li,td,th,dt,dd,summary
){font-family:var(--cwb-font-family)!important}
body.caribico-platform-page .wp-site-blocks>header,body.caribico-platform-page .wp-site-blocks>footer,body.caribico-platform-page header.wp-block-template-part,body.caribico-platform-page footer.wp-block-template-part{display:none!important}
body.caribico-platform-page .wp-site-blocks,body.caribico-platform-page main,body.caribico-platform-page .entry-content,body.caribico-platform-page .wp-block-post-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.caribico-platform-page .wp-block-post-title{display:none!important}
body.caribico-platform-page .is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)),body.caribico-platform-page .is-layout-flow>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
body.caribico-platform-page .wp-site-blocks{padding-left:0!important;padding-right:0!important;gap:0!important}
.caribico-platform-shell{min-height:100vh;background:var(--cwb-page);display:flex;flex-direction:column;gap:8px;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;position:relative!important;left:auto!important;right:auto!important}
.cwb-platform-header{height:82px;background:var(--cwb-primary);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08);position:relative;z-index:50}
.cwb-platform-header-inner{max-width:1360px;height:100%;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:270px 1fr auto;align-items:center;gap:24px}
.cwb-brand-header{display:block;width:205px}.cwb-brand-header img{display:block;width:100%;height:auto}
.cwb-platform-nav{height:100%;display:flex;align-items:stretch;gap:8px}.cwb-platform-nav a{position:relative;display:flex;align-items:center;gap:10px;padding:0 22px;color:#fff!important;text-decoration:none!important;font-size:16px;font-weight:500;white-space:nowrap}.cwb-platform-nav a span{font-size:21px}.cwb-platform-nav a.is-active{font-weight:700;background:rgba(0,0,0,.06)}.cwb-platform-nav a.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:5px;background:#fff;border-radius:5px 5px 0 0}
.cwb-platform-user{display:flex;align-items:center;gap:14px;font-size:14px;white-space:nowrap}.cwb-platform-user strong,.cwb-platform-user small{display:block;color:#fff}.cwb-platform-user small{font-size:12px;font-weight:400}.cwb-header-auth-link{color:#fff;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px}.cwb-header-auth-link:hover,.cwb-header-auth-link:focus{color:#fff;opacity:.9}.cwb-help,.cwb-user-avatar{display:grid;place-items:center;width:30px;height:30px;border:2px solid #fff;border-radius:50%}.cwb-user-avatar{width:38px;height:38px;background:#fff;color:var(--cwb-primary)}
.cwb-platform-main{flex:1}.caribico-wb-app{max-width:1360px!important;width:100%!important;box-sizing:border-box!important;margin:0 auto!important;color:var(--cwb-text)!important;font-family:inherit!important}
.cwb-search-shell{background:#fff;border:1px solid #EEF1F4;border-radius:12px!important;padding:26px 28px 0!important;box-shadow:0 8px 24px rgba(16,24,40,.08)!important;margin:0 0 16px!important;overflow:visible}.cwb-search-heading{margin:0 0 8px!important}.cwb-search-heading h1{margin:0!important;font-size:36px!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.025em;color:#101828}
.cwb-search-grid{display:flex!important;flex-direction:column!important;gap:18px!important;background:transparent!important;padding:0!important;margin:0!important}.cwb-search-row{display:grid!important;gap:18px 28px!important;min-width:0}.cwb-search-row-primary{grid-template-columns:minmax(280px,1.55fr) minmax(280px,1.35fr) minmax(220px,1fr)!important}.cwb-search-row-meta{grid-template-columns:minmax(170px,1.1fr) minmax(170px,1.1fr) minmax(96px,.55fr) auto!important;align-items:end}.cwb-search-grid .caribico-wb-field{min-width:0!important}.cwb-field-currency{max-width:120px}.cwb-field-search-submit{justify-self:end;min-width:170px}.caribico-wb-field label{font-size:13px!important;font-weight:600!important;margin:0 0 7px!important;color:#101828}.cwb-search-grid input,.cwb-search-grid select,.cwb-field-button{height:50px!important;min-height:50px!important;box-sizing:border-box!important;background:#fff!important;border:1px solid var(--cwb-border)!important;border-radius:8px!important;padding:0 14px!important;font:400 15px/1.4 inherit!important;color:#101828!important;box-shadow:none!important}.cwb-search-grid input:focus,.cwb-search-grid select:focus,.cwb-field-button:focus{outline:3px solid rgba(27,90,122,.14)!important;border-color:var(--cwb-primary)!important}.cwb-input-with-icon{position:relative}.cwb-input-with-icon input{width:100%;padding-left:44px!important}.cwb-field-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:20px;color:#344054;z-index:1}.cwb-occupancy-label{display:flex;align-items:center;gap:10px}.cwb-search-submit{height:50px!important;min-height:50px!important;width:100%;border-radius:8px!important;background:var(--cwb-primary)!important;border:1px solid var(--cwb-primary)!important;color:#fff!important;font-size:15px!important;font-weight:600!important}.cwb-search-submit:hover{background:var(--cwb-primary-hover)!important;border-color:var(--cwb-primary-hover)!important;transform:translateY(-1px)}.cwb-search-submit:active{background:var(--cwb-primary-active)!important;transform:none}.caribico-wb-submit{align-self:end!important}.cwb-advanced-toggle{display:flex;width:calc(100% + 56px);margin:18px -28px 0;padding:15px 28px;border:0;border-top:1px solid #EAECF0;background:#fff;color:var(--cwb-primary);font:600 14px/1 inherit;gap:10px;cursor:pointer;text-align:left}
.cwb-date-range-field{position:relative}.cwb-date-range-toggle{display:flex!important;align-items:center;gap:10px;width:100%;text-align:left;white-space:nowrap}.cwb-date-range-icon{display:inline-flex;flex:0 0 auto;color:#344054}.cwb-date-range-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#cwb-date-range-summary{overflow:hidden;text-overflow:ellipsis}.cwb-date-range-panel{position:absolute;z-index:80;top:calc(100% + 8px);left:50%;width:min(540px,calc(100vw - 32px));transform:translateX(-50%);padding:12px;border:1px solid #D9E1E7;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.2)}.cwb-date-range-panel[hidden]{display:none!important}.cwb-calendar-toolbar{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;margin-bottom:8px}.cwb-calendar-toolbar p{margin:0;text-align:center;font-size:11px;font-weight:600;color:#475467}.cwb-calendar-nav{width:30px;height:30px;padding:0;border:1px solid #D9E1E7;border-radius:50%;background:#fff;color:#101828;font-size:22px;line-height:1;cursor:pointer}.cwb-calendar-nav:hover,.cwb-calendar-nav:focus{border-color:#1B5A7A;background:#EAF3F7;outline:0}.cwb-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cwb-calendar-month h3{margin:0 0 6px;text-align:center;font-size:12px;font-weight:600;color:#101828}.cwb-calendar-weekdays,.cwb-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cwb-calendar-weekdays{margin-bottom:2px}.cwb-calendar-weekdays span{display:grid;place-items:center;height:18px;color:#667085;font-size:10px;font-weight:700}.cwb-calendar-grid .is-blank{height:28px}.cwb-calendar-day{position:relative;display:grid;place-items:center;height:28px;padding:0;border:0;background:transparent;color:#101828;font:500 12px/1 inherit;cursor:pointer}.cwb-calendar-day span{position:relative;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:50%}.cwb-calendar-day:before{content:"";position:absolute;inset:1px -1px;background:transparent}.cwb-calendar-day.is-range:before{background:#EAF3F7}.cwb-calendar-day.is-start:before{left:50%;background:#EAF3F7}.cwb-calendar-day.is-end:before{right:50%;background:#EAF3F7}.cwb-calendar-day.is-start span,.cwb-calendar-day.is-end span{background:#1B5A7A;color:#fff;font-weight:700}.cwb-calendar-day.is-today:not(.is-start):not(.is-end) span{box-shadow:inset 0 0 0 1px #1B5A7A}.cwb-calendar-day:hover span,.cwb-calendar-day:focus span{box-shadow:inset 0 0 0 2px #1B5A7A;outline:0}.cwb-calendar-day:disabled{color:#C1C7D0;cursor:not-allowed}.cwb-calendar-day:disabled span{box-shadow:none}.cwb-calendar-footer{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #EAECF0}.cwb-calendar-footer>label{margin:0!important}.cwb-night-stepper{display:grid;grid-template-columns:30px 44px 30px;align-items:center}.cwb-night-stepper button,.cwb-night-stepper input{height:30px!important;min-height:30px!important;border:1px solid #D9E1E7!important;border-radius:0!important;background:#fff!important;text-align:center!important;padding:0!important}.cwb-night-stepper button{font-size:18px;cursor:pointer}.cwb-night-stepper button:first-child{border-radius:7px 0 0 7px!important}.cwb-night-stepper button:last-child{border-radius:0 7px 7px 0!important}.cwb-night-stepper input{width:44px;border-left:0!important;border-right:0!important;-moz-appearance:textfield}.cwb-night-stepper input::-webkit-inner-spin-button{appearance:none}.cwb-calendar-done{justify-self:end;min-width:120px;min-height:34px!important;height:34px!important;font-size:12px!important}
@media(max-width:760px){.cwb-date-range-panel{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:calc(100vh - 24px);transform:none;overflow:auto;padding:12px}.cwb-calendar-months{grid-template-columns:1fr}.cwb-calendar-month.is-second{display:none}.cwb-calendar-footer{grid-template-columns:auto 1fr}.cwb-calendar-done{grid-column:1/-1;width:100%;justify-self:stretch}.cwb-calendar-grid .is-blank,.cwb-calendar-day{height:34px}.cwb-calendar-day span{width:30px;height:30px}}
.cwb-destination-suggestions{top:calc(100% + 6px)!important;border:1px solid var(--cwb-border)!important;border-radius:8px!important;box-shadow:0 8px 24px rgba(16,24,40,.12)!important}.cwb-destination-recent-heading{padding:8px 14px 4px!important;color:var(--cwb-muted,#8A94A3)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important}.cwb-destination-option:hover,.cwb-destination-option:focus,.cwb-destination-option.is-active{background:var(--cwb-primary-light)!important}.cwb-destination-option.is-active{box-shadow:inset 3px 0 0 var(--cwb-primary)!important}.cwb-destination-match{background:var(--cwb-primary-light)!important;color:inherit!important;font-weight:600!important;padding:0!important}.cwb-destination-status{padding:12px 14px!important;font-size:13px!important;line-height:1.4!important}.cwb-destination-loading{display:flex!important;align-items:center!important;gap:10px!important;color:var(--cwb-secondary)!important}.cwb-destination-empty{color:var(--cwb-secondary)!important}.cwb-destination-error{color:#a94442!important}.cwb-occupancy-panel{border-radius:12px!important;border-color:var(--cwb-border)!important}
.cwb-results-layout{display:grid;grid-template-columns:252px minmax(0,1fr);gap:16px;align-items:start}.caribico-wb-app:not(.has-results):not(.is-searching):not([data-view="workspace"]):not([data-view="booking"]):not([data-view="hotel"]):not([data-view="bookings"]):not([data-view="booking_requests"]):not([data-view="finance"]):not([data-view="agency"]):not([data-view="agencies"]):not([data-view="dashboard"]):not([data-view="profile"]):not([data-view="settings"]):not([data-view="signin"]):not([data-view="register"]):not([data-view="registration_submitted"]) .cwb-results-layout{display:none}.caribico-wb-app[data-view="hotel"] .cwb-results-layout,.caribico-wb-app[data-view="booking"] .cwb-results-layout,.caribico-wb-app[data-view="workspace"] .cwb-results-layout,.caribico-wb-app[data-view="bookings"] .cwb-results-layout,.caribico-wb-app[data-view="booking_requests"] .cwb-results-layout,.caribico-wb-app[data-view="finance"] .cwb-results-layout,.caribico-wb-app[data-view="agency"] .cwb-results-layout,.caribico-wb-app[data-view="agencies"] .cwb-results-layout,.caribico-wb-app[data-view="signin"] .cwb-results-layout,.caribico-wb-app[data-view="register"] .cwb-results-layout,.caribico-wb-app[data-view="registration_submitted"] .cwb-results-layout,.caribico-wb-app[data-view="profile"] .cwb-results-layout,.caribico-wb-app[data-view="settings"] .cwb-results-layout{display:grid;grid-template-columns:1fr}.caribico-wb-app[data-view="hotel"] .caribico-wb-filters,.caribico-wb-app[data-view="booking"] .caribico-wb-filters,.caribico-wb-app[data-view="workspace"] .caribico-wb-filters,.caribico-wb-app[data-view="bookings"] .caribico-wb-filters,.caribico-wb-app[data-view="booking_requests"] .caribico-wb-filters,.caribico-wb-app[data-view="finance"] .caribico-wb-filters,.caribico-wb-app[data-view="agency"] .caribico-wb-filters,.caribico-wb-app[data-view="agencies"] .caribico-wb-filters,.caribico-wb-app[data-view="signin"] .caribico-wb-filters,.caribico-wb-app[data-view="register"] .caribico-wb-filters,.caribico-wb-app[data-view="registration_submitted"] .caribico-wb-filters,.caribico-wb-app[data-view="profile"] .caribico-wb-filters,.caribico-wb-app[data-view="hotel"] .cwb-results-toolbar,.caribico-wb-app[data-view="booking"] .cwb-results-toolbar,.caribico-wb-app[data-view="workspace"] .cwb-results-toolbar,.caribico-wb-app[data-view="bookings"] .cwb-results-toolbar,.caribico-wb-app[data-view="booking_requests"] .cwb-results-toolbar,.caribico-wb-app[data-view="finance"] .cwb-results-toolbar,.caribico-wb-app[data-view="agency"] .cwb-results-toolbar,.caribico-wb-app[data-view="agencies"] .cwb-results-toolbar,.caribico-wb-app[data-view="signin"] .cwb-results-toolbar,.caribico-wb-app[data-view="register"] .cwb-results-toolbar,.caribico-wb-app[data-view="registration_submitted"] .cwb-results-toolbar,.caribico-wb-app[data-view="profile"] .cwb-results-toolbar{display:none!important}
.caribico-wb-filters{display:block!important;padding:18px 16px!important;background:#fff!important;border:1px solid #EEF1F4!important;border-radius:10px!important;box-shadow:var(--cwb-shadow)!important;margin:0!important}.caribico-wb-filters[hidden]{display:none!important}.cwb-filter-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.cwb-filter-header h2{margin:0;font-size:20px;font-weight:700}.cwb-filter-header button{border:0;background:transparent;color:var(--cwb-primary);font:500 13px/1 inherit;cursor:pointer}.caribico-wb-filter{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #EAECF0}.caribico-wb-filter:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.caribico-wb-filter>label{display:block;font-size:13px;font-weight:600;margin:0 0 10px}.caribico-wb-filter select{width:100%;height:40px;border:1px solid var(--cwb-border);border-radius:8px;background:#fff;padding:0 12px}.cwb-price-caption{font-size:14px;margin-bottom:10px}.cwb-range-stack{position:relative;height:20px}.cwb-range-stack input[type="range"]{position:absolute;left:0;right:0;top:0;width:100%;height:4px;margin:8px 0;appearance:none;background:transparent;pointer-events:none}.cwb-range-stack input[type="range"]::-webkit-slider-runnable-track{height:4px;background:var(--cwb-primary);border-radius:999px}.cwb-range-stack input[type="range"]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-7px;border:0;border-radius:50%;background:var(--cwb-primary);pointer-events:auto}.cwb-range-stack input[type="range"]::-moz-range-track{height:4px;background:var(--cwb-primary);border-radius:999px}.cwb-range-stack input[type="range"]::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:var(--cwb-primary);pointer-events:auto}.cwb-range-values{display:flex;justify-content:space-between;margin-top:2px;font-size:12px}.cwb-amenity-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cwb-amenity-pill{display:block!important;margin:0!important;font-weight:400!important}.cwb-amenity-pill input{position:absolute;opacity:0;pointer-events:none}.cwb-amenity-pill span{display:flex;align-items:center;justify-content:center;min-height:34px;padding:6px 8px;border:1px solid var(--cwb-border);border-radius:999px;background:#fff;font-size:12px;cursor:pointer;transition:.15s}.cwb-amenity-pill input:checked+span{background:var(--cwb-primary);border-color:var(--cwb-primary);color:#fff}.cwb-amenity-pill input:checked+span:before{content:"✓";margin-right:6px;font-weight:700}.cwb-amenity-extra{grid-column:span 1}.cwb-show-more{width:100%;height:38px;margin-top:14px;border:1px solid var(--cwb-border);border-radius:8px;background:#fff;font-size:12px;cursor:pointer}
.cwb-results-column{min-width:0}.cwb-results-toolbar{min-height:40px;height:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 8px 0}.cwb-results-header-meta{display:flex;align-items:center;flex-wrap:wrap;min-width:0;font-size:14px;line-height:1.35;color:#344054}.cwb-results-count-block{white-space:nowrap}.cwb-results-toolbar strong,#cwb-results-count{font-size:14px;font-weight:700;color:#101828}.cwb-results-freshness{display:inline-flex;align-items:center;flex-wrap:wrap;min-width:0}.cwb-results-freshness[hidden]{display:none!important}.cwb-results-sep{margin:0 8px;color:#98A2B3;font-weight:600}.cwb-results-freshness-status,.cwb-results-freshness-age{white-space:nowrap}.cwb-results-freshness.is-stale{color:#7A4E00}.cwb-results-freshness.is-stale .cwb-results-sep{color:#D0A15C}.cwb-refresh-inline,#cwb-refresh-results.cwb-refresh-inline{display:inline-flex;align-items:center;justify-content:center;margin-left:12px;min-height:32px;height:32px;padding:0 14px;border:0!important;border-radius:8px;background:#EAF3F7!important;color:#1B5A7A!important;font-size:14px;font-weight:600;line-height:1;cursor:pointer;box-shadow:none!important;white-space:nowrap}.cwb-refresh-inline:hover,#cwb-refresh-results.cwb-refresh-inline:hover{background:#DCEAF1!important;color:#164A65!important}#cwb-refresh-results.cwb-refresh-inline.is-price-expired{background:#F79009!important;color:#FFFFFF!important}#cwb-refresh-results.cwb-refresh-inline.is-price-expired:hover{background:#DC6803!important;color:#FFFFFF!important}.cwb-results-actions{display:flex;align-items:center;gap:10px;font-size:12px}.cwb-results-actions select{height:40px;min-width:180px;border:1px solid var(--cwb-border);border-radius:8px;background:#fff;padding:0 12px}.cwb-view-toggle{width:40px;height:40px;border:0;border-radius:8px;background:#EEF2F6;color:#101828;font-size:20px;cursor:pointer}.cwb-view-toggle.is-active{background:var(--cwb-primary);color:#fff}
/* Legacy banner removed — keep inert if old markup appears. */
.cwb-results-stale-banner{display:none!important}
.caribico-wb-results-list{display:flex!important;flex-direction:column!important;gap:12px!important}.caribico-wb-hotel-card{display:grid!important;grid-template-columns:250px minmax(0,1fr) 170px!important;gap:16px!important;min-height:0;padding:10px!important;background:#fff;border:1px solid #EEF1F4!important;border-radius:10px!important;box-shadow:var(--cwb-shadow)!important;align-items:stretch!important}.caribico-wb-hotel-card[hidden]{display:none!important}.caribico-wb-hotel-thumb{position:relative;min-width:0;background:#EAF3F7!important}.caribico-wb-hotel-thumb img,.cwb-hotel-image-placeholder{width:100%!important;height:190px!important;object-fit:cover!important;border-radius:8px!important}.cwb-hotel-image-placeholder{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;background:#EAF3F7!important;color:#1B5A7A!important;text-align:center!important}.cwb-hotel-image-placeholder span{color:#1B5A7A!important;font-size:.82rem!important;font-weight:800!important;letter-spacing:.16em!important}.cwb-hotel-image-placeholder small{color:#667085!important}.caribico-wb-hotel-body{padding:6px 0;min-width:0}.cwb-hotel-title-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.caribico-wb-hotel-name{margin:0 0 4px!important;font-size:21px!important;line-height:1.25!important;font-weight:700!important;color:#101828}.caribico-wb-hotel-rating{color:#F5A000!important;font-size:18px!important;margin:0!important}.caribico-wb-hotel-address{margin:2px 0 6px!important;color:#344054!important;font-size:12px!important}.caribico-wb-hotel-amenities{margin:4px 0 6px!important;color:#344054!important;font-size:12px!important;line-height:1.35}.caribico-wb-hotel-amenities span{background:transparent!important;border-radius:0!important;padding:0!important;margin:0 12px 2px 0!important}.caribico-wb-hotel-amenities span:before{content:"◌";margin-right:5px;color:var(--cwb-primary)}.cwb-rate-badge{display:inline-block;margin-top:4px;color:var(--cwb-success);background:transparent!important;font-size:12px}.cwb-rate-badge:before{content:"✓";font-weight:700;margin-right:6px}.cwb-rate-badge.is-nonrefundable{color:#C62828}.caribico-wb-hotel-price{display:flex!important;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right!important;padding:14px 12px!important;min-width:0!important;background:#FFFFFF!important;border:1px solid #EEF1F4!important;border-radius:10px!important;box-shadow:none!important}.cwb-hotel-price-copy{display:flex;flex-direction:column;align-items:flex-end}.cwb-hotel-free-cancellation{margin:0 0 3px;color:var(--cwb-success);font-size:12px;font-weight:600;line-height:1.25}.caribico-wb-price-from{font-size:12px;color:#344054}.caribico-wb-price-value{display:inline!important;font-size:28px!important;font-weight:700!important;color:#101828}.caribico-wb-price-currency{font-size:12px}.cwb-price-scope{font-size:11px;color:#344054;margin:2px 0 18px}.cwb-view-hotel{width:150px;height:46px;background:var(--cwb-primary)!important;border-color:var(--cwb-primary)!important;color:#fff!important}.cwb-view-hotel:hover{background:var(--cwb-primary-hover)!important}.caribico-wb-empty-state{background:#fff;border:1px solid #EEF1F4;border-radius:10px;box-shadow:var(--cwb-shadow)}
.caribico-wb-btn{min-height:44px;border-radius:8px!important;padding:0 18px!important;font-size:14px!important;font-weight:600!important}.caribico-wb-btn-primary{background:var(--cwb-primary)!important;border-color:var(--cwb-primary)!important;color:#fff!important}.caribico-wb-btn-primary:hover{background:var(--cwb-primary-hover)!important}.caribico-wb-btn-secondary{background:#fff!important;color:var(--cwb-primary)!important;border:1px solid var(--cwb-primary)!important}.cwb-loading-dot{border-top-color:var(--cwb-primary)!important}
.cwb-platform-footer{background:#fff;border-top:1px solid #EAECF0;margin-top:auto}.cwb-platform-footer-inner{max-width:1360px;min-height:84px;margin:0 auto;padding:16px 32px;display:grid;grid-template-columns:300px 1fr auto;gap:24px;align-items:center}.cwb-footer-brand{display:flex;flex-direction:column;align-items:flex-start}.cwb-footer-brand img{display:block;width:185px;height:auto}.cwb-footer-brand span{margin-left:52px;margin-top:-2px;color:var(--cwb-primary);font-size:10px;font-weight:700;letter-spacing:.06em}.cwb-platform-footer nav{display:flex;justify-content:center;gap:42px}.cwb-platform-footer a{color:#344054!important;text-decoration:none!important;font-size:13px}.cwb-platform-footer p{margin:0;color:#344054;font-size:12px;white-space:nowrap}
@media(max-width:1100px){.cwb-platform-header-inner{grid-template-columns:220px 1fr}.cwb-platform-user{display:none}.cwb-platform-nav a{padding:0 14px}.cwb-search-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cwb-search-row-primary .cwb-field-destination{grid-column:1/-1!important}.cwb-search-row-meta{grid-template-columns:repeat(2,minmax(0,1fr)) auto!important}.cwb-field-currency{max-width:none}.cwb-field-search-submit{grid-column:1/-1;justify-self:stretch;min-width:0}.cwb-results-layout{grid-template-columns:244px minmax(0,1fr)}.caribico-wb-hotel-card{grid-template-columns:210px minmax(0,1fr)!important}.caribico-wb-hotel-price{grid-column:2;flex-direction:row!important;justify-content:space-between;align-items:center}.cwb-hotel-price-copy{align-items:flex-start;text-align:left}.cwb-platform-footer-inner{grid-template-columns:220px 1fr}.cwb-platform-footer p{grid-column:1/-1;text-align:center}.cwb-platform-footer nav{gap:20px}}
@media(max-width:760px){.cwb-platform-header{height:auto}.cwb-platform-header-inner{display:flex;min-height:70px;padding:0 16px}.cwb-brand-header{width:170px}.cwb-platform-nav{margin-left:auto}.cwb-platform-nav a{display:none}.cwb-platform-nav a.is-active{display:flex;padding:0 12px}.cwb-search-shell{padding:20px 16px 0!important}.cwb-search-heading h1{font-size:28px!important}.cwb-search-row-primary,.cwb-search-row-meta{grid-template-columns:1fr!important;gap:14px!important}.cwb-search-row-primary .cwb-field-destination{grid-column:auto!important}.cwb-field-search-submit{grid-column:auto;justify-self:stretch}.cwb-advanced-toggle{width:calc(100% + 32px);margin:18px -16px 0;padding:14px 16px}.cwb-results-layout{grid-template-columns:1fr}.caribico-wb-filters{display:none!important}.caribico-wb-app.filters-open .caribico-wb-filters{display:block!important}.cwb-results-toolbar{padding:0;gap:10px}.cwb-results-actions label,.cwb-results-actions select{display:none}.caribico-wb-hotel-card{grid-template-columns:1fr!important;padding:10px!important}.caribico-wb-hotel-thumb img,.cwb-hotel-image-placeholder{height:220px!important}.caribico-wb-hotel-price{grid-column:auto;flex-direction:row!important;align-items:center!important}.cwb-platform-footer-inner{display:flex;flex-direction:column;text-align:center;padding:24px 16px}.cwb-footer-brand{align-items:center}.cwb-footer-brand span{margin-left:0}.cwb-platform-footer nav{flex-wrap:wrap;gap:12px 24px}.cwb-platform-footer p{white-space:normal}}


/* v21.2 approved UI refinements */
:root{--cwb-accent:#1B5A7A;--cwb-accent-soft:#EAF3F7;--cwb-accent-softer:#F4F8FA;--cwb-danger:#B42318}
.cwb-icon,.cwb-field-icon,.cwb-occupancy-icon,.cwb-inline-pin{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cwb-icon svg,.cwb-field-icon svg,.cwb-occupancy-icon svg,.cwb-inline-pin svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cwb-platform-nav a .cwb-icon{font-size:20px}.cwb-platform-user .cwb-icon{font-size:18px}.cwb-currency{display:flex;align-items:center;gap:6px}.cwb-user-avatar .cwb-icon{font-size:21px}
.cwb-field-icon{font-size:19px}.cwb-occupancy-icon{font-size:18px}.cwb-inline-pin{font-size:13px;vertical-align:-2px;margin-right:3px}
.cwb-search-grid input[type="date"]{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:0!important}
.cwb-filter-header button{text-transform:uppercase;font-weight:700!important;letter-spacing:.035em;display:flex;align-items:center;gap:8px}.cwb-filter-header button span{font-size:18px;line-height:1}
.cwb-range-stack{height:22px;background:linear-gradient(to right,#fff,#fff);border-radius:0}
.cwb-range-stack:before{content:"";position:absolute;left:0;right:0;top:10px;height:4px;background:#E6EBEF;border-radius:4px}
.cwb-range-stack input[type="range"]::-webkit-slider-runnable-track{background:transparent!important}.cwb-range-stack input[type="range"]::-moz-range-track{background:transparent!important}
.cwb-range-stack input[type="range"]::-webkit-slider-thumb,.cwb-range-stack input[type="range"]::-moz-range-thumb{background:var(--cwb-primary)!important}
.cwb-amenity-pill span{border-radius:7px!important}.cwb-amenity-pill input:checked+span{background:var(--cwb-primary)!important;border-color:var(--cwb-primary)!important}
.cwb-rate-badge{color:var(--cwb-primary)!important}.cwb-rate-badge:before{color:var(--cwb-primary)!important}
.caribico-wb-hotel-price{padding:8px 10px!important}.caribico-wb-price-value{font-size:24px!important}.cwb-price-scope{font-size:12px!important;line-height:1.35!important;font-weight:600;color:#475467!important;margin:3px 0 12px!important}.cwb-view-hotel{height:42px!important}

.caribico-wb-hotel-details>h2{font-size:24px;margin:10px 0 16px}.cwb-hotel-heading-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cwb-hotel-heading-row h2{margin:0;font-size:26px}.cwb-hotel-detail-stars{color:#F5A000;font-size:18px;letter-spacing:1px}
.cwb-hotel-summary{display:grid;grid-template-columns:minmax(420px,1.55fr) minmax(260px,1fr);gap:22px;align-items:start;margin-bottom:24px}.cwb-hotel-summary-media{min-width:0}.cwb-hotel-summary-image,.cwb-hotel-summary .cwb-hotel-image-placeholder{width:100%;height:330px;object-fit:cover;border-radius:10px}.cwb-hotel-summary .cwb-hotel-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#EAF3F7!important;color:#1B5A7A!important;text-align:center}.cwb-hotel-summary .cwb-hotel-image-placeholder span{font-size:.82rem;font-weight:800;letter-spacing:.16em;color:#1B5A7A!important}.cwb-hotel-summary .cwb-hotel-image-placeholder small{color:#667085}.cwb-hotel-summary-body{min-width:0;padding:8px 0}.cwb-hotel-summary-address{margin:6px 0 0;color:#344054;font-size:13px;line-height:1.4}.cwb-hotel-summary .caribico-wb-hotel-amenities{margin:8px 0 0!important}
.cwb-hotel-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:162px 162px;gap:6px;overflow:hidden;border-radius:10px;background:#EAF3F7}.cwb-hotel-gallery.is-single{display:block}.cwb-gallery-tile{position:relative;min-width:0;min-height:0;padding:0;border:0;background:#DDEAF0;cursor:pointer;overflow:hidden}.cwb-gallery-tile.is-primary{grid-row:1/3}.cwb-gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.cwb-gallery-tile:hover img,.cwb-gallery-tile:focus img{transform:scale(1.025)}.cwb-gallery-tile:focus{outline:3px solid #1B5A7A;outline-offset:-3px;z-index:2}.cwb-hotel-gallery.is-single .cwb-gallery-tile{width:100%;height:330px}.cwb-gallery-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:10px;background:rgba(16,24,40,.58);color:#fff;font-size:14px;font-weight:700;text-align:center}.cwb-gallery-open{overflow:hidden}.cwb-gallery-lightbox{position:fixed;inset:0;z-index:100100;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;padding:56px 24px 44px;background:rgba(8,14,20,.94)}.cwb-gallery-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:1200px;max-height:calc(100vh - 100px);margin:0 auto}.cwb-gallery-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:4px}.cwb-gallery-lightbox-caption{max-width:800px;margin:12px auto 0;color:#fff;font-size:14px;line-height:1.4;text-align:center}.cwb-gallery-lightbox-close,.cwb-gallery-lightbox-prev,.cwb-gallery-lightbox-next{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.cwb-gallery-lightbox-close{position:absolute;right:24px;top:18px;width:42px;height:42px;border-radius:50%;font-size:32px;line-height:1}.cwb-gallery-lightbox-prev,.cwb-gallery-lightbox-next{width:48px;height:64px;border-radius:8px;font-size:44px;line-height:1}.cwb-gallery-lightbox button:hover,.cwb-gallery-lightbox button:focus{background:#fff;color:#101828;outline:0}.cwb-gallery-lightbox-counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:700}
.cwb-room-row{display:grid!important;grid-template-columns:190px minmax(0,1fr) 210px;align-items:stretch!important;gap:22px!important;padding:10px!important;border:1px solid #E4E9ED!important;border-radius:10px!important;background:#fff!important;margin-bottom:12px!important}
.cwb-room-image{min-height:132px}.cwb-room-image img,.cwb-room-image-placeholder{width:100%;height:132px;object-fit:cover;border-radius:8px}.cwb-room-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cwb-accent-softer);color:var(--cwb-primary);text-align:center}.cwb-room-image-placeholder span{font-size:12px;font-weight:800;letter-spacing:.14em}.cwb-room-image-placeholder small{font-size:12px;color:#667085;margin-top:4px}
.cwb-room-info{padding:10px 0;min-width:0}.cwb-room-name{margin:0 0 10px!important;font-size:17px!important}.cwb-room-cancellation{margin:0!important;color:#475467}.cwb-room-cancellation-label{display:block;margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#667085}.cwb-room-cancellation-text{margin:0;font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-height:9.5em;overflow-y:auto}.cwb-room-price{display:flex!important;flex-direction:column;justify-content:center;align-items:flex-end;gap:8px!important;padding:8px 10px;text-align:right}.cwb-room-price-value{font-size:14px;font-weight:700;line-height:1.2;color:#101828;letter-spacing:0;white-space:nowrap}.cwb-room-actions{display:flex;align-items:center;gap:8px}.cwb-add-trip{width:30px;height:30px;border-radius:50%;border:1px solid var(--cwb-primary);background:#fff;color:var(--cwb-primary);font-size:18px;font-weight:600;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto;box-sizing:border-box;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.cwb-add-trip:hover,.cwb-add-trip:focus{background:var(--cwb-primary);color:#fff;outline:none}.cwb-select-room{min-width:0!important;width:auto!important;min-height:30px!important;height:30px!important;padding:0 12px!important;font-size:12px!important;font-weight:700!important;letter-spacing:0!important;text-transform:uppercase!important;line-height:1!important;border-radius:8px!important}
.cwb-trip-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(16px);z-index:10000;min-width:280px;max-width:min(440px,92vw);padding:12px 18px;border-radius:10px;background:#101828;color:#fff;font-size:14px;font-weight:600;text-align:center;box-shadow:0 12px 32px rgba(16,24,40,.28);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.cwb-trip-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.cwb-workspace{max-width:1360px;width:100%;margin:0 auto;padding:8px 0 40px;background:transparent}.caribico-wb-app[data-view="workspace"]{background:#F6F8FA}.caribico-wb-app[data-view="workspace"] #caribico-wb-results-region{background:#F6F8FA}.cwb-workspace-header{margin-bottom:22px;background:transparent;box-shadow:none;padding:0;border:0}.cwb-workspace-header .cwb-workspace-lede,.cwb-workspace-header .cwb-workspace-persistence-note{display:none}.cwb-workspace-title{margin:0 0 8px;font-size:28px;color:#101828}.cwb-workspace-lede{margin:0 0 6px;color:#667085;font-size:var(--cwb-font-compact);line-height:var(--cwb-line-compact)}.cwb-workspace-persistence-note{margin:0;color:#667085;font-size:12px}.cwb-workspace-list{display:flex;flex-direction:column;gap:14px}.cwb-workspace-empty{padding:48px 16px;border:0;border-radius:0;background:transparent;text-align:center}.cwb-workspace-empty-title{margin:0;font-size:16px;font-weight:600;color:#344054}.cwb-workspace-empty p{margin:8px 0 0;color:#475467;line-height:1.5}.cwb-workspace-card{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:18px;align-items:stretch;padding:14px;border:1px solid #EEF1F4;border-radius:12px;background:#FFFFFF;box-shadow:var(--cwb-shadow)}.cwb-workspace-card-media img,.cwb-workspace-thumb-placeholder{width:100%;height:110px;object-fit:cover;border-radius:8px}.cwb-workspace-card-media .cwb-hotel-image-placeholder,.cwb-workspace-thumb-placeholder{display:flex;align-items:center;justify-content:center;background:#EAF3F7!important;color:#1B5A7A!important;font-size:11px;font-weight:800;letter-spacing:.14em}.cwb-workspace-thumb-placeholder span,.cwb-workspace-card-media .cwb-hotel-image-placeholder span{color:#1B5A7A!important}.cwb-workspace-hotel-name{margin:0 0 4px;font-size:18px}.cwb-workspace-room-name{margin:0 0 12px;color:#344054;font-size:14px}.cwb-workspace-added-at{margin:0 0 10px;font-size:12px;color:#667085}.cwb-workspace-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.cwb-workspace-meta dt{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085}.cwb-workspace-meta dd{margin:2px 0 0;font-size:14px;font-weight:600;color:#101828}.cwb-workspace-badges{display:flex;flex-wrap:wrap;gap:8px}.cwb-workspace-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#EEF2F6;color:#344054;font-size:12px;font-weight:600}.cwb-workspace-badge.is-warning{background:#FFF4E5;color:#B54708}.cwb-workspace-badge.is-danger{background:#FDECEC;color:#9B1C1C}.cwb-workspace-price{margin:0 0 10px}.cwb-workspace-price-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085;margin:0 0 2px}.cwb-workspace-price-value{font-size:18px;font-weight:700;color:#101828}.cwb-workspace-price.is-stale .cwb-workspace-price-value{font-size:15px;font-weight:500;color:#98A2B3;text-decoration:line-through}.cwb-workspace-price.is-stale .cwb-workspace-price-label{color:#98A2B3}.cwb-workspace-freshness-note{margin:0 0 10px;font-size:12px;color:#667085;line-height:1.4}.cwb-workspace-refresh{background:#1B5A7A!important;border-color:#1B5A7A!important;color:#fff!important}.cwb-req-icon-btn.is-refresh.cwb-workspace-refresh{background:transparent!important;border-color:#2E7D32!important;color:#2E7D32!important;border-width:1px!important}.cwb-req-icon-btn.is-refresh.cwb-workspace-refresh.is-expired{background:#EAF7EC!important}.cwb-req-icon-btn.is-remove.cwb-workspace-remove{background:transparent!important;border-color:#B42318!important;color:#B42318!important;border-width:1px!important}.cwb-summary-line-price .cwb-locked-sell-price{font-size:20px;font-weight:700;color:#1B5A7A}.cwb-booking-result.is-mismatch{background:#FFF8F0!important;border:1px solid #F5C2C0!important;padding:18px;border-radius:12px}.cwb-status-pill.is-warning{background:#FFF4E5!important;color:#B54708!important;border-color:#F7D7A8!important}.cwb-booking-mismatch .cwb-confirmation-header p{color:#9B1C1C;font-weight:600}.cwb-workspace-card-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;min-width:140px}.cwb-workspace-card-actions .caribico-wb-btn{width:100%;min-height:42px}.cwb-workspace-book{background:#1B5A7A!important;border-color:#1B5A7A!important;color:#fff!important}.cwb-workspace-book:hover{background:#164A65!important;border-color:#164A65!important;color:#fff!important}.cwb-workspace-remove{background:#fff!important;border:1px solid var(--cwb-primary)!important;color:var(--cwb-primary)!important}.cwb-workspace-card.is-booking{opacity:.92}.cwb-workspace-book-error{margin:0 0 14px;padding:12px 14px;border:1px solid #F5C2C0;border-radius:10px;background:#FDECEC;color:#9B1C1C;font-size:14px;line-height:1.45}.cwb-workspace-book-retry{margin-left:10px;border:0;background:transparent;color:#1B5A7A;font:700 13px/1.2 inherit;cursor:pointer;text-decoration:underline}.cwb-workspace-confirm{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,40,.45)}.cwb-workspace-confirm-panel{width:min(440px,100%);padding:22px 22px 18px;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.28)}.cwb-workspace-confirm-panel h2{margin:0 0 10px;font-size:20px;color:#101828}.cwb-workspace-confirm-price{margin:0 0 8px;font-size:15px;font-weight:600;color:#101828;line-height:1.4}.cwb-workspace-confirm-note{margin:0 0 16px;font-size:13px;color:#667085}.cwb-workspace-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.cwb-workspace-confirm-actions .caribico-wb-btn{min-width:120px}
/* Request rate comparison: shared 12px text, plain values, actions only look like buttons.
 * Keep these rules at the component source; do not add per-view alert/pill overrides.
 * Desktop columns: room | meal/refund | cancellation | price | action.
 */
.cwb-workspace-ambiguous{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(16,24,40,.45);font-family:var(--cwb-font-family);font-size:var(--cwb-font-compact);line-height:var(--cwb-line-compact)}
.cwb-workspace-ambiguous-panel{width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:18px;border-radius:10px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.28)}
.cwb-workspace-ambiguous-panel h2{margin:0 0 14px;font:600 16px/1.35 var(--cwb-font-family);color:#101828}
.cwb-workspace-ambiguous-list{display:flex;flex-direction:column;gap:0;padding:0}
.cwb-workspace-ambiguous-card{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:14px;align-items:center;padding:12px 0;border:0;border-bottom:1px solid #EEF1F4;border-radius:0;background:transparent}
.cwb-workspace-ambiguous-card-body{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(90px,.65fr) minmax(180px,1.4fr) minmax(125px,.8fr);gap:16px;align-items:start;min-width:0}
.cwb-workspace-ambiguous-field,.cwb-workspace-ambiguous-field.is-diff{min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.cwb-workspace-ambiguous-room-field{grid-column:1;grid-row:1}
.cwb-workspace-ambiguous-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;gap:8px;min-width:0}
.cwb-workspace-ambiguous-cancellation{grid-column:3;grid-row:1}
.cwb-workspace-ambiguous-price{grid-column:4;grid-row:1}
.cwb-workspace-ambiguous-label{display:block;margin:0 0 3px;font-size:var(--cwb-font-compact);font-weight:400;line-height:var(--cwb-line-compact);text-transform:none;letter-spacing:normal;color:#667085}
.cwb-workspace-ambiguous-field p,.cwb-workspace-ambiguous-room{margin:0;font-size:var(--cwb-font-compact);font-weight:400;color:#344054;line-height:var(--cwb-line-compact);overflow-wrap:anywhere}
.cwb-workspace-ambiguous-price-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.cwb-workspace-ambiguous-price-value{font-size:var(--cwb-font-compact);font-weight:600;color:#101828;line-height:var(--cwb-line-compact);white-space:nowrap;font-variant-numeric:tabular-nums}
.cwb-workspace-ambiguous-price-delta{font-size:var(--cwb-font-compact);font-weight:400;line-height:var(--cwb-line-compact);color:#667085}
.cwb-workspace-ambiguous-price-delta.is-lowest{color:#027A48}
.cwb-workspace-ambiguous-terms-preview,.cwb-workspace-ambiguous-terms-full{margin:0;font-size:var(--cwb-font-compact);font-weight:400;color:#344054;line-height:var(--cwb-line-compact);white-space:pre-wrap;overflow-wrap:anywhere}
.cwb-workspace-ambiguous-terms-toggle{margin-top:4px;padding:0;border:0;border-radius:0;background:transparent;color:#1B5A7A;font:400 var(--cwb-font-compact)/var(--cwb-line-compact) var(--cwb-font-family);cursor:pointer;text-decoration:underline;text-align:left}
.cwb-workspace-ambiguous-card-actions{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.cwb-workspace-ambiguous-actions{display:flex;justify-content:flex-end;margin-top:12px}
.cwb-workspace-ambiguous .caribico-wb-btn{width:auto!important;min-height:32px!important;height:auto!important;padding:6px 10px!important;font-size:var(--cwb-font-compact)!important;font-weight:500!important;line-height:var(--cwb-line-compact)!important;white-space:normal;text-transform:none!important}

/* Request Module UI (v1.15.4+) — corporate blue only */
.cwb-workspace-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.cwb-workspace-header-row .cwb-workspace-title{margin-bottom:6px}
.cwb-request-table-wrap{overflow:auto;border:1px solid #E4E9ED;border-radius:12px;background:#fff;box-shadow:var(--cwb-shadow)}
.cwb-request-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:12px;min-width:1080px}
.cwb-request-table th,.cwb-request-table td{padding:6px 8px;border:0;border-bottom:0;text-align:left;vertical-align:middle}
.cwb-request-table th{color:#667085;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#F8FAFB;white-space:nowrap}
.cwb-request-table tbody td{background:#fff;font-size:12px;font-weight:400;line-height:1.35;color:#344054}
.cwb-request-table tbody tr:nth-child(even) td{background:#F7F9FB}
.cwb-request-table tbody tr:hover td{background:#F0F4F7}
.cwb-req-col-number,.cwb-req-col-dates,.cwb-req-col-meal,.cwb-req-col-updated,.cwb-req-col-guests{white-space:nowrap;font-size:12px;font-weight:400;color:#344054}
.cwb-req-date-line{display:block;font-size:12px;font-weight:400;letter-spacing:.02em;line-height:1.35;color:#344054}
.cwb-req-hotel-line{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.cwb-request-table .cwb-req-hotel-name{margin:0 0 4px;font-size:14px;line-height:1.35;font-weight:600;color:#101828}
.cwb-request-table .cwb-req-col-room,.cwb-request-table .cwb-req-room-category{font-size:12px;font-weight:400;line-height:1.35;color:#344054;text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.cwb-req-rooms-count{flex:0 0 auto;font-size:12px;font-weight:400;color:#667085;white-space:nowrap;line-height:1.35}
.cwb-req-promo-line,.cwb-req-services-line{display:block;line-height:1.35;white-space:nowrap}
.cwb-req-services-line{color:#667085;font-size:12px}
.cwb-req-col-guests{white-space:nowrap;line-height:1.35}
.cwb-req-cancel{display:inline-flex;align-items:center;gap:6px;font-weight:400;color:#344054}
.cwb-req-cancel.is-free{color:var(--cwb-success)}
.cwb-req-cancel.is-penalty{color:#B54708}
.cwb-req-cancel.is-free:before,.cwb-req-cancel.is-penalty:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}
.cwb-req-col-actions{vertical-align:middle;white-space:nowrap}
.cwb-request-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px}
.cwb-request-action-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	padding:0;
	margin:0;
	border:0;
	border-radius:7px;
	background:transparent;
	box-shadow:none;
	color:#1B5A7A;
	cursor:pointer;
	line-height:0;
	vertical-align:middle;
	transition:background-color .15s ease,color .15s ease;
}
.cwb-request-action-btn:hover,
.cwb-request-action-btn:focus{
	opacity:1;
	background:#EAF3F7;
	color:var(--cwb-primary,#1B5A7A);
	outline:none;
	box-shadow:none;
	border:0;
}
.cwb-request-action-btn:focus-visible{
	outline:2px solid rgba(27,90,122,.28);
	outline-offset:1px;
}
.cwb-request-action-svg,
.cwb-request-action-btn svg{
	display:block;
	width:20px;
	height:20px;
	flex:0 0 auto;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.cwb-request-lede-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:0}
.cwb-request-lede-row .cwb-workspace-lede{margin:0;min-width:0;flex:1 1 auto}
.cwb-request-toolbar{display:inline-flex;align-items:center;justify-content:flex-end;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;flex:0 0 auto}
.cwb-request-back{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;box-shadow:none;color:var(--cwb-primary);font:500 13px/1.2 inherit;cursor:pointer;padding:0;border-radius:0;text-decoration:none;white-space:nowrap}
.cwb-request-back:hover{background:transparent;color:var(--cwb-primary-hover);text-decoration:underline}
.cwb-request-back-arrow{display:inline-block;width:0;height:0;border-style:solid;border-width:4px 6px 4px 0;border-color:transparent currentColor transparent transparent;flex:0 0 auto}
.cwb-request-open-header{margin:0 0 8px}
.cwb-request-open-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0 0 6px}
.cwb-request-open-title,.cwb-request-open-header .cwb-workspace-title{font-size:16px;line-height:1.35;font-weight:600;margin:0;min-width:0}
.cwb-request-lifecycle{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.2;color:#667085;letter-spacing:.02em;text-transform:uppercase}
.cwb-request-lifecycle-step.is-current{color:#101828;font-weight:700}
.cwb-request-lifecycle-step.is-future{color:#98A2B3;font-weight:500}
.cwb-request-lifecycle-sep{color:#D0D5DD}
.cwb-req-status{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:1px 8px;border-radius:999px;border:1px solid #D0D5DD;background:#F8FAFB;color:#344054;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1.2}
.cwb-req-status.is-draft{border-color:#D0D5DD;background:#F8FAFB;color:#475467}
.cwb-req-status.is-pending{border-color:#FEC84B;background:#FFFAEB;color:#B54708}
.cwb-req-status.is-confirmed{border-color:#A6F4C5;background:#ECFDF3;color:#027A48}
.cwb-req-status.is-cancelled{border-color:#E4E7EC;background:#F2F4F7;color:#667085}
.cwb-request-table--structured{min-width:860px}
.cwb-req-col-stay .cwb-req-stay{display:flex;flex-direction:column;gap:1px}
.cwb-req-stay-nights{display:block;font-size:11px;font-weight:500;color:#667085;line-height:1.3}
.cwb-req-rooms-summary{display:flex;flex-direction:column;gap:2px;min-width:0}
.cwb-req-rooms-summary .cwb-req-rooms-count{font-size:12px;font-weight:600;color:#101828;line-height:1.3}
.cwb-req-rooms-summary .cwb-req-room-category{font-size:12px;font-weight:400;color:#344054;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.cwb-req-room-list{display:flex;flex-direction:column;gap:1px;min-width:0}
.cwb-req-room-line{display:block;font-size:12px;font-weight:400;line-height:1.35;color:#344054;white-space:normal;overflow-wrap:anywhere}
.cwb-req-room-facts{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 4px}
.cwb-req-room-fact{display:flex;flex-direction:column;gap:1px;min-width:0}
.cwb-req-room-fact span{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:#667085;line-height:1.35}
.cwb-req-room-fact strong{font-size:12px;font-weight:400;color:#344054;line-height:1.35}
.cwb-req-col-status{white-space:nowrap;vertical-align:middle}
.cwb-req-hotel-rooms-meta{margin:4px 0 0;color:#667085;font-size:12px;line-height:1.35}
.cwb-req-stay-label{font-weight:600;color:#344054}
.cwb-req-room-board,.cwb-req-room-guests{color:#667085}
.cwb-request-list-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.cwb-request-list-layout.has-quote-selection,.cwb-request-list-layout.has-proposal-selection{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}
.cwb-request-list-main{min-width:0}
.cwb-req-col-select{width:36px;text-align:center;vertical-align:middle}
.cwb-request-table .cwb-req-col-select{padding-left:10px;padding-right:4px}
.cwb-req-select-label{display:inline-flex;align-items:center;justify-content:center;margin:0;cursor:pointer}
.cwb-req-quote-select,.cwb-req-proposal-select{width:16px;height:16px;margin:0;accent-color:var(--cwb-primary);cursor:pointer}
.cwb-quote-summary{position:sticky;top:16px;border:1px solid #EEF1F4;border-radius:12px;background:#fff;box-shadow:var(--cwb-shadow);padding:16px}
.cwb-quote-summary[hidden]{display:none!important}
.cwb-quote-summary h2{margin:0 0 14px;font-size:16px;color:#101828}
.cwb-quote-summary-items{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;max-height:340px;overflow:auto}
.cwb-quote-summary-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid #EEF1F4;border-radius:10px;background:#F9FBFC}
.cwb-quote-summary-hotel{font-size:13px;font-weight:700;color:#101828;line-height:1.35;overflow-wrap:anywhere}
.cwb-quote-summary-request-id{font-size:11px;color:#667085;line-height:1.3}
.cwb-quote-summary-stay{font-size:12px;font-weight:400;color:#667085;line-height:1.35}
.cwb-quote-summary-rooms{display:flex;flex-direction:column;gap:8px}
.cwb-quote-summary-room{display:flex;flex-direction:column;gap:2px}
.cwb-quote-summary-room-category{font-size:13px;font-weight:600;color:#101828;line-height:1.35}
.cwb-quote-summary-room-board{font-size:12px;font-weight:400;color:#667085;line-height:1.35}
.cwb-quote-summary-item-sell{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#344054;padding-top:4px;border-top:1px solid #EEF1F4}
.cwb-quote-summary-item-label{color:#667085}
.cwb-quote-summary-totals{margin:0 0 14px;padding-top:12px;border-top:1px solid #EEF1F4}
.cwb-quote-summary-total-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:13px;color:#344054}
.cwb-quote-summary-total-row dt{margin:0;font-weight:500}
.cwb-quote-summary-total-row dd{margin:0;font-weight:600;color:#101828}
.cwb-quote-summary-total-row.is-grand{margin-top:10px;padding-top:10px;border-top:1px solid #EEF1F4;font-size:14px}
.cwb-quote-summary-total-row.is-grand strong{font-size:18px;color:var(--cwb-primary)}
.cwb-quote-summary-actions{display:flex;flex-direction:column;gap:10px}
.cwb-quote-summary-actions .caribico-wb-btn{width:100%}
@media(max-width:1100px){.cwb-request-list-layout.has-quote-selection,.cwb-request-list-layout.has-proposal-selection{grid-template-columns:1fr}.cwb-quote-summary{position:static}}
.cwb-request-open-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:14px;align-items:start}
.cwb-request-open-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.cwb-req-hotel-block{border:1px solid #EEF1F4;border-radius:12px;background:#fff;box-shadow:var(--cwb-shadow);overflow:hidden}
.cwb-req-hotel-header{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:start;padding:10px;border-bottom:1px solid #EEF1F4;background:transparent}
.cwb-req-hotel-media{width:104px;aspect-ratio:4/3;overflow:hidden;border-radius:6px;align-self:start}
.cwb-req-hotel-media img,.cwb-req-hotel-media .cwb-workspace-thumb-placeholder,.cwb-req-hotel-media .cwb-hotel-image-placeholder{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}
.caribico-wb-app .cwb-req-hotel-name{margin:0 0 6px;font-size:14px;color:#101828}
.cwb-req-hotel-meta{display:inline-flex;align-items:center;gap:6px;margin-left:6px;font-size:12px;font-weight:500;color:var(--cwb-primary);vertical-align:middle}
.cwb-req-hotel-google{color:#344054;font-weight:600}
.cwb-req-hotel-destination,.cwb-req-hotel-dates{margin:0;color:#475467;font-size:var(--cwb-font-compact);line-height:var(--cwb-line-compact)}
.cwb-req-hotel-dates{margin-top:4px;font-weight:600;color:#344054}
.cwb-req-room-list{display:flex;flex-direction:column}
.cwb-req-room-block{border-bottom:1px solid #EEF1F4}
.cwb-req-room-block:last-child{border-bottom:0}
.cwb-req-room-row{display:grid!important;grid-template-columns:24px minmax(0,1.4fr) minmax(230px,1.1fr) auto;gap:10px;align-items:center;padding:10px;border:0;border-radius:0;box-shadow:none;background:#fff}
.cwb-req-duplicate-notice{display:flex;align-items:flex-start;gap:8px;margin:0 14px 12px;padding:8px 10px;border-left:3px solid #FEC84B;background:#FFFAEB;border-radius:0 6px 6px 0;color:#B54708;font-size:12px;line-height:1.4}
.cwb-req-duplicate-notice-icon{flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:#B54708}
.cwb-req-duplicate-notice-icon svg{display:block;width:16px;height:16px}
.cwb-req-duplicate-notice-copy{min-width:0}
.cwb-req-duplicate-notice-copy strong{display:block;margin:0 0 2px;font-size:12px;font-weight:700;color:#B54708}
.cwb-req-duplicate-notice-copy p{margin:0;font-size:12px;font-weight:500;line-height:1.4;color:#7A4E00}
.cwb-req-room-check{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0}
.cwb-req-room-check input{position:absolute;opacity:0;pointer-events:none}
.cwb-req-room-check-ui{width:18px;height:18px;border:1.5px solid var(--cwb-primary);border-radius:4px;background:#fff;box-sizing:border-box;position:relative}
.cwb-req-room-check input:checked+.cwb-req-room-check-ui{background:var(--cwb-primary)}
.cwb-req-room-check input:checked+.cwb-req-room-check-ui:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cwb-req-room-name{font-size:12px;font-weight:600;color:#101828;margin:0 0 4px}
.cwb-req-room-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#667085}
.cwb-req-room-pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cwb-req-price-cell{display:flex;flex-direction:column;gap:2px;min-width:0}
.cwb-req-price-cell span{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:#667085;line-height:1.35}
.cwb-req-price-cell strong{
	font-size:12px;
	font-weight:700;
	line-height:1.25;
	color:#101828;
	letter-spacing:0;
	white-space:nowrap;
}
.cwb-req-price-cell.is-sell strong{
	color:var(--cwb-primary);
	font-size:12px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.25;
}
.cwb-req-room-actions{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;min-width:0;align-self:center}
.cwb-req-icon-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	padding:0;
	border-radius:50%;
	border:1px solid currentColor;
	background:transparent;
	cursor:pointer;
	flex:0 0 auto;
	line-height:0;
	box-sizing:border-box;
	transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.cwb-req-icon-btn .cwb-req-icon-svg{width:14px;height:14px;display:block}
.cwb-req-icon-btn.is-remove{color:#B42318;border-color:#B42318;background:transparent}
.cwb-req-icon-btn.is-remove:hover,.cwb-req-icon-btn.is-remove:focus{background:#FDECEC;outline:2px solid rgba(180,35,24,.2);outline-offset:1px}
.cwb-req-icon-btn.is-refresh{color:#2E7D32;border-color:#2E7D32;background:transparent}
.cwb-req-icon-btn.is-refresh:hover,.cwb-req-icon-btn.is-refresh:focus{background:#EAF7EC;outline:2px solid rgba(46,125,50,.2);outline-offset:1px}
.cwb-req-icon-btn.is-refresh.is-expired{background:#EAF7EC;box-shadow:0 0 0 2px rgba(46,125,50,.22)}
.cwb-req-icon-btn.is-refresh.is-expired:not(:disabled):hover,.cwb-req-icon-btn.is-refresh.is-expired:not(:disabled):focus{background:#D8F0DC}
.cwb-req-icon-btn:disabled{opacity:.55;cursor:not-allowed}
.cwb-req-icon-btn.is-busy{opacity:1;cursor:wait}
.cwb-req-icon-btn.is-busy .cwb-req-icon-svg{animation:cwb-req-spin 0.9s linear infinite}
.cwb-req-icon-btn:not(.is-busy) .cwb-req-icon-svg{animation:none}
@keyframes cwb-req-spin{to{transform:rotate(360deg)}}
.cwb-request-toolbar{position:relative;z-index:5}
.cwb-request-back{position:relative;z-index:6;pointer-events:auto}
.cwb-request-markup-input{width:56px;height:30px;border:1px solid var(--cwb-border);border-radius:6px;padding:0 6px;text-align:center;font:500 12px/1.35 var(--cwb-font-family);color:#101828;background:#fff}
.cwb-request-markup-input::-webkit-outer-spin-button,.cwb-request-markup-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cwb-request-summary{position:sticky;top:16px;border:1px solid #EEF1F4;border-radius:10px;background:#fff;box-shadow:var(--cwb-shadow);padding:12px}
.cwb-request-summary h2{margin:0 0 10px;font-size:14px;line-height:1.35;font-weight:600;color:#101828}
.cwb-request-markup{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:0;border:0;border-radius:0;background:transparent}
.cwb-request-markup>span:first-child{font-size:12px;font-weight:400;color:#344054}
.cwb-request-markup-controls{display:inline-flex;align-items:center;gap:6px}
.cwb-request-markup-input{width:64px;height:36px;border:1px solid var(--cwb-border);border-radius:8px;padding:0 8px;text-align:center;font:700 14px/1 Inter,Arial,sans-serif;color:#101828;background:#fff}
.cwb-request-markup-suffix{font-size:12px;font-weight:400;color:#667085}
.cwb-request-summary-items{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;max-height:340px;overflow:auto}
.cwb-request-summary-empty{margin:0;color:#667085;font-size:13px}
.cwb-req-summary-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #EEF1F4}
.cwb-req-summary-item:last-child{border-bottom:0;padding-bottom:0}
.cwb-req-summary-item-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.cwb-req-summary-item-copy strong{font-size:12px;font-weight:500;color:#101828}
.cwb-req-summary-item-copy span{font-size:12px;color:#667085}
.cwb-req-summary-item-price{font-size:12px;font-weight:600;color:var(--cwb-primary);white-space:nowrap}
.cwb-request-summary-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding-top:10px;border-top:1px solid #EEF1F4;font-size:12px}
.cwb-request-summary-total strong{font-size:13px;font-weight:600;color:var(--cwb-primary)}
.cwb-request-summary-actions{display:flex;flex-direction:column;gap:8px}
.cwb-request-summary-actions .caribico-wb-btn{width:100%;min-height:32px!important;height:auto!important;padding:6px 10px!important;font-size:12px!important;line-height:1.35!important;font-weight:500!important}
.cwb-request-share-row{display:flex;align-items:stretch;gap:8px;width:100%}.cwb-request-summary-actions .cwb-request-share-row .cwb-request-copy-summary{flex:1 1 auto;min-width:0;width:auto!important}.cwb-request-summary-actions .cwb-request-share-btn{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 36px;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:8px!important;color:#fff!important}.cwb-request-share-btn svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cwb-request-share-btn.is-whatsapp{background:#25D366!important}.cwb-request-share-btn.is-telegram{background:#229ED9!important}.cwb-request-share-btn.is-telegram svg{fill:currentColor;stroke:none}.cwb-request-share-btn:disabled{opacity:.45;cursor:default}.cwb-request-summary-actions .cwb-request-share-btn:hover,.cwb-request-summary-actions .cwb-request-share-btn:focus{filter:brightness(.94);outline:2px solid rgba(27,90,122,.22);outline-offset:2px}
@media(max-width:1100px){.cwb-request-open-layout{grid-template-columns:1fr}.cwb-request-summary{position:static}}
@media(max-width:820px){.cwb-req-hotel-header{grid-template-columns:120px minmax(0,1fr)}.cwb-req-hotel-media{width:120px}.cwb-req-room-row{grid-template-columns:28px minmax(0,1fr)!important}.cwb-req-room-pricing,.cwb-req-room-actions{grid-column:2/-1}.cwb-req-room-actions{flex-direction:row;justify-content:flex-start}.cwb-workspace-header-row{flex-direction:column;align-items:stretch}}

@media(max-width:900px){.cwb-workspace-ambiguous-card{grid-template-columns:1fr}.cwb-workspace-ambiguous-card-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px}.cwb-workspace-ambiguous-room-field{grid-column:1/-1;grid-row:1}.cwb-workspace-ambiguous-grid{grid-column:1;grid-row:2}.cwb-workspace-ambiguous-price{grid-column:2;grid-row:2}.cwb-workspace-ambiguous-cancellation{grid-column:1/-1;grid-row:3}.cwb-workspace-ambiguous-card-actions{justify-content:flex-end}}
@media(max-width:640px){.cwb-workspace-ambiguous-panel{width:calc(100vw - 32px);padding:12px}.cwb-workspace-ambiguous .caribico-wb-btn,.cwb-request-summary-actions .caribico-wb-btn{min-height:44px!important}.cwb-request-summary-actions .cwb-request-share-btn{flex-basis:44px;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}.cwb-workspace-ambiguous-terms-toggle{min-height:44px}}
.cwb-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:2px;border-radius:999px;background:#fff;color:var(--cwb-primary)!important;font-size:11px!important;font-weight:700!important;line-height:1;box-sizing:border-box}.cwb-nav-badge[hidden]{display:none!important}.cwb-platform-nav a .cwb-nav-badge{font-size:11px!important}
@media(max-width:900px){.cwb-room-row{grid-template-columns:150px minmax(0,1fr)}.cwb-room-price{grid-column:2;flex-direction:row!important;align-items:center;justify-content:space-between}.cwb-guest-row{grid-template-columns:1fr 1fr}.cwb-guest-label{grid-column:1/-1}.cwb-workspace-card{grid-template-columns:120px minmax(0,1fr)}.cwb-workspace-card-actions{grid-column:2;justify-content:flex-start}.cwb-workspace-meta{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cwb-room-row{grid-template-columns:1fr}.cwb-room-price{grid-column:auto}.cwb-room-image img,.cwb-room-image-placeholder{height:200px}.cwb-guest-row{grid-template-columns:1fr}.cwb-booking-submit-row{justify-content:stretch}.cwb-booking-submit-row .caribico-wb-btn{width:100%!important}.cwb-workspace-card{grid-template-columns:1fr}.cwb-workspace-meta{grid-template-columns:1fr}.cwb-room-actions{width:100%;justify-content:flex-end}}
@media(max-width:900px){.cwb-hotel-summary{grid-template-columns:1fr}.cwb-hotel-summary-image,.cwb-hotel-summary .cwb-hotel-image-placeholder{height:300px}.cwb-hotel-summary-body{padding:0}.cwb-hotel-gallery{grid-template-rows:147px 147px}.cwb-hotel-gallery.is-single .cwb-gallery-tile{height:300px}}
@media(max-width:600px){.cwb-hotel-summary{grid-template-columns:1fr}.cwb-hotel-summary-image,.cwb-hotel-summary .cwb-hotel-image-placeholder{height:230px}.cwb-hotel-gallery{grid-template-columns:2fr 1fr;grid-template-rows:112px 112px}.cwb-gallery-tile:nth-child(n+4){display:none}.cwb-hotel-gallery.is-single .cwb-gallery-tile{height:230px}.cwb-gallery-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:52px 8px 42px}.cwb-gallery-lightbox-prev,.cwb-gallery-lightbox-next{width:40px;height:52px;font-size:36px}.cwb-gallery-lightbox-close{right:12px;top:10px}}

.caribico-wb-app[data-view="booking"]{max-width:1360px!important;width:100%!important;box-sizing:border-box!important}.caribico-wb-btn-link{color:var(--cwb-primary)!important}.cwb-price-lock-banner{background:var(--cwb-accent-soft)!important;border:1px solid var(--cwb-primary-border)!important;color:#163E52!important;border-radius:8px!important;display:flex;align-items:center;gap:7px}.cwb-price-lock-banner.expired{background:#FDECEC!important;border-color:#F5C2C0!important;color:#9B1C1C!important}
.cwb-booking-summary{border-color:#D9E5EB!important}.cwb-booking-summary h3{font-size:23px!important;color:#101828!important;margin-bottom:16px!important}.cwb-summary-item,.cwb-confirmation-item{background:var(--cwb-accent-softer)!important;border:1px solid #E8EFF3}.cwb-summary-value,.cwb-confirmation-value{font-size:16px!important;color:#163E52!important}.cwb-summary-label,.cwb-confirmation-label{color:#667085!important}.cwb-guest-row{display:grid!important;grid-template-columns:150px repeat(4,minmax(0,1fr));gap:12px!important;align-items:end;background:#fff!important;padding:12px 0!important;border-radius:0!important;border-bottom:1px solid #EAECF0}.cwb-guest-label{margin:0 0 12px!important;font-size:16px}.cwb-guest-row .caribico-wb-field{min-width:0}.cwb-guest-row input{width:100%;box-sizing:border-box}.cwb-booking-submit-row{display:flex;justify-content:flex-end;margin-top:18px}.cwb-booking-submit-row .caribico-wb-btn{width:auto!important;min-width:190px}
.cwb-booking-result.success{background:#fff!important;border:1px solid #D9E5EB!important}.cwb-status-pill{background:var(--cwb-accent-soft)!important;color:var(--cwb-primary)!important;border:1px solid var(--cwb-primary-border)!important}.cwb-confirmation-header h3{color:#101828!important}.cwb-voucher-guests,.cwb-voucher-contact{border-top-color:#E4E9ED!important}.cwb-voucher-guest-label{color:#667085!important}.cwb-cancellation-box{border-top-color:#D9E5EB!important}.cwb-cancellation-result.success{background:#fff!important;border-color:#D9E5EB!important}.cwb-confirmation-actions,.cwb-cancellation-box{margin-top:20px}.cwb-print-voucher,.cwb-check-cancellation{background:var(--cwb-primary)!important;border:1px solid var(--cwb-primary)!important;color:#fff!important;text-transform:uppercase;letter-spacing:.03em;min-height:42px!important}.cwb-print-voucher:hover,.cwb-check-cancellation:hover{background:var(--cwb-primary-hover)!important;color:#fff!important}.cwb-confirm-cancellation{text-transform:uppercase;letter-spacing:.03em;min-height:42px!important}
.cwb-footer-brand{align-items:center!important;width:200px}.cwb-footer-brand img{width:185px!important}.cwb-footer-brand span{margin:2px 0 0!important;text-align:center;width:100%;font-size:9px!important;letter-spacing:.08em}
@media(max-width:900px){.cwb-room-row{grid-template-columns:150px minmax(0,1fr)}.cwb-room-price{grid-column:2;flex-direction:row!important;align-items:center;justify-content:space-between}.cwb-guest-row{grid-template-columns:1fr 1fr}.cwb-guest-label{grid-column:1/-1}}
@media(max-width:600px){.cwb-room-row{grid-template-columns:1fr}.cwb-room-price{grid-column:auto}.cwb-room-image img,.cwb-room-image-placeholder{height:200px}.cwb-guest-row{grid-template-columns:1fr}.cwb-booking-submit-row{justify-content:stretch}.cwb-booking-submit-row .caribico-wb-btn{width:100%!important}}


/* v21.3 — approved UI polish */
.cwb-platform-nav a .cwb-icon{font-size:21px!important}
.cwb-platform-nav a span:not(.cwb-icon){font-size:inherit}
.cwb-platform-user{gap:12px}
.cwb-currency{cursor:pointer}
.cwb-occupancy-panel{width:min(360px,92vw)!important;padding:18px!important}
.cwb-room-editor-head strong{font-size:17px!important}
.cwb-stepper-row>span{font-size:16px!important}
.cwb-stepper{grid-template-columns:30px 34px 30px!important}
.cwb-stepper button{height:30px!important;font-size:18px!important}
.cwb-stepper output{font-size:17px!important}
.cwb-occupancy-actions .caribico-wb-btn{padding:9px 16px!important;font-size:14px!important;min-height:40px!important}
.cwb-occupancy-note{font-size:12px!important;line-height:1.45!important}
.cwb-results-actions{margin-left:auto}
.cwb-filter-header h2{font-size:22px!important}
.cwb-range-values{font-size:13px!important}
.cwb-reference-field textarea{width:100%;min-height:84px;resize:vertical;box-sizing:border-box;border:1px solid var(--cwb-border);border-radius:8px;padding:12px 14px;font:400 15px/1.5 inherit;color:#101828;background:#fff}
.cwb-reference-field textarea:focus{outline:3px solid rgba(27,90,122,.14);border-color:var(--cwb-primary)}
.cwb-booking-submit-row{justify-content:center!important;margin-top:30px!important;margin-bottom:8px}
.cwb-guest-row{grid-template-columns:160px repeat(4,minmax(0,1fr))!important;column-gap:14px!important}
.cwb-guest-label{align-self:center!important;margin:0!important;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-size:13px!important}
.cwb-guest-row input[readonly]{background:#F8FAFC!important;color:#344054}
.cwb-voucher-guest{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:baseline;gap:24px}
.cwb-voucher-guest-label{text-transform:uppercase;letter-spacing:.04em;font-size:12px}
.cwb-voucher-guest strong{justify-self:start}
.cwb-check-cancellation{background:#C6281D!important;border-color:#C6281D!important;color:#fff!important}
.cwb-check-cancellation:hover{background:#A91F16!important;border-color:#A91F16!important}
.cwb-price-mismatch-warning{font-size:13px!important;line-height:1.45!important;font-weight:600!important;color:#A94442!important;margin-top:18px!important}
.cwb-print-voucher-header{display:none}
@media print{
  @page{size:portrait;margin:14mm}
  body *{visibility:hidden!important}
  #cwb-booking-result,#cwb-booking-result *{visibility:visible!important}
  #cwb-booking-result{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  .cwb-print-voucher-header{display:flex!important;align-items:center;justify-content:space-between;border-bottom:2px solid #1B5A7A;padding:0 0 14px;margin:0 0 20px}
  .cwb-print-voucher-header img{display:block;width:180px;height:auto}
  .cwb-print-voucher-header strong{font-size:22px;letter-spacing:.08em;color:#1B5A7A}
  .cwb-voucher-price,.cwb-confirmation-actions,.cwb-cancellation-box,.cwb-price-mismatch-warning{display:none!important}
  .cwb-confirmation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cwb-confirmation-item{break-inside:avoid}
  .cwb-voucher-guests,.cwb-voucher-contact{break-inside:avoid}
  .cwb-platform-header,.cwb-platform-footer,.cwb-search-shell{display:none!important}
}
@media(max-width:900px){.cwb-guest-row{grid-template-columns:1fr 1fr!important}.cwb-guest-label{grid-column:1/-1}}
@media(max-width:600px){.cwb-guest-row{grid-template-columns:1fr!important}.cwb-voucher-guest{grid-template-columns:1fr;gap:2px}}

/* UI Polish Batch 1 — unified Caribico visual language */
:root{--cwb-danger:#C62828;--cwb-danger-hover:#A61F1F;--cwb-radius:8px;--cwb-card-radius:10px}
.cwb-platform-nav .cwb-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cwb-header-currency{height:36px;min-width:74px;box-sizing:border-box;padding:0 28px 0 12px;border:0;border-radius:0;box-shadow:none;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;color:#fff;-webkit-text-fill-color:#fff;font-size:14px;font-weight:600;line-height:36px;font-family:inherit;-webkit-appearance:none;appearance:none;opacity:1;transition:opacity .15s ease}
.cwb-header-currency:hover{opacity:.82}
.cwb-header-currency option{color:#101828;background:#fff}
.cwb-header-currency:focus{outline:none;color:#fff;-webkit-text-fill-color:#fff;opacity:.82}
.cwb-header-currency:focus-visible{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}
/* Language switcher — reuses the currency selector control style (same class) plus
   the user-menu panel surface. Panel width is locked to the button width. */
.cwb-language-menu{position:relative;display:inline-flex}
.cwb-header-language-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;line-height:1}
.cwb-header-language-toggle .cwb-language-globe{font-size:15px;color:#fff}
.cwb-language-code{font-size:14px;font-weight:600;color:#fff}
.cwb-language-menu-panel{position:absolute;z-index:200;top:calc(100% + 8px);left:0;right:0;width:100%;box-sizing:border-box;padding:4px 0;border:1px solid #E4E7EC;border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(16,24,40,.22);color:#101828}
.cwb-language-menu-panel[hidden]{display:none!important}
.cwb-language-option{display:flex;align-items:center;gap:5px;width:100%;box-sizing:border-box;padding:7px 9px;border:0;border-radius:0;background:transparent;color:#101828;font-family:inherit;font-size:12px;font-weight:400;line-height:1.2;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden}
.cwb-language-option:hover,.cwb-language-option:focus{background:#F2F6F8}
.cwb-language-option.is-active{background:#F2F6F8;font-weight:600}
.cwb-language-option-code{flex:0 0 auto;min-width:19px;font-weight:600}
.cwb-language-option-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.cwb-language-option-check{flex:0 0 auto;margin-left:auto;color:#101828;font-size:11px}
.cwb-search-heading h1{font-size:28px!important;line-height:1.2!important}
.caribico-wb-app:not(.has-results) .cwb-advanced-toggle{display:none!important}
.cwb-advanced-toggle{justify-content:flex-start!important}
.cwb-show-more{color:var(--cwb-primary);font-weight:600}
.cwb-field-button{font-size:15px!important;font-weight:400!important}
.cwb-field-button>span:last-child:empty{display:none}
.caribico-wb-btn,.cwb-search-submit{min-height:44px;border-radius:8px!important;font-weight:600!important;box-shadow:none!important}
.caribico-wb-btn-primary,.cwb-print-voucher{background:var(--cwb-primary)!important;border-color:var(--cwb-primary)!important;color:#fff!important}
.caribico-wb-btn-primary:hover,.cwb-print-voucher:hover{background:var(--cwb-primary-hover)!important;border-color:var(--cwb-primary-hover)!important}
.caribico-wb-btn-link{padding:8px 0!important;text-transform:uppercase;font-weight:700!important;text-decoration:none!important;color:var(--cwb-primary)!important;letter-spacing:.02em}
.cwb-price-lock-banner{background:var(--cwb-primary-light)!important;border:1px solid var(--cwb-primary-border)!important;color:var(--cwb-primary)!important}
.cwb-booking-summary h3,.caribico-wb-booking>form>h3{font-family:inherit!important;font-size:26px!important;font-weight:500!important;line-height:1.2!important;color:#101828!important;margin:0 0 24px!important}
.cwb-summary-stack{display:grid;gap:0;border:1px solid #E8EFF3;border-radius:10px;overflow:hidden;background:#fff}
.cwb-summary-line{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:13px 16px;border-bottom:1px solid #E8EFF3;align-items:start}
.cwb-summary-line:last-child{border-bottom:0}
.cwb-summary-label{font-size:12px!important;text-transform:uppercase;letter-spacing:.045em;font-weight:700;color:#667085!important}
.cwb-summary-value{font-size:15px!important;color:#163E52!important;font-weight:600}
.cwb-reference-field textarea{width:100%;min-height:110px;resize:vertical;box-sizing:border-box;padding:12px 14px;border:1px solid var(--cwb-border);border-radius:8px;font:400 15px/1.5 inherit}
.cwb-booking-submit-row{justify-content:center!important;padding:18px 0 26px!important;margin-top:20px!important}
.cwb-booking-submit-row .caribico-wb-btn{min-width:220px!important}
.cwb-cancellation-policy{margin:22px 0 0;padding:16px 18px;border-radius:10px;border:1px solid #D9E5EB;background:#F7FBFC}
.cwb-cancellation-policy-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cwb-cancellation-policy-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:#98A2B3}
.cwb-cancellation-policy-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#667085}
.cwb-cancellation-policy-message{margin:0;font-size:16px;font-weight:700;line-height:1.4;color:#163E52}
.cwb-cancellation-policy-agency-block{margin:12px 0 0;font-size:14px;font-weight:600;line-height:1.45;color:#B42318}
.cwb-cancellation-ack{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:14px;font-weight:500;line-height:1.45;color:#344054;cursor:pointer}
.cwb-cancellation-ack input{margin-top:3px;flex:0 0 auto}
.cwb-cancellation-policy.is-free{border-color:#A6F4C5;background:#ECFDF3}
.cwb-cancellation-policy.is-free .cwb-cancellation-policy-dot{background:#12B76A}
.cwb-cancellation-policy.is-free .cwb-cancellation-policy-message{color:#027A48}
.cwb-cancellation-policy.is-penalty{border-color:#FEC84B;background:#FFFAEB}
.cwb-cancellation-policy.is-penalty .cwb-cancellation-policy-dot{background:#F79009}
.cwb-cancellation-policy.is-penalty .cwb-cancellation-policy-message{color:#B54708}
.cwb-cancellation-policy.is-non-refundable{border-color:#FDA29B;background:#FEF3F2}
.cwb-cancellation-policy.is-non-refundable .cwb-cancellation-policy-dot{background:#F04438}
.cwb-cancellation-policy.is-non-refundable .cwb-cancellation-policy-message{color:#B42318;letter-spacing:.02em}
/* Match Search compact hotel Free Cancellation typography (11px/600). */
.cwb-room-cancel-status{margin:0!important;padding:0!important;border:0!important;background:transparent!important;width:100%;text-align:right}
.cwb-room-cancel-status .cwb-cancel-status,
.cwb-room-price .cwb-room-cancel-status .cwb-cancel-status,
.cwb-room-info .cwb-room-cancel-status .cwb-cancel-status{
	display:block!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	font-size:11px!important;
	font-weight:600!important;
	letter-spacing:0!important;
	line-height:1.25!important;
	text-transform:none!important;
	text-align:right!important;
	gap:0!important;
}
.cwb-room-cancel-status .cwb-cancel-status-copy{
	display:inline-flex!important;
	flex-direction:column!important;
	align-items:flex-end!important;
	max-width:100%;
	white-space:nowrap;
}
.cwb-room-cancel-status .cwb-cancel-line-primary,
.cwb-room-cancel-status .cwb-cancel-line-secondary{
	display:block;
	font-size:inherit;
	font-weight:inherit;
	letter-spacing:inherit;
	line-height:inherit;
	white-space:nowrap;
}
.cwb-room-cancel-status .cwb-cancel-line-secondary{margin-top:1px}
.cwb-room-cancel-line{margin:0!important;font-size:11px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:0!important}
.cwb-room-cancel-line.is-free{color:#027A48!important}
.cwb-room-cancel-line.is-non-refundable{color:#B42318!important;letter-spacing:0}
.cwb-room-cancel-status .cwb-cancellation-policy-agency-block{margin-top:8px!important}
/* Room card restriction labels — muted helper text in the price column (no outline box). */
.cwb-room-price .cwb-restriction-flags{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	margin:0!important;
	padding:0!important;
	box-sizing:border-box!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	text-align:right!important;
}
.cwb-room-price .cwb-restriction-flag{
	margin:0!important;
	padding:0!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
	letter-spacing:0!important;
	text-transform:none!important;
	color:#667085!important;
	text-align:right!important;
}
.cwb-room-price .cwb-restriction-flag + .cwb-restriction-flag{
	margin-top:2px!important;
}
.cwb-room-row.is-penalty-blocked{opacity:.96}
.cwb-room-min-stay{margin:4px 0 0!important;color:#667085;font-size:11px;line-height:1.35}
.cwb-room-min-stay-warning{margin:4px 0 0!important;color:#B42318;font-size:11px;font-weight:650;line-height:1.35}
.cwb-select-room.is-disabled,.cwb-select-room:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.cwb-booking-result.success{background:#fff!important;border:1px solid var(--cwb-primary-border)!important}
.cwb-status-pill{border-radius:6px!important;background:var(--cwb-primary-light)!important;color:var(--cwb-primary)!important;border:1px solid var(--cwb-primary-border)!important}
.cwb-check-cancellation{background:var(--cwb-danger)!important;border-color:var(--cwb-danger)!important;color:#fff!important}
.cwb-check-cancellation:hover{background:var(--cwb-danger-hover)!important;border-color:var(--cwb-danger-hover)!important}
.cwb-price-mismatch-warning{font-size:12px!important;font-weight:500!important;line-height:1.45!important}
.cwb-voucher-guest{grid-template-columns:190px minmax(0,1fr)!important}
.cwb-confirmation-grid{align-items:stretch}
@media(max-width:700px){.cwb-summary-line{grid-template-columns:1fr;gap:4px}.cwb-voucher-guest{grid-template-columns:1fr!important;gap:2px!important}}
@media print{
  @page{margin:16mm}
  .cwb-print-voucher-header strong{font-size:22px;letter-spacing:.04em}
  .cwb-voucher-price{display:none!important}
  .cwb-confirmation-grid,.cwb-voucher-guests,.cwb-voucher-contact{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
  .cwb-platform-header,.cwb-platform-footer,.cwb-search-shell{display:none!important}
}

/* UI Polish Batch 1.1 — spacing and confirmation alignment */
.cwb-search-shell{
  padding-bottom:26px!important;
}
.cwb-guest-row{
  padding:18px 24px!important;
  column-gap:18px!important;
  box-sizing:border-box;
}
.cwb-guest-row .caribico-wb-field:last-child{
  margin-right:0!important;
}
.cwb-voucher-guest{
  grid-template-columns:170px minmax(0,1fr)!important;
  column-gap:20px!important;
}
.cwb-voucher-guest strong{
  margin:0!important;
  text-align:left!important;
}
.cwb-cancellation-box>p{
  font-size:12px!important;
  line-height:1.45!important;
  color:#667085!important;
  margin:8px 0 16px!important;
}
@media(max-width:900px){
  .cwb-guest-row{padding:18px!important}
}

/* Hotel results map. Google Maps itself is loaded only after the map opens. */
.cwb-map-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:40px;
	padding:0 14px;
	border:1px solid #1B5A7A;
	border-radius:8px;
	background:#fff;
	color:#1B5A7A;
	font:700 12px/1 inherit;
	cursor:pointer;
	white-space:nowrap;
}
.cwb-map-toggle[hidden]{display:none!important}
.cwb-map-toggle:hover,.cwb-map-toggle:focus-visible{background:#EAF3F7}
.cwb-map-toggle:focus-visible,.cwb-close-map:focus-visible,.cwb-map-card-actions a:focus-visible,.cwb-map-card-actions button:focus-visible{
	outline:3px solid rgba(27,90,122,.18);
	outline-offset:2px;
}
.cwb-map-toggle .cwb-inline-pin{display:inline-flex;color:currentColor}
.cwb-map-toggle .cwb-inline-pin svg{width:15px;height:15px;fill:currentColor}
.cwb-hotel-map-shell[hidden]{display:none!important}
.cwb-hotel-map-shell{
	position:relative;
	min-height:620px;
	border:1px solid #DCE3E8;
	border-radius:12px;
	background:#EEF2F6;
	overflow:hidden;
	box-shadow:0 6px 20px rgba(16,24,40,.06);
}
.cwb-hotel-map-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	min-height:48px;
	padding:0 14px;
	border-bottom:1px solid #DCE3E8;
	background:#fff;
	color:#344054;
	font-size:13px;
	font-weight:700;
}
.cwb-close-map{
	display:inline-flex;
	align-items:center;
	gap:7px;
	min-height:34px;
	padding:0 10px;
	border:0;
	border-radius:7px;
	background:transparent;
	color:#1B5A7A;
	font:700 12px/1 inherit;
	cursor:pointer;
}
.cwb-close-map:hover{background:#EAF3F7}
.cwb-close-map span{font-size:20px;font-weight:400;line-height:1}
.cwb-hotel-map{
	width:100%;
	height:clamp(570px,calc(100vh - 230px),900px);
	min-height:570px;
}
.cwb-hotel-map-status{
	position:absolute;
	z-index:3;
	top:64px;
	left:50%;
	transform:translateX(-50%);
	max-width:min(440px,calc(100% - 32px));
	padding:10px 14px;
	border:1px solid #D0D5DD;
	border-radius:8px;
	background:#fff;
	box-shadow:0 5px 16px rgba(16,24,40,.14);
	color:#344054;
	font-size:13px;
	line-height:1.4;
	text-align:center;
}
.cwb-hotel-map-status[hidden]{display:none!important}
.cwb-hotel-map-status.is-error{border-color:#FDA29B;color:#B42318}
.cwb-hotel-map-status.is-empty{border-color:#FEC84B;color:#7A2E0E}
.caribico-wb-app.is-map-mode #caribico-wb-results-region{display:none!important}
.caribico-wb-app.is-map-mode .cwb-results-actions label,
.caribico-wb-app.is-map-mode .cwb-results-actions select{display:none!important}
.caribico-wb-app.is-map-mode .cwb-map-toggle{background:#1B5A7A;color:#fff}
.cwb-map-price-marker{
	display:block;
	position:relative;
	padding:7px 10px;
	border:2px solid #fff;
	border-radius:999px;
	background:#1B5A7A;
	box-shadow:0 3px 10px rgba(16,24,40,.28);
	color:#fff;
	font:800 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	white-space:nowrap;
	cursor:pointer;
}
.cwb-map-price-marker:after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-5px;
	width:8px;
	height:8px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	background:#1B5A7A;
	transform:translateX(-50%) rotate(45deg);
}
.cwb-map-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;width:min(300px,calc(100vw - 80px));padding:2px;color:#101828}
.cwb-map-card:not(:has(.cwb-map-card-image)){grid-template-columns:1fr}
.cwb-map-card-image{width:92px;height:92px;object-fit:cover;border-radius:8px}
.cwb-map-card-body{min-width:0}
.cwb-map-card-title{margin:0 0 4px!important;font-size:14px!important;line-height:1.25!important;color:#101828!important}
.cwb-map-card-stars{margin:0 0 4px;color:#F79009;font-size:12px;letter-spacing:1px}
.cwb-map-card-location,.cwb-map-card-price{margin:0 0 7px!important;font-size:11px!important;line-height:1.35!important;color:#667085!important}
.cwb-map-card-price{font-weight:750!important;color:#101828!important}
.cwb-map-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.cwb-map-card-rooms,.cwb-map-card-google{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:30px;
	padding:0 9px;
	border:1px solid #1B5A7A;
	border-radius:6px;
	font:700 10px/1 inherit;
	text-decoration:none!important;
	cursor:pointer;
}
.cwb-map-card-rooms{background:#1B5A7A;color:#fff}
.cwb-map-card-google{background:#fff;color:#1B5A7A!important}
@media(max-width:760px){
	.cwb-results-actions{margin-left:auto}
	.cwb-map-toggle{min-height:38px;padding:0 10px;font-size:11px}
	.caribico-wb-app.is-map-mode .caribico-wb-filters{display:none!important}
	.cwb-hotel-map-shell{min-height:calc(100vh - 180px);border-radius:10px}
	.cwb-hotel-map{height:calc(100vh - 228px);min-height:500px}
	.cwb-hotel-map-header{padding:0 10px}
	.cwb-map-card{grid-template-columns:72px minmax(0,1fr);width:min(270px,calc(100vw - 70px))}
	.cwb-map-card-image{width:72px;height:72px}
}
@media(max-width:600px){
  .cwb-search-shell{padding-bottom:20px!important}
  .cwb-guest-row{padding:16px!important}
}


/* UI Polish Batch 1.2 — compact back marker and voucher tab alignment */
.cwb-back-results{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}
.cwb-back-results::before{
  content:"";
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:9px solid currentColor;
  flex:0 0 auto;
}
.cwb-voucher-guest{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  column-gap:24px!important;
  align-items:baseline!important;
}
.cwb-voucher-guest-label{
  width:190px!important;
  min-width:190px!important;
}
.cwb-voucher-guest strong{
  display:block!important;
  justify-self:start!important;
  margin:0!important;
}
@media print{
  .cwb-voucher-guest{
    display:grid!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    column-gap:24px!important;
  }
  .cwb-voucher-guest-label{
    width:190px!important;
    min-width:190px!important;
  }
}
@media(max-width:700px){
  .cwb-voucher-guest{grid-template-columns:1fr!important;gap:2px!important}
  .cwb-voucher-guest-label{width:auto!important;min-width:0!important}
}

/* v21.4.4: consistent select chevron with right-side spacing. */
.cwb-search-grid select,
.cwb-guest-row select,
.caribico-wb-filter select,
.cwb-results-actions select{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding-right:46px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23101828' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 18px center!important;
  background-size:12px 8px!important;
}

/* Phase 2.3E: hotel results image placeholder — defeat legacy style.css green gradient */
.caribico-wb-hotel-thumb .cwb-hotel-image-placeholder{
  background:#EAF3F7!important;
  background-image:none!important;
  color:#1B5A7A!important;
}
.caribico-wb-hotel-thumb .cwb-hotel-image-placeholder span{
  color:#1B5A7A!important;
}
.caribico-wb-hotel-thumb .cwb-hotel-image-placeholder small{
  color:#667085!important;
}

/* Agency Bookings */
.caribico-wb-app[data-view="bookings"],.caribico-wb-app[data-view="finance"],.caribico-wb-app[data-view="agency"],.caribico-wb-app[data-view="agencies"]{background:#F6F8FA;max-width:1280px!important}.caribico-wb-app[data-view="bookings"] .cwb-results-layout,.caribico-wb-app[data-view="finance"] .cwb-results-layout,.caribico-wb-app[data-view="agency"] .cwb-results-layout,.caribico-wb-app[data-view="agencies"] .cwb-results-layout{display:grid;grid-template-columns:1fr}.caribico-wb-app[data-view="bookings"] .caribico-wb-filters,.caribico-wb-app[data-view="finance"] .caribico-wb-filters,.caribico-wb-app[data-view="agency"] .caribico-wb-filters,.caribico-wb-app[data-view="agencies"] .caribico-wb-filters,.caribico-wb-app[data-view="bookings"] .cwb-results-toolbar,.caribico-wb-app[data-view="finance"] .cwb-results-toolbar,.caribico-wb-app[data-view="agency"] .cwb-results-toolbar,.caribico-wb-app[data-view="agencies"] .cwb-results-toolbar{display:none!important}.caribico-wb-app[data-view="bookings"] #caribico-wb-results-region,.caribico-wb-app[data-view="finance"] #caribico-wb-results-region,.caribico-wb-app[data-view="agency"] #caribico-wb-results-region,.caribico-wb-app[data-view="agencies"] #caribico-wb-results-region{background:#F6F8FA}.cwb-agent-bookings{max-width:1120px;margin:0 auto;padding:10px 0 50px}.cwb-agent-bookings-header{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px;align-items:flex-end}.cwb-agent-bookings-eyebrow{margin:0 0 5px!important;color:#1B5A7A!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase}.cwb-agent-bookings-header h1{margin:0 0 6px!important;font-size:32px!important;color:#101828!important}.cwb-agent-bookings-header p{margin:0;color:#667085}.cwb-bookings-count{margin:0;color:#1B5A7A;font-size:14px;font-weight:700;white-space:nowrap}.cwb-bookings-toolbar{display:flex;gap:10px;margin-bottom:18px}.cwb-bookings-toolbar input{flex:1;min-height:44px}.cwb-bookings-toolbar select{min-width:200px;min-height:44px}.cwb-bookings-message{padding:28px;border:1px dashed #D0D5DD;border-radius:12px;background:#fff;text-align:center;color:#667085}.cwb-bookings-message p{margin:0 0 8px}.cwb-bookings-message p:last-child{margin-bottom:0}.cwb-bookings-message.is-error{color:#B42318;border-color:#FDA29B;border-style:solid}.cwb-bookings-message .caribico-wb-btn{margin-top:14px}.cwb-bookings-list{display:grid;gap:12px}.cwb-booking-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 20px;border:1px solid #E4E9ED;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.04)}.cwb-booking-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.cwb-booking-card-top>strong{font-size:18px;color:#101828}.cwb-booking-card-main>p{margin:4px 0 14px;color:#667085}.cwb-booking-card dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0}.cwb-booking-card dl div,.cwb-booking-detail dl div{min-width:0}.cwb-booking-card dt,.cwb-booking-detail dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085}.cwb-booking-card dd,.cwb-booking-detail dd{margin:3px 0 0;font-weight:650;color:#101828;overflow-wrap:anywhere}.cwb-booking-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ECFDF3;color:#027A48;font-size:12px;font-weight:750;white-space:nowrap}.cwb-booking-status.is-needs_attention,.cwb-booking-status.is-confirmed_price_mismatch,.cwb-booking-status.is-failed,.cwb-booking-status.is-pending_confirmation{background:#FFFAEB;color:#B54708}.cwb-booking-status.is-cancellation_pending{background:#EFF8FF;color:#175CD3}.cwb-booking-status.is-cancelled{background:#F2F4F7;color:#475467}.cwb-booking-detail{position:fixed;z-index:10040;top:0;right:0;width:min(720px,100%);height:100vh;overflow-y:auto;padding:34px;box-sizing:border-box;background:#fff;box-shadow:-18px 0 55px rgba(16,24,40,.22)}.cwb-booking-detail-close{position:absolute;top:16px;right:18px;border:0;background:transparent;color:#667085;font-size:32px;line-height:1;cursor:pointer}.cwb-booking-detail-head{display:flex;justify-content:space-between;gap:18px;padding:18px 34px 18px 0;border-bottom:1px solid #E4E9ED}.cwb-booking-detail-head h2{margin:0 0 5px!important;color:#101828!important}.cwb-booking-detail-head p{margin:0;color:#667085}.cwb-booking-tabs{display:flex;gap:4px;margin:18px 0 0;border-bottom:1px solid #E4E9ED}.cwb-booking-tab{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#667085;font:700 12px/1 Inter,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:12px 14px;cursor:pointer}.cwb-booking-tab[aria-selected="true"]{color:#1B5A7A;border-bottom-color:#1B5A7A}.cwb-booking-tabpanel{padding:22px 0 10px}.cwb-booking-tabpanel[hidden]{display:none!important}.cwb-booking-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.cwb-booking-detail h3{margin:0 0 14px!important;font-size:17px!important;color:#101828!important}.cwb-booking-detail dl{display:grid;gap:11px;margin:0}.cwb-booking-guests{margin:0 0 10px;padding-left:18px}.cwb-booking-doc-panel{border:1px solid #E4E9ED;border-radius:12px;padding:20px;background:#F8FBFC}.cwb-booking-doc-panel .cwb-document-meta{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px;color:#667085;font-size:13px}.cwb-booking-doc-actions{display:flex;gap:10px;flex-wrap:wrap}.cwb-booking-doc-empty{margin:0;color:#667085}.cwb-booking-timeline ol{margin:0;padding:0;list-style:none}.cwb-booking-timeline li{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #F0F2F4}.cwb-booking-timeline li span{color:#667085;font-size:12px}.cwb-booking-detail .cwb-cancellation-box{margin-top:22px;padding-top:22px;border-top:1px solid #E4E9ED}.cwb-finance-profile-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085}.cwb-finance-profile-dl dd{margin:3px 0 0;font-weight:650;color:#101828}

/* Compact cancellation status */
.cwb-cancel-status{position:relative;display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.3;text-transform:uppercase}.cwb-cancel-status.is-free{color:#027A48}.cwb-cancel-status.is-penalty{color:#B54708}.cwb-cancel-status.is-non-refundable{color:#B42318}.cwb-cancel-info{display:inline-grid;place-items:center;box-sizing:border-box;width:1em;height:1em;padding:0;border:1px solid currentColor;border-radius:50%;background:#fff;color:inherit;font-family:Inter,Arial,sans-serif;font-size:inherit;font-weight:700;line-height:1;cursor:pointer;flex:0 0 auto;align-self:center}.cwb-cancel-info:focus{outline:3px solid rgba(27,90,122,.2);outline-offset:2px}.cwb-cancel-popover{position:absolute;z-index:10050;min-width:200px;max-width:min(280px,calc(100vw - 24px));padding:8px 10px;border:1px solid #D9E5EB;border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(16,24,40,.12);color:#667085;text-transform:none;letter-spacing:0}.cwb-cancel-popover h4{margin:0 0 6px;font-size:11px;font-weight:600;line-height:1.25;color:#667085}.cwb-cancel-popover ul{margin:0;padding:0;list-style:none}.cwb-cancel-popover li{padding:4px 0;border-bottom:1px solid #EEF2F6;font-size:11px;font-weight:400;line-height:1.3;color:#667085}.cwb-cancel-popover li strong{display:block;font-size:11px;font-weight:500;line-height:1.3;color:#475467}.cwb-cancel-popover li:last-child{border-bottom:0}.cwb-cancel-popover[hidden]{display:none!important}.cwb-main-guest-hint{font-size:11px;font-weight:400;line-height:1.3;color:#8B949E;letter-spacing:0}.cwb-booking-cancel-compact{position:relative;margin:18px 0 0}.cwb-booking-cancel-compact .cwb-cancellation-ack{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:14px;font-weight:600;color:#101828;text-transform:none;letter-spacing:0}.cwb-booking-cancel-compact .cwb-cancellation-policy-agency-block{margin-top:10px;color:#B42318;font-size:14px;font-weight:600;text-transform:none;letter-spacing:0}.cwb-hotel-price-copy .cwb-cancel-status{margin:0 0 6px;justify-content:flex-end}.caribico-wb-hotel-price>.cwb-cancel-status{margin:8px 0 0;justify-content:flex-end;width:100%}.cwb-room-price .cwb-cancel-status,.cwb-room-info .cwb-cancel-status{margin:0 0 8px}
.cwb-cancellation-policy{display:none!important}

@media(max-width:800px){.cwb-agent-bookings{padding-left:14px;padding-right:14px}.cwb-booking-card{grid-template-columns:1fr}.cwb-booking-card dl{grid-template-columns:1fr 1fr}.cwb-booking-card .cwb-view-booking{width:100%}.cwb-booking-detail{padding:24px 18px}.cwb-booking-detail-grid{grid-template-columns:1fr}.cwb-booking-tabs{overflow-x:auto}.cwb-bookings-toolbar{flex-direction:column}.cwb-bookings-toolbar select{width:100%}.cwb-agent-bookings-header{flex-direction:column;align-items:flex-start}}

/* Phase 3.2 compact search and booking workspace */
.cwb-search-shell{padding:20px 22px 0!important}
.cwb-search-heading h1{font-size:28px!important}
.cwb-search-grid{gap:12px!important}
.cwb-search-row-primary{grid-template-columns:minmax(0,1.45fr) minmax(0,1.35fr) minmax(0,1fr) max-content!important;gap:0!important;align-items:end;padding:8px;border:1px solid #E1E7EC;border-radius:999px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.06)}
.cwb-search-row-primary .caribico-wb-field{padding:0 14px;border-right:1px solid #E4E9ED}
.cwb-search-row-primary .cwb-field-search-submit{padding:0 0 0 10px;border-right:0;display:flex!important;justify-content:flex-end!important;align-items:flex-end!important;min-width:0!important}
.cwb-search-row-primary label{margin-bottom:2px!important;color:#667085!important;font-size:11px!important}
.cwb-search-row-primary input,.cwb-search-row-primary .cwb-field-button{height:38px!important;min-height:38px!important;border:0!important;padding-top:0!important;padding-bottom:0!important}
.cwb-search-row-primary input:focus,.cwb-search-row-primary .cwb-field-button:focus{outline:0!important;box-shadow:none!important}
.cwb-search-row-primary .cwb-search-submit{height:52px!important;min-height:52px!important;border-radius:999px!important}
.cwb-search-row-meta{grid-template-columns:minmax(180px,240px) minmax(180px,240px) 110px!important;gap:16px!important;justify-content:flex-end;align-items:end;padding-right:8px}
.cwb-field-nationality,.cwb-field-residence{max-width:240px}
.cwb-search-row-meta select{height:42px!important;min-height:42px!important}
.cwb-advanced-toggle{width:calc(100% + 44px);margin:14px -22px 0;padding:13px 22px}
.caribico-wb-hotel-card{grid-template-columns:250px minmax(0,1fr) 190px!important}
.caribico-wb-hotel-price>.cwb-cancel-status{display:block;margin:0!important;font-size:10px!important;line-height:1.25!important;text-align:right!important;white-space:nowrap!important;width:100%}
.caribico-wb-hotel-price>.cwb-cancel-status span{white-space:nowrap!important}

.cwb-bookings-list{gap:8px}
.cwb-booking-card{grid-template-columns:minmax(0,1fr) 82px;gap:12px;padding:12px 16px;border-radius:9px}
.cwb-booking-card-main{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(0,3.6fr);gap:18px;align-items:center;min-width:0}
.cwb-booking-property{min-width:0}
.cwb-booking-property strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#101828}
.cwb-booking-property p{margin:2px 0 0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085;font-size:11px}
.cwb-booking-card dl{grid-template-columns:105px minmax(205px,1.65fr) minmax(115px,1fr) minmax(110px,.85fr) minmax(120px,1fr);gap:10px;align-items:center}
.cwb-booking-card dt{font-size:9px}
.cwb-booking-card dd{margin-top:2px;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cwb-booking-card-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px}
.cwb-booking-card-actions .cwb-booking-status{justify-content:center;padding:0;background:transparent!important;border-radius:0;font-size:10px}
/* Reminder lives in opened request details only. */
.cwb-manual-confirmation-reminder--detail{
	min-height:28px!important;height:28px;padding:0 10px!important;font-size:10px!important;font-weight:500;letter-spacing:.02em;line-height:1;width:auto
}
.cwb-booking-detail-status-wrap .cwb-manual-confirmation-reminder--detail{width:auto;margin-top:8px}
.cwb-booking-status.is-confirmed{color:#027A48}.cwb-booking-status.is-cancelled{color:#667085}
body.cwb-booking-modal-open{overflow:hidden!important}
.cwb-booking-detail-backdrop{position:fixed;z-index:10030;inset:0;background:rgba(16,24,40,.48);backdrop-filter:blur(2px)}
.cwb-booking-detail-backdrop[hidden]{display:none!important}
.cwb-booking-detail{position:fixed;z-index:10040;top:50%;left:50%;right:auto;width:min(980px,calc(100vw - 48px));height:min(820px,calc(100vh - 48px));transform:translate(-50%,-50%);overflow-y:auto;padding:24px 30px;border-radius:16px;box-sizing:border-box;background:#fff;box-shadow:0 26px 90px rgba(16,24,40,.36)}
.cwb-booking-detail-close{top:12px;right:14px}
.cwb-booking-detail-head{padding:8px 38px 14px 0}
.cwb-booking-detail-head h2{font-size:26px!important}
.cwb-booking-doc-panel{padding:14px;background:#F3F6F8}
.cwb-booking-doc-panel .cwb-document-meta{margin-bottom:8px;font-size:11px}
.cwb-booking-doc-actions{justify-content:flex-end;margin-bottom:10px}
.cwb-booking-doc-actions .caribico-wb-btn{min-height:34px;padding:8px 13px;border-radius:6px;font-size:10px;line-height:1;letter-spacing:.03em;white-space:nowrap}
.cwb-doc-action{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #C9DDE7;border-radius:7px;background:#fff;color:#1B5A7A;font:800 10px/1 Inter,Arial,sans-serif;cursor:pointer}
.cwb-doc-action:hover,.cwb-doc-action:focus{background:#EAF3F7;outline:0}.cwb-doc-action:disabled{opacity:.4;cursor:not-allowed}
.cwb-document-preview-page{width:min(100%,680px);min-height:390px;margin:0 auto;padding:28px 32px;border:1px solid #D9E1E7;border-radius:4px;background:#fff;box-shadow:0 8px 25px rgba(16,24,40,.08);color:#101828}
.cwb-preview-brand{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:2px solid #1B5A7A;color:#1B5A7A}.cwb-preview-brand img{display:block;width:118px;max-width:42%;height:auto}.cwb-preview-brand span{max-width:52%;font-size:13px;font-weight:800;letter-spacing:.08em;line-height:1.2;text-align:right;white-space:nowrap}
.cwb-preview-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:20px 0 6px}.cwb-preview-title>strong{font-size:20px}.cwb-preview-title>span{color:#667085;font-size:11px;white-space:nowrap}.cwb-document-preview-page>p{margin:0 0 18px;color:#667085;font-size:11px}
.cwb-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.cwb-preview-grid span{padding:0;background:transparent;color:#667085;font-size:9px;text-transform:uppercase}.cwb-preview-grid strong{display:block;margin-top:4px;color:#101828;font-size:11px;text-transform:none}.cwb-preview-guest-list{display:grid;gap:4px;margin-top:15px}.cwb-preview-guest-list b{color:#1B5A7A}.cwb-preview-guest-list span{font-size:11px}.cwb-preview-present-note{margin-top:13px!important}.cwb-preview-footer{margin-top:18px;padding-top:9px;border-top:1px solid #D9E1E7;color:#1B5A7A;font-size:10px;font-weight:700}.cwb-preview-invoice-line{display:flex;justify-content:space-between;gap:16px;margin:22px 0 14px;padding:11px 0;border-top:1px solid #D9E1E7;border-bottom:1px solid #D9E1E7}.cwb-preview-invoice-line span{font-weight:700}.cwb-preview-invoice-line small,.cwb-preview-title small{display:block;margin-top:4px;color:#667085;font-size:9px;font-weight:400}.cwb-preview-wire{display:grid;gap:5px;padding:12px;background:#fff;border:1px solid #F2B544;border-radius:5px;font-size:10px}.cwb-preview-wire span{color:#475467}.cwb-preview-domestic{display:grid;gap:3px;margin-top:8px;padding:7px;border:1px solid #C9DDE7;border-radius:5px;color:#475467;font-size:8px}.cwb-preview-domestic strong{color:#101828;font-size:9px}

@media(max-width:1100px){.cwb-booking-card-main{grid-template-columns:170px minmax(0,1fr)}.cwb-booking-card dl{grid-template-columns:90px minmax(185px,1.5fr) 105px 100px 110px}}
@media(max-width:800px){.cwb-search-row-primary{grid-template-columns:1fr!important;border-radius:12px;gap:8px!important}.cwb-search-row-primary .caribico-wb-field{border-right:0;border-bottom:1px solid #E4E9ED;padding:8px}.cwb-search-row-primary .cwb-field-search-submit{border-bottom:0;display:flex!important;justify-content:stretch!important;align-items:stretch!important;grid-column:auto!important}.cwb-search-row-primary .cwb-search-submit{width:100%!important;min-width:0!important}.cwb-search-row-meta{grid-template-columns:1fr!important;justify-content:stretch;padding-right:0}.cwb-field-nationality,.cwb-field-residence,.cwb-field-currency{max-width:none}.cwb-booking-card{grid-template-columns:1fr}.cwb-booking-card-main{grid-template-columns:1fr}.cwb-booking-card dl{grid-template-columns:1fr 1fr}.cwb-booking-card dd{white-space:normal}.cwb-booking-card-actions{align-items:flex-start}.cwb-booking-card-actions .cwb-view-booking{width:110px}.cwb-booking-detail{width:calc(100vw - 20px);height:calc(100vh - 20px);padding:20px 16px}}

/* v1.11.6 — consolidated staging polish */
.cwb-search-shell{padding-bottom:18px!important;margin-bottom:18px!important}
.cwb-search-row-primary{border-radius:14px!important;padding:9px!important}
.cwb-search-row-primary .cwb-search-submit{border-radius:8px!important}
.cwb-date-range-toggle{justify-content:flex-start!important;gap:9px!important;text-align:left!important}
.cwb-date-range-toggle #cwb-date-range-summary{margin:0!important;text-align:left!important}
.cwb-search-row-meta,.cwb-advanced-toggle{display:none!important}
.cwb-search-debug-fields{display:none!important}
.cwb-occupancy-panel{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:14px!important;border-radius:10px!important}
.cwb-occupancy-preferences{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #E4E9ED}
.cwb-occupancy-preferences label{margin-bottom:4px!important;font-size:11px!important}
.cwb-occupancy-preferences select{width:100%;height:38px!important;min-height:38px!important;border:1px solid #D0D5DD!important;border-radius:7px!important}

.cwb-results-actions{display:flex;align-items:center;gap:8px}
.cwb-results-actions select{min-width:190px;height:40px;border:1px solid #D0D5DD!important;border-radius:8px!important;padding:0 42px 0 12px!important;box-shadow:0 2px 6px rgba(16,24,40,.05)}
.cwb-results-actions select option{padding:9px 12px}
.caribico-wb-filter select{border-radius:7px!important}
.caribico-wb-hotel-price>.cwb-cancel-status{overflow:hidden!important;text-overflow:ellipsis!important}
.cwb-cancel-status-copy{display:inline-flex;flex-direction:column;align-items:center;max-width:100%;white-space:nowrap}
.cwb-cancel-line-primary,.cwb-cancel-line-secondary{display:block;white-space:nowrap}
.cwb-cancel-line-secondary{margin-top:2px}

.cwb-platform-user{position:relative}
.cwb-user-menu{position:relative}
.cwb-user-menu-toggle{display:flex;align-items:center;gap:10px;padding:4px 2px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.cwb-user-menu-identity strong,.cwb-user-menu-identity small{display:block;color:#fff}.cwb-user-menu-chevron{font-size:18px}
.cwb-user-menu-panel{position:absolute;z-index:200;top:calc(100% + 12px);right:0;width:270px;padding:8px 0;border:1px solid #E4E7EC;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(16,24,40,.22);color:#101828}
.cwb-user-menu-panel[hidden]{display:none!important}.cwb-user-menu-heading{padding:10px 16px 12px;border-bottom:1px solid #EAECF0;text-align:center}.cwb-user-menu-heading strong,.cwb-user-menu-heading span{display:block}.cwb-user-menu-heading span{margin-top:2px;color:#667085;font-size:12px}
.cwb-user-menu-panel a{display:flex;align-items:center;gap:11px;padding:10px 16px;color:#101828!important;text-decoration:none;font-size:14px}.cwb-user-menu-panel a:hover,.cwb-user-menu-panel a:focus{background:#F2F6F8}.cwb-user-menu-panel .cwb-icon{width:19px;height:19px;color:#667085}.cwb-menu-symbol{display:inline-grid;width:19px;color:#667085;font-size:18px}.cwb-user-menu-logout{margin-top:6px;border-top:1px solid #EAECF0}

.cwb-bookings-toolbar{gap:6px!important}.cwb-bookings-toolbar input{padding-left:8px!important;padding-right:8px!important}.cwb-bookings-toolbar select{margin-left:2px!important}
.cwb-workspace-confirm-actions{justify-content:flex-start!important;gap:12px!important}.cwb-lock-consent-cancel{margin-left:0!important}.cwb-lock-consent-accept{margin-left:0!important}
.cwb-group-cancel-safety-note{margin:8px 0 0;color:#344054;font-size:14px;line-height:1.45}
.cwb-group-cancel-safety .cwb-workspace-confirm-actions .caribico-wb-btn-danger{background:#B42318;border-color:#B42318;color:#fff}
/* v1.47.11 — Cancel Group safety dialog: compact B2B confirm (~half size). */
.cwb-group-cancel-safety.cwb-workspace-confirm{padding:12px!important}
.cwb-group-cancel-safety .cwb-workspace-confirm-panel{
	width:min(280px,calc(100vw - 32px))!important;
	padding:14px 16px 12px!important;
	border-radius:10px!important;
	box-shadow:0 12px 32px rgba(16,24,40,.22)!important;
}
.cwb-group-cancel-safety .cwb-workspace-confirm-panel h2{
	margin:0 0 6px!important;
	font-size:16px!important;
	font-weight:650!important;
	line-height:1.25!important;
	color:#101828!important;
}
.cwb-group-cancel-safety .cwb-workspace-confirm-price{
	margin:0 0 4px!important;
	font-size:12px!important;
	font-weight:600!important;
	line-height:1.35!important;
	color:#101828!important;
}
.cwb-group-cancel-safety .cwb-group-cancel-safety-note{
	margin:0 0 0!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.4!important;
	color:#475467!important;
}
.cwb-group-cancel-safety .cwb-workspace-confirm-actions{
	display:flex!important;
	justify-content:flex-start!important;
	align-items:center!important;
	gap:8px!important;
	margin-top:12px!important;
}
.cwb-group-cancel-safety .cwb-workspace-confirm-actions .caribico-wb-btn{
	min-width:0!important;
	min-height:32px!important;
	height:32px!important;
	padding:0 12px!important;
	font-size:11px!important;
	font-weight:650!important;
}

.caribico-wb-app[data-view="booking"] #caribico-wb-results-region{padding-top:10px!important}
.caribico-wb-booking{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
.cwb-price-lock-banner{height:38px!important;min-height:38px!important;margin-bottom:8px!important;padding:8px 14px!important}
.cwb-booking-page-title{margin:4px 0 12px}.cwb-booking-page-title h2{margin:0 0 2px!important;font-size:19px!important}.cwb-booking-page-title p{margin:0;color:#667085;font-size:11px}
.cwb-booking-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;padding:18px;border:1px solid #DDE5EA;border-radius:12px;background:#fff}
.cwb-booking-guest-panel{min-width:0}.cwb-booking-heading-row h3{margin:0 0 12px!important;font-size:16px!important}.cwb-booking-top-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cwb-booking-guest-panel h4{margin:14px 0 7px;font-size:13px}
.cwb-booking-room-guests{margin:0 0 12px;padding:12px;border:1px solid #E4E9ED;border-radius:10px;background:#fff}
.cwb-booking-room-guests:last-child{margin-bottom:0}
.cwb-booking-room-guests-head{margin:0 0 2px}
.cwb-booking-room-guests-line{margin:0!important;font-size:13px!important;font-weight:400!important;line-height:1.35;color:#101828;white-space:normal}
.cwb-booking-room-guests-name,.cwb-booking-room-guests-board,.cwb-booking-room-guests-occupancy{display:none!important}
.cwb-booking-room-guests-title{margin:10px 0 4px!important;font-size:13px!important;font-weight:400!important;color:#101828;text-transform:none!important;letter-spacing:normal!important}
.cwb-booking-room-guests-list .cwb-guest-row:first-child{border-top:0!important;padding-top:4px!important}
.cwb-booking-room-guests .cwb-guest-row[data-guest-type="child"]{background:#fff!important}
.cwb-booking-room-guests .cwb-guest-label{justify-content:flex-start!important;text-align:left!important;text-transform:none!important;letter-spacing:normal!important;white-space:nowrap!important;font-size:11px!important;font-weight:400!important;color:#667085}
.cwb-booking-room-guests .cwb-guest-label strong{font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;color:#667085}
/* Single-room: room line is redundant (shown in summary); keep Guest details only. */
#cwb-guests-list.is-single-room .cwb-booking-room-guests-head{display:none!important}
#cwb-guests-list.is-single-room .cwb-booking-room-guests-title{margin-top:0!important}
.cwb-booking-guest-panel .caribico-wb-field label{font-size:10px!important;margin-bottom:3px!important}.cwb-booking-guest-panel input,.cwb-booking-guest-panel select,.cwb-booking-guest-panel textarea{height:36px!important;min-height:36px!important;border-radius:6px!important;padding:6px 10px!important;font-size:12px!important}.cwb-booking-guest-panel textarea{height:auto!important}
.cwb-guest-row{display:grid!important;grid-template-columns:130px 82px minmax(130px,1fr) minmax(130px,1fr)!important;gap:8px!important;align-items:end!important;padding:7px 0!important;border-top:1px solid #EEF1F4!important}.cwb-guest-label{align-self:center!important;margin:0!important;font-size:11px!important}.cwb-special-requests{margin-top:10px;border-top:1px solid #EEF1F4;padding-top:8px}.cwb-special-requests summary{color:#1B5A7A;font-size:11px;font-weight:700;text-transform:uppercase;cursor:pointer}
.cwb-booking-summary-column{align-self:start;display:flex;flex-direction:column;gap:8px;min-width:0;width:100%;position:static}
.cwb-booking-summary-card{align-self:start;padding:12px;border:1px solid #E4E9ED;border-radius:10px;background:#FBFCFD}.cwb-booking-summary-card>img,.cwb-booking-hotel-placeholder{display:block;width:100%;height:116px;object-fit:cover;border-radius:8px;background:#EAF3F7;color:#1B5A7A;text-align:center;line-height:116px;font-weight:800}.cwb-booking-summary-card h3{margin:9px 0 2px!important;font-size:14px!important}.cwb-booking-location,.cwb-booking-stay-line{margin:2px 0!important;color:#667085;font-size:10px;line-height:1.4}.cwb-booking-stay-line span{margin-left:6px}.cwb-booking-room-line{margin:8px 0;padding:7px 8px;border-radius:5px;background:#F0F2F4;font-size:10px;font-weight:650}.cwb-booking-summary-card dl{display:grid;gap:3px;margin:0}.cwb-booking-summary-card dl div{display:flex;justify-content:space-between;font-size:10px}.cwb-booking-summary-card dd{margin:0;font-weight:700}.cwb-booking-summary-policy .cwb-booking-cancel-compact{margin-top:8px}.cwb-booking-summary-policy .cwb-cancel-status{font-size:10px}.cwb-booking-summary-policy .cwb-cancellation-ack{font-size:10px!important;margin-top:6px!important}
/* WebBeds tariffNotes — compact single line (room / review / details). */
.cwb-rate-notes{margin:4px 0 0;padding:0;text-align:left;color:#475467}
.cwb-rate-notes-room{margin:0 0 2px!important;font-size:11px!important;font-weight:600!important;color:#344054}
.cwb-rate-notes-line{margin:0!important;padding:0;font-size:11px!important;font-weight:400!important;line-height:1.35!important;color:#475467}
.cwb-rate-notes-label{font-size:11px!important;font-weight:400!important;color:#667085}
.cwb-rate-notes-text{font-size:11px!important;font-weight:400!important;line-height:1.35!important;color:#475467;white-space:pre-wrap;overflow-wrap:anywhere}
.cwb-booking-room-guests-head .cwb-rate-notes{margin-top:4px}
.cwb-taxes-fees{margin:4px 0 0;padding:0;text-align:left;color:#475467}
.cwb-taxes-fees-line,.cwb-taxes-fees-heading{margin:0!important;padding:0;font-size:11px!important;font-weight:400!important;line-height:1.35!important;color:#475467}
.cwb-taxes-fees-heading{margin-top:4px!important;font-weight:600!important;color:#344054}
.cwb-taxes-fees-list{margin:2px 0 0;padding:0 0 0 16px;font-size:11px!important;font-weight:400!important;line-height:1.35!important;color:#475467}
.cwb-taxes-fees-list li{margin:0;padding:0}
.cwb-booking-room-guests-head .cwb-taxes-fees{margin-top:4px}
/* CLX schedule — compact single-line rows (room card + review + details). */
.cwb-clx-schedule{margin:2px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:#475467;text-align:left;list-style:none}
.cwb-clx-schedule-title{display:block;margin:0 0 1px!important;padding:0!important;font-size:11px!important;font-weight:600!important;letter-spacing:0;line-height:1.2!important;text-transform:none;color:#344054}
.cwb-clx-row{display:block;margin:0!important;padding:0!important;font-size:11px!important;font-weight:400!important;line-height:1.2!important;color:#475467;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
.cwb-clx-row+.cwb-clx-row{margin-top:0!important}
.cwb-clx-label,.cwb-clx-value,.cwb-clx-penalty{display:inline!important;margin:0!important;padding:0!important;font-size:11px!important;font-weight:400!important;line-height:1.2!important;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.cwb-clx-label{color:#667085}
.cwb-clx-value,.cwb-clx-penalty{color:#475467}
.cwb-clx-rule,.cwb-clx-penalty-row{margin:0;padding:0}
.cwb-room-info .cwb-clx-schedule{margin-top:2px}
.cwb-room-info .cwb-clx-row{white-space:nowrap}
.cwb-booking-summary-policy .cwb-clx-schedule{margin-top:2px}
.cwb-booking-summary-policy .cwb-clx-schedule-title,
.cwb-booking-summary-policy .cwb-clx-row,
.cwb-booking-summary-policy .cwb-clx-label,
.cwb-booking-summary-policy .cwb-clx-value,
.cwb-booking-summary-policy .cwb-clx-penalty{font-size:10px!important;line-height:1.2!important}
@media(max-width:700px){
	.cwb-clx-row,.cwb-room-info .cwb-clx-row{white-space:normal;overflow:visible;text-overflow:clip;font-size:10px!important}
	.cwb-clx-label,.cwb-clx-value,.cwb-clx-penalty{white-space:normal}
}
/* v1.47.13 — Booking Details: RATE NOTES + CANCELLATION POLICY as fact rows. */
#cwb-booking-detail .cwb-detail-rate-notes .cwb-bd-rate-notes-text{
	display:block;
	white-space:pre-wrap;
	overflow-wrap:anywhere;
	word-break:normal;
	font-size:11px;
	font-weight:400;
	line-height:1.4;
	color:var(--cwb-f-text,#1A2B44);
}
#cwb-booking-detail .cwb-bd-clx-row .cwb-bd-row-body,
#cwb-booking-detail .cwb-detail-rate-notes .cwb-bd-row-body{
	align-items:flex-start;
}
#cwb-booking-detail .cwb-bd-clx-row dd,
#cwb-booking-detail .cwb-detail-rate-notes dd{
	white-space:normal!important;
	overflow:visible!important;
	text-overflow:clip!important;
}
#cwb-booking-detail .cwb-bd-clx-row .cwb-clx-schedule{
	margin:0;
	padding:0;
	border:0;
	background:transparent;
}
#cwb-booking-detail .cwb-bd-clx-row .cwb-clx-schedule-title{display:none!important}
#cwb-booking-detail .cwb-bd-clx-row .cwb-clx-row{
	display:block!important;
	margin:0!important;
	padding:0!important;
	line-height:1.35!important;
	white-space:normal!important;
	overflow:visible!important;
	text-overflow:clip!important;
}
#cwb-booking-detail .cwb-bd-clx-row .cwb-clx-label,
#cwb-booking-detail .cwb-bd-clx-row .cwb-clx-value,
#cwb-booking-detail .cwb-bd-clx-row .cwb-clx-penalty{
	display:inline!important;
	white-space:normal!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
}
/* Legacy wrap class (if any leftover markup). */
#cwb-booking-detail .cwb-bd-clx-wrap{
	margin:4px 0 0;
	padding:0;
	grid-column:1/-1;
}
#cwb-booking-detail .cwb-bd-clx-wrap .cwb-clx-schedule{margin:0}
#caribico-wb-booking .cwb-booking-final-row,
#caribico-wb-booking .cwb-booking-final-copy,
#caribico-wb-booking .cwb-booking-final-kicker{display:none!important}

.cwb-confirmation-header{align-items:flex-start!important}.cwb-status-text,.cwb-booking-detail-status-text{display:inline-block;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cwb-status-text.is-confirmed,.cwb-booking-detail-status-text.is-confirmed{color:#027A48}.cwb-booking-detail-status-text.is-pending{color:#B54708}.cwb-booking-detail-status-text.is-cancelled{color:#B42318}.cwb-booking-detail-status-text.is-needs_attention{color:#B54708}.cwb-confirmation-grid-compact{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(160px,1fr) minmax(90px,.65fr) minmax(165px,.8fr)!important;grid-template-rows:auto auto;gap:8px!important;align-items:stretch}.cwb-confirmation-grid-compact .cwb-confirmation-item{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;min-height:44px!important;padding:7px 10px!important}.cwb-confirmation-hotel{grid-column:1/4;grid-row:1}.cwb-confirmation-booking-code{grid-column:4;grid-row:1}.cwb-confirmation-room{grid-column:1;grid-row:2}.cwb-confirmation-stay{grid-column:2;grid-row:2}.cwb-confirmation-nights{grid-column:3;grid-row:2}.cwb-confirmation-reference{grid-column:4;grid-row:2}.cwb-confirmation-reference-stack{grid-column:4;grid-row:1/3;display:grid;grid-template-rows:1fr 1fr;gap:8px;align-self:stretch}.cwb-confirmation-reference-stack .cwb-confirmation-item{min-height:0!important;height:100%}.cwb-voucher-contact,.cwb-confirmation-actions{margin-top:8px!important}.cwb-confirmation-actions .caribico-wb-btn,.cwb-cancellation-box .caribico-wb-btn{min-height:32px!important;height:32px!important;padding:0 12px!important;font-size:10px!important}.cwb-cancellation-box{margin-top:10px!important;padding-top:10px!important}.cwb-cancellation-box h4{margin:0 0 2px!important;font-size:13px!important}.cwb-cancellation-box p{margin:0 0 7px!important;font-size:10px!important}

.cwb-booking-detail{width:min(1060px,calc(100vw - 40px))!important;height:min(720px,calc(100vh - 28px))!important;overflow:hidden!important;padding:18px 24px!important;border-radius:12px!important}.cwb-booking-detail-head{padding:4px 34px 10px 0!important}.cwb-booking-detail-head h2{font-size:21px!important}.cwb-booking-detail-head p{font-size:11px!important}.cwb-booking-tabs{margin-top:8px!important}.cwb-booking-tab{padding:9px 12px!important;font-size:10px!important}.cwb-booking-tabpanel{height:calc(100% - 118px);overflow:auto;padding:12px 2px 4px!important}.cwb-booking-detail-grid{grid-template-columns:minmax(0,2fr) minmax(230px,.8fr)!important;gap:18px!important}.cwb-booking-detail-facts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.cwb-booking-detail-facts>div{padding:8px 9px;border-radius:6px;background:#F5F8FA}.cwb-booking-detail-facts .cwb-detail-stay{grid-column:span 2}.cwb-booking-detail dt{font-size:8px!important}.cwb-booking-detail dd{font-size:10px!important}.cwb-booking-guest-summary{padding:10px 12px;border-radius:8px;background:#F8FAFB}.cwb-booking-detail h3{font-size:13px!important;margin-bottom:8px!important}.cwb-booking-guests{padding:0!important;list-style:none}.cwb-booking-guests li{display:grid;grid-template-columns:130px 1fr;gap:8px;margin-bottom:5px;font-size:10px}.cwb-booking-guest-summary p{font-size:10px;overflow-wrap:anywhere}
.cwb-booking-detail .cwb-cancellation-box{margin-top:10px!important;padding-top:10px!important}

.cwb-booking-doc-panel{padding:10px!important}.cwb-booking-doc-actions{gap:7px!important;margin-bottom:7px!important}.cwb-doc-action{width:30px!important;height:30px!important}.cwb-doc-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cwb-doc-action.is-whatsapp{color:#25D366}.cwb-doc-action.is-telegram{color:#229ED9}.cwb-doc-action.is-telegram svg{fill:currentColor;stroke:none}.cwb-document-preview-page{min-height:0!important;height:auto!important;max-height:480px;padding:18px 22px!important}.cwb-preview-brand{padding-bottom:8px!important}.cwb-preview-title{margin:12px 0 4px!important}.cwb-preview-title>strong{font-size:15px!important}.cwb-document-preview-page>p{margin-bottom:10px!important}.cwb-preview-grid{gap:10px 18px!important}.cwb-preview-grid span{padding:0!important}.cwb-preview-footer{margin-top:12px!important}.cwb-preview-invoice-line{margin:16px 0 10px!important;padding:9px 0!important}.cwb-preview-wire{padding:9px!important;font-size:9px!important}

@media(max-width:900px){.cwb-booking-form-layout{grid-template-columns:1fr;align-items:start}.cwb-booking-summary-column{order:-1;position:static;width:100%}.cwb-guest-row{grid-template-columns:1fr 90px 1fr 1fr!important}.cwb-booking-detail{overflow:auto!important}.cwb-booking-tabpanel{height:auto}.cwb-booking-detail-grid{grid-template-columns:1fr!important}.cwb-booking-detail-facts{grid-template-columns:1fr 1fr!important}}

/* v1.11.7 — UI review corrections */
.cwb-header-currency{min-width:76px!important}
.cwb-range-stack{position:relative}.cwb-range-stack input[type="range"]{pointer-events:none}.cwb-range-stack input[type="range"]::-webkit-slider-thumb{pointer-events:auto}.cwb-range-stack input[type="range"]::-moz-range-thumb{pointer-events:auto}.cwb-range-stack #cwb-price-min{z-index:3}.cwb-range-stack #cwb-price-max{z-index:2}
.caribico-wb-app[data-view="booking"] #caribico-wb-results-region{padding-top:2px!important}
.cwb-booking-page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.cwb-booking-lock-inline{margin:0 10px 0 auto!important;white-space:nowrap!important;color:#1B5A7A!important;font-size:11px}.cwb-booking-lock-inline.expired{color:#B42318!important}
.cwb-booking-top-fields{grid-template-columns:minmax(220px,420px)!important}
.cwb-booking-guest-panel .caribico-wb-field label span{font-weight:400;opacity:.8}
.cwb-guest-row{grid-template-columns:72px 82px minmax(130px,1fr) minmax(130px,1fr)!important}
.cwb-booking-summary-card>h3{display:none!important}.cwb-booking-summary-icon{display:inline-grid!important;width:13px;height:13px;margin:0 3px 0 0!important;vertical-align:-2px}.cwb-booking-summary-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cwb-booking-stay-line{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.cwb-booking-stay-line>span{display:inline-flex;align-items:center;margin:0!important}.cwb-booking-stay-line>span+span{margin-left:5px!important}
.cwb-confirmation-grid-compact{grid-template-columns:minmax(0,1.7fr) minmax(230px,1.2fr) 72px 190px!important;grid-template-rows:auto auto;align-items:stretch}.cwb-confirmation-hotel{grid-column:1/4;grid-row:1}.cwb-confirmation-booking-code{grid-column:4;grid-row:1}.cwb-confirmation-room{grid-column:1;grid-row:2}.cwb-confirmation-stay{grid-column:2;grid-row:2;white-space:nowrap}.cwb-confirmation-nights{grid-column:3;grid-row:2}.cwb-confirmation-reference{grid-column:4;grid-row:2}.cwb-confirmation-reference-stack{grid-column:4;grid-row:1/3}.cwb-confirmation-reference .cwb-confirmation-value,.cwb-confirmation-booking-code .cwb-confirmation-value,.cwb-confirmation-reference-stack .cwb-confirmation-value{font-size:10px!important;overflow-wrap:anywhere}.cwb-confirmation-actions{display:flex!important;justify-content:center!important;align-items:center!important}.cwb-voucher-contact{display:flex!important;align-items:baseline!important;gap:8px!important;font-size:10px!important}.cwb-voucher-contact strong{font-size:10px!important;font-weight:600!important}.cwb-status-text.is-warning,.cwb-booking-detail-status-text.is-needs_attention,.cwb-booking-detail-status-text.is-confirmed_price_mismatch{color:#B54708}.cwb-confirmation-grid-review .cwb-confirmation-item{min-height:44px!important}
.cwb-booking-detail-facts .cwb-detail-hotel,.cwb-booking-detail-facts .cwb-detail-room{grid-column:span 2}.cwb-booking-detail-notes{display:grid;grid-template-columns:1fr 2fr;gap:8px;margin-top:8px}.cwb-booking-detail-notes p{margin:0;padding:8px 9px;border-radius:6px;background:#F5F8FA}.cwb-booking-detail-notes span{display:block;color:#667085;font-size:8px;text-transform:uppercase}.cwb-booking-detail-notes strong{display:block;margin-top:3px;font-size:10px;white-space:pre-wrap;text-transform:none;color:#101828;min-height:1.2em}
.cwb-preview-notes{display:grid;grid-template-columns:1fr 2fr;gap:7px;margin-top:7px}.cwb-preview-notes span{padding:7px;background:#F5F8FA;color:#667085;font-size:9px;text-transform:uppercase}.cwb-preview-notes strong{display:block;margin-top:3px;color:#101828;font-size:10px;text-transform:none;white-space:pre-wrap}.cwb-doc-action{border:0!important;background:transparent!important}.cwb-doc-action:hover,.cwb-doc-action:focus{background:#EAF3F7!important}
.cwb-booking-detail{height:min(680px,calc(100vh - 28px))!important}.cwb-booking-detail-head{min-height:66px}.cwb-booking-tabpanel{height:calc(100% - 108px);overflow:auto!important;padding-top:9px!important;padding-bottom:24px!important;box-sizing:border-box}.cwb-booking-tabpanel#cwb-panel-history{overflow:auto!important}.cwb-document-preview-page{max-height:430px!important}.cwb-preview-footer{margin-top:12px!important}
@media(max-width:900px){.cwb-booking-page-title{align-items:flex-start;flex-direction:column}.cwb-confirmation-grid-compact{grid-template-columns:1fr 1fr!important;grid-template-rows:none}.cwb-confirmation-hotel,.cwb-confirmation-booking-code,.cwb-confirmation-room,.cwb-confirmation-stay,.cwb-confirmation-nights,.cwb-confirmation-reference,.cwb-confirmation-reference-stack{grid-column:auto!important;grid-row:auto!important}.cwb-booking-detail-facts .cwb-detail-hotel,.cwb-booking-detail-facts .cwb-detail-room{grid-column:span 2}.cwb-booking-detail-notes,.cwb-preview-notes{grid-template-columns:1fr}}

/* v1.11.8 — four-page UI review. */
.cwb-confirmation-actions{justify-content:flex-start!important}
.cwb-confirmation-nights,.cwb-confirmation-nights .cwb-confirmation-label,.cwb-confirmation-nights .cwb-confirmation-value{text-align:center!important}
.cwb-preview-wire{grid-template-columns:1fr 1fr!important;gap:5px 14px!important;margin-top:7.56px!important}
.cwb-preview-wire>strong{grid-column:1/-1}
.cwb-preview-wire span{display:grid;grid-template-columns:70px 1fr;gap:6px;align-items:baseline}
.cwb-preview-wire span b{color:#101828;font-weight:700}
.cwb-guest-row[data-guest-type="child"]{background:#F8FAFC}
.cwb-guest-row[data-guest-type="child"] .cwb-guest-label strong{color:#475467}

/* v1.11.11 focused booking corrections. */
.cwb-occupancy-field .cwb-occupancy-panel{left:auto!important;right:0!important;width:100%!important;max-width:100%!important}
.cwb-booking-top-fields{max-width:420px!important}
.cwb-guest-label{display:flex!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;text-align:center!important}
.cwb-guest-label strong{line-height:1.25!important}
.cwb-booking-summary-policy .cwb-booking-terms{margin-top:12px;padding-top:10px;border-top:1px solid #E4E9ED}
.cwb-terms-ack,.cwb-cancellation-ack{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:start;margin-left:0;padding-left:0;font-size:11px;line-height:1.35;color:#344054}
.cwb-terms-ack input,.cwb-cancellation-ack input{box-sizing:border-box;width:16px;height:16px;margin:1px 0 0;justify-self:start}
.cwb-terms-ack a{color:#1B5A7A;text-decoration:underline}
.cwb-terms-configuration-note{margin:6px 0 0!important;color:#B42318!important;font-size:10px!important;line-height:1.35!important}
.caribico-wb-field .is-invalid,.cwb-terms-ack input.is-invalid,.cwb-cancellation-ack input.is-invalid{border-color:#D92D20!important;box-shadow:0 0 0 2px rgba(217,45,32,.12)!important}
.caribico-wb-field input.is-invalid::placeholder{color:#B42318;opacity:1}
.cwb-terms-ack:has(input.is-invalid),.cwb-cancellation-ack:has(input.is-invalid){color:#B42318}
/* Quiet ack error: subtle red ring + very light red fill on the existing row
   only. Box-shadow halo keeps layout and spacing unchanged. */
.cwb-cancellation-ack.is-ack-error,.cwb-terms-ack.is-ack-error{background:#FEF3F2;border-radius:4px;box-shadow:0 0 0 4px #FEF3F2,0 0 0 5px #FDA29B;padding:2px 4px}
.cwb-field-error{display:block;grid-column:1/-1;margin-top:4px;color:#B42318;font-size:10px;font-weight:650;line-height:1.3}
.cwb-bookings-toolbar input,.cwb-bookings-toolbar select{border-radius:12px!important}
.cwb-booking-card-actions .cwb-booking-status.is-needs_attention,.cwb-booking-card-actions .cwb-booking-status.is-confirmed_price_mismatch{transform:translateX(4px)}
#cwb-customer-reference{box-sizing:border-box!important;height:36px!important;min-height:36px!important;max-height:36px!important;resize:none!important}
.cwb-guest-label{align-self:end!important;height:36px!important;min-height:36px!important}
.cwb-booking-tabpanel#cwb-panel-voucher,.cwb-booking-tabpanel#cwb-panel-invoice{overflow:auto!important}
.cwb-booking-tabpanel#cwb-panel-voucher .cwb-document-preview-page,.cwb-booking-tabpanel#cwb-panel-invoice .cwb-document-preview-page{max-height:none!important;overflow:visible!important;padding:14px 20px!important}
.cwb-booking-tabpanel#cwb-panel-voucher .cwb-preview-title,.cwb-booking-tabpanel#cwb-panel-invoice .cwb-preview-title{margin-top:8px!important}
.cwb-booking-tabpanel#cwb-panel-voucher .cwb-preview-grid{gap:7px 18px!important}
.cwb-booking-tabpanel#cwb-panel-voucher .cwb-preview-guest-list{margin-top:9px!important}
.cwb-booking-tabpanel#cwb-panel-voucher .cwb-preview-present-note{margin-top:8px!important}
.cwb-booking-tabpanel#cwb-panel-invoice .cwb-preview-invoice-line{margin:10px 0 7px!important;padding:7px 0!important}
.cwb-booking-tabpanel#cwb-panel-invoice .cwb-preview-wire{padding:7px!important;gap:4px 12px!important}
.cwb-booking-mismatch .cwb-confirmation-header h3{margin-bottom:5px!important;font-size:20px!important;line-height:1.2!important}
.cwb-booking-mismatch .cwb-confirmation-header p{margin:0!important;font-size:12px!important;line-height:1.45!important}
.cwb-confirmation-grid-review{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.cwb-confirmation-grid-review .cwb-confirmation-item{grid-column:auto!important;grid-row:auto!important;min-width:0!important;min-height:44px!important;padding:7px 10px!important}
.cwb-confirmation-grid-review .cwb-confirmation-value{overflow-wrap:anywhere!important;word-break:normal!important;font-size:11px!important}
@media(max-width:600px){.cwb-occupancy-field .cwb-occupancy-panel{left:12px!important;right:12px!important;width:auto!important;max-width:none!important}.cwb-booking-top-fields{max-width:none!important}}
.cwb-multiroom-step{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 14px;margin-bottom:10px;border-left:3px solid #17658a;background:#f2f7fa;font-size:12px;color:#415268}.cwb-multiroom-step strong{color:#17658a;white-space:nowrap}
.cwb-multiroom-hint{margin:0 0 14px;font-size:13px;color:#415268}
.cwb-requested-room-block{margin:0 0 22px}
.cwb-room-row.is-selected{border-color:#17658a!important;box-shadow:0 0 0 1px #17658a}
.cwb-select-room.is-selected{background:#17658a}
.cwb-multiroom-continue{display:flex;justify-content:flex-end;margin:8px 0 16px}

/* v1.11.13 — cancellation documents and penalty status. */
.cwb-booking-status.is-penalty,
.cwb-booking-detail-status-text.is-penalty{color:#5B2C83!important}
.cwb-detail-penalty{border:1px solid rgba(91,44,131,.2)!important;background:#F7F2FA!important}
.cwb-detail-penalty dt,.cwb-detail-penalty dd{color:#5B2C83!important}
.cwb-booking-detail-status-text{white-space:nowrap!important;flex:0 0 auto!important}
.cwb-voucher-guest strong{font-size:12px!important;line-height:1.35!important;font-weight:700!important}

/* Board Basis / Rate Type stay between stars and lower accordions. */
#cwb-board-basis-filter,
#cwb-rate-type-filter{display:block}
#cwb-board-basis-filter[hidden],
#cwb-rate-type-filter[hidden]{display:none!important}

/* Shared filter-option rows (Board Basis, Rate Type, accordion bodies). */
.cwb-facet-rows{display:flex;flex-direction:column;gap:2px;width:100%}
#cwb-board-basis-options.cwb-facet-rows,
#cwb-rate-type-options.cwb-facet-rows,
.cwb-filter-accordion-body .cwb-facet-rows{display:flex;flex-direction:column;gap:2px;width:100%}
.caribico-wb-filters .cwb-facet-row,
.caribico-wb-filter .cwb-facet-row,
.cwb-facet-rows .cwb-facet-row,
.cwb-filter-accordion-body .cwb-facet-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;width:100%;box-sizing:border-box;min-height:34px;margin:0!important;padding:5px 4px;cursor:pointer;font-weight:400!important;font-size:13px;line-height:1.3;border-radius:6px;color:#101828}
.cwb-facet-row[hidden]{display:none!important}
.cwb-facet-row:hover{background:#F8FAFB}
.cwb-facet-row.is-selected{background:#EAF3F7}
.cwb-facet-row.is-disabled{opacity:.45;cursor:not-allowed}
.cwb-facet-row-content{display:grid!important;grid-template-columns:16px minmax(0,1fr);column-gap:10px;align-items:center;min-width:0}
.caribico-wb-filters .cwb-facet-row input[type="checkbox"],
.cwb-facet-row input[type="checkbox"]{position:static!important;width:16px!important;height:16px!important;margin:0!important;opacity:1!important;pointer-events:auto!important;accent-color:var(--cwb-primary,#1B5A7A);cursor:pointer;flex:none}
.cwb-facet-row-label{display:block;min-width:0;padding-right:4px;color:#101828;font-size:13px;font-weight:400;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cwb-facet-row-count{display:inline-block;justify-self:end;min-width:1.75rem;padding-left:8px;padding-right:2px;text-align:right;color:#667085;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3;white-space:nowrap}
.cwb-facet-row:not(:has(.cwb-facet-row-count)){grid-template-columns:minmax(0,1fr)}
.cwb-facet-show-more{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:4px;padding:6px 2px;border:0;background:transparent;color:var(--cwb-primary,#1B5A7A);font:600 12px/1.2 inherit;cursor:pointer}
.cwb-facet-show-more:hover,.cwb-facet-show-more:focus{text-decoration:underline;outline:0}
.cwb-facet-show-more-chevron{font-size:11px;line-height:1}

/* Compact lower filter accordions under Rate Type. */
.cwb-filter-accordion-list{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.cwb-filter-accordion{border:1px solid #EAECF0;border-radius:8px;background:#fff;overflow:hidden}
.cwb-filter-accordion-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:36px;padding:0 10px;border:0;background:#fff;color:#101828;font:600 13px/1.2 inherit;text-align:left;cursor:pointer}
.cwb-filter-accordion-toggle:hover,.cwb-filter-accordion-toggle:focus{background:#F8FAFB;outline:0}
.cwb-filter-accordion-chevron{display:inline-flex;align-items:center;justify-content:center;color:#667085;font-size:12px;line-height:1;transition:transform .15s ease}
.cwb-filter-accordion.is-open .cwb-filter-accordion-chevron{transform:rotate(180deg)}
.cwb-filter-accordion.is-disabled{opacity:.55}
.cwb-filter-accordion.is-disabled .cwb-filter-accordion-toggle{cursor:not-allowed;background:#F8FAFB;color:#667085}
.cwb-filter-accordion-body{padding:8px 10px 10px;border-top:1px solid #EAECF0}
.cwb-filter-accordion-body[hidden]{display:none!important}
.cwb-filter-accordion-empty{margin:0;color:#667085;font-size:12px;line-height:1.4}

/* v1.11.27 — Booking Experience & UI Refinement (presentation only). */
.cwb-confirm-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(27,90,122,.25);border-top-color:#1B5A7A;border-radius:50%;animation:cwb-spin .75s linear infinite;vertical-align:-2px;margin-right:8px}
#cwb-confirm-booking-btn.is-processing,#cwb-confirm-booking-btn:disabled.is-processing{opacity:.92;cursor:wait}
#caribico-wb-booking .cwb-booking-final-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;position:static}
.cwb-confirm-primary,#cwb-confirm-booking-btn{min-height:42px!important;height:auto!important;padding:0 18px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.03em}
#cwb-request-manual-confirmation{min-height:34px!important;height:auto!important;font-size:11px!important}
.cwb-booking-result.is-processing{background:#EAF3F7;border:1px solid #C9DDE7}
.cwb-booking-processing{display:flex;align-items:flex-start;gap:12px;padding:4px 2px}
.cwb-booking-processing strong{display:block;margin-bottom:4px;color:#101828;font-size:15px}
.cwb-booking-processing p{margin:0;color:#475467;font-size:13px}
/* Compact confirm errors — lightweight line under Confirm Booking, no banner. */
.cwb-booking-result.error.is-confirm-inline{margin:8px 0 0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.cwb-booking-confirm-error{display:flex;align-items:flex-start;gap:6px;margin:0;padding:0;color:#B42318;font-size:11px;font-weight:500;line-height:1.35}
.cwb-booking-confirm-error-icon{flex:0 0 auto;width:14px;height:14px;margin-top:1px;color:#D92D20}
.cwb-booking-confirm-error-icon svg{display:block;width:14px;height:14px}
.cwb-booking-confirm-error-text{min-width:0;flex:1 1 auto}
.cwb-booking-confirm-error-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:4px}
.cwb-booking-confirm-error-actions .caribico-wb-btn{min-height:28px!important;height:auto!important;padding:0 10px!important;font-size:11px!important}
.cwb-confirmation-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;align-items:stretch}
.cwb-confirmation-meta>div{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;min-height:44px;padding:7px 10px;border:1px solid #E4E9ED;border-radius:8px;background:#F8FAFB}
.cwb-confirmation-meta span{display:block;margin-bottom:2px;color:#667085;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.cwb-confirmation-meta strong{display:block;color:#101828;font-size:14px;line-height:1.3}
.cwb-confirmation-next{margin:10px 0 4px;padding:10px 12px;border-left:3px solid #1B5A7A;background:#F2F7FA}
.cwb-confirmation-next-label{margin:0 0 2px!important;color:#1B5A7A;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cwb-confirmation-next p{margin:0;color:#344054;font-size:12px;line-height:1.4}
.cwb-booking-status-title{margin:0 0 8px;color:#101828;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.cwb-booking-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cwb-booking-status-item{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 9px;border:1px solid #E4E9ED;border-radius:8px;background:#fff}
.cwb-booking-status-kicker{color:#667085;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cwb-booking-status-item strong{color:#101828;font-size:12px;line-height:1.25}
.cwb-booking-status-item small{color:#667085;font-size:10px;line-height:1.3}
.cwb-booking-status-item.is-pending,.cwb-booking-status-item.is-unfunded{border-color:#F2E6C9;background:#FFFCF5}
.cwb-booking-status-item.is-confirmed,.cwb-booking-status-item.is-funded,.cwb-booking-status-item.is-protected{border-color:#B7E2C2;background:#F4FBF6}
.cwb-booking-status-item.is-failed,.cwb-booking-status-item.is-penalty,.cwb-booking-status-item.is-manual{border-color:#F5B7B1;background:#FFF7F6}
.cwb-booking-status-item.is-cancelled{border-color:#D0D5DD;background:#F8FAFB}
.cwb-terms-warning{margin:0 0 6px;padding:4px 8px;border:1px solid #F5B7B1;border-radius:6px;background:#FFF7F6}
.cwb-terms-warning[hidden]{display:none!important}
.cwb-terms-warning strong{display:block;margin-bottom:1px;color:#B42318;font-size:10px;letter-spacing:.02em;text-transform:none;font-weight:600}
.cwb-terms-warning p{margin:0;color:#7A1F1A;font-size:11px;font-weight:500;line-height:1.3}
.cwb-booking-terms.is-terms-required{padding:6px 8px;border:1px solid #F5B7B1;border-radius:6px;background:#FFFCFB}
.cwb-terms-ack.is-highlighted{color:#B42318}
.cwb-hotel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 4px}
.cwb-hotel-title-block{min-width:0;flex:1}
.cwb-hotel-location-primary{font-weight:600;color:#344054}
.cwb-hotel-location-secondary{color:#667085;font-size:11px}
.cwb-hotel-offer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 6px}
.cwb-hotel-room-hint{color:#475467;font-size:11px;font-weight:600}
.cwb-hotel-board-chips{display:inline-flex;flex-wrap:wrap;gap:4px}
.cwb-hotel-board-chip{display:inline-block;padding:2px 7px;border:1px solid #D9E5EB;border-radius:999px;background:#F8FBFC;color:#1B5A7A;font-size:10px;font-weight:650;line-height:1.3}
.cwb-active-filters{margin:0 0 14px;padding:10px;border:1px solid #E4E9ED;border-radius:8px;background:#F8FBFC}
.cwb-active-filters[hidden]{display:none!important}
.cwb-active-filters-label{margin:0 0 6px;color:#667085;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cwb-active-filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.cwb-active-filter-chip{display:inline-block;padding:3px 8px;border:1px solid #D0D5DD;border-radius:999px;background:#fff;color:#344054;font-size:11px;line-height:1.3}
.cwb-active-filter-chip.is-more{border-style:dashed;color:#667085}
.caribico-wb-filters.has-active-filters{border-color:#C9DDE7!important}
#cwb-reset-filters.is-emphasized{color:#B42318;font-weight:700}
.caribico-wb-filters .caribico-wb-filter select{height:42px;font-size:13px}
.caribico-wb-filters .cwb-filter-header{margin-bottom:14px}
.cwb-user-menu-panel{width:300px;padding:0 0 6px}
.cwb-user-menu-heading{padding:14px 16px 12px;text-align:left;background:#F8FAFB}
.cwb-user-menu-heading strong{font-size:14px}
.cwb-user-menu-agency{margin-top:3px;color:#101828!important;font-size:12px!important;font-weight:650}
.cwb-user-menu-role{margin-top:2px;color:#667085!important;font-size:11px!important}
.cwb-user-menu-section{margin:10px 16px 4px;color:#667085;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cwb-user-menu-finance{font-weight:650}
.cwb-user-menu-finance span{color:#1B5A7A}
@media(max-width:900px){
	#caribico-wb-booking .cwb-booking-final-actions{min-width:0;width:100%;position:static}
	.cwb-booking-status-grid,.cwb-confirmation-meta{grid-template-columns:1fr}
}

/* v1.11.28 — Agency Portal Finance Foundation. */
.cwb-portal-finance .cwb-finance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.cwb-portal-finance .cwb-finance-summary-grid--simple{grid-template-columns:repeat(2,minmax(220px,1fr));max-width:720px}
.cwb-finance-metric{padding:14px 16px;border:1px solid #E4E9ED;border-radius:10px;background:#fff}
.cwb-finance-metric-label{display:block;margin:0 0 6px;color:#667085;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.cwb-finance-metric-value{display:block;color:#101828;font-size:24px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.cwb-finance-metric-value.is-text{font-size:16px;font-weight:700}
.cwb-finance-metric-meta{display:block;margin-top:4px;color:#667085;font-size:12px}
.cwb-finance-metric-note{display:block;margin-top:8px;color:#667085;font-size:12px;line-height:1.4}
.cwb-finance-guidance{margin:0 0 16px;padding:14px 16px;border:1px solid #D9E5EB;border-radius:10px;background:#F8FBFC}
.cwb-finance-guidance h2{margin:0 0 8px;font-size:14px}
.cwb-finance-guidance ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cwb-finance-guidance li{display:grid;gap:2px}
.cwb-finance-guidance li strong{font-size:13px;color:#101828}
.cwb-finance-guidance li span{font-size:13px;color:#344054}
.cwb-finance-guidance-note{margin:10px 0 0;color:#667085;font-size:12px}
.cwb-finance-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.cwb-finance-toolbar select{min-height:36px;border:1px solid #D0D5DD;border-radius:8px;padding:0 10px;background:#fff}
.cwb-finance-table-wrap{overflow:auto;border:1px solid #E4E9ED;border-radius:10px;background:#fff}
.cwb-finance-ledger-table{width:100%;border-collapse:collapse;font-size:13px}
.cwb-finance-ledger-table th,.cwb-finance-ledger-table td{padding:10px 12px;border-bottom:1px solid #EEF1F4;text-align:left;vertical-align:top}
.cwb-finance-ledger-table th{color:#667085;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#F8FAFB}
.cwb-finance-ledger-table .is-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.cwb-finance-ledger-table .is-debit{color:#B42318}
.cwb-finance-ledger-table .is-credit{color:#027A48}
.cwb-finance-type{font-weight:650}
.cwb-finance-status{text-transform:capitalize}
.cwb-finance-booking-link{border:0;background:transparent;color:#1B5A7A;font:650 13px/1.2 inherit;cursor:pointer;padding:0}
.cwb-finance-bookings-jump{margin-left:8px;color:#667085;font-size:12px}
.cwb-finance-booking-detail{margin:0 0 12px}
.cwb-finance-booking-card{padding:14px 16px;border:1px solid #C9DDE7;border-radius:10px;background:#F2F7FA}
.cwb-finance-booking-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cwb-finance-booking-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 0}
.cwb-finance-booking-facts dt{margin:0;color:#667085;font-size:10px;font-weight:700;text-transform:uppercase}
.cwb-finance-booking-facts dd{margin:3px 0 0;font-size:14px;font-weight:700}
.cwb-finance-empty-copy,.cwb-finance-empty-row td{color:#667085}
@media(max-width:1100px){.cwb-portal-finance .cwb-finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cwb-finance-booking-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cwb-portal-finance .cwb-finance-summary-grid,.cwb-finance-booking-facts{grid-template-columns:1fr}.cwb-finance-toolbar{flex-wrap:wrap}}


/* v1.11.29 — Agency Portal Dashboard Foundation. */
.caribico-wb-app[data-view="dashboard"]{background:#F6F8FA;max-width:1280px!important}
.caribico-wb-app[data-view="dashboard"] .cwb-results-layout{display:grid!important;grid-template-columns:1fr!important}
.caribico-wb-app[data-view="dashboard"] .caribico-wb-filters,.caribico-wb-app[data-view="dashboard"] .cwb-results-toolbar{display:none!important}
.caribico-wb-app[data-view="dashboard"] #caribico-wb-results-region{background:#F6F8FA}
.caribico-wb-app:not(.has-results):not(.is-searching)[data-view="dashboard"] .cwb-results-layout{display:grid!important}
.cwb-portal-dashboard .cwb-dashboard-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.cwb-dashboard-summary,.cwb-dashboard-finance,.cwb-dashboard-recent{margin:0 0 18px;padding:16px;border:1px solid #E4E9ED;border-radius:10px;background:#fff}
.cwb-dashboard-summary h2,.cwb-dashboard-finance h2,.cwb-dashboard-recent h2{margin:0 0 12px;font-size:16px}
.cwb-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cwb-dashboard-metrics-finance{grid-template-columns:repeat(3,minmax(0,1fr))}
.cwb-dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.cwb-dashboard-section-head h2{margin:0}
.cwb-dashboard-section-head a{color:#1B5A7A;font-size:13px;font-weight:650;text-decoration:none}
.cwb-dashboard-empty{margin:0;color:#667085;font-size:13px}
.cwb-dashboard-bookings-table .caribico-wb-btn{min-height:30px;height:30px;padding:0 10px;font-size:11px}
.cwb-dashboard-detail-panel{margin:0 0 18px}
.cwb-dashboard-detail-card{padding:16px;border:1px solid #C9DDE7;border-radius:10px;background:#F8FBFC}
.cwb-dashboard-detail-card h3{margin:0 0 10px;font-size:16px}
.cwb-dashboard-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cwb-dashboard-detail-grid dt{margin:0;color:#667085;font-size:10px;font-weight:700;text-transform:uppercase}
.cwb-dashboard-detail-grid dd{margin:3px 0 0;font-size:13px;font-weight:650;color:#101828}
.cwb-dashboard-detail-actions{margin-top:12px;display:flex;gap:8px}
@media(max-width:900px){.cwb-dashboard-metrics,.cwb-dashboard-metrics-finance,.cwb-dashboard-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cwb-dashboard-metrics,.cwb-dashboard-metrics-finance,.cwb-dashboard-detail-grid{grid-template-columns:1fr}}

/* v1.11.30 — Agency My Bookings Search & Filtering Foundation. */
.cwb-bookings-toolbar{display:flex;flex-direction:column;gap:10px!important;margin:0 0 16px;padding:14px 16px;border:1px solid #E4E9ED;border-radius:10px;background:#fff}
.cwb-bookings-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cwb-bookings-toolbar-primary #cwb-bookings-search{flex:1 1 240px;min-width:200px;min-height:36px;border:1px solid #D0D5DD;border-radius:8px!important;padding:0 12px!important;background:#fff}
.cwb-bookings-toolbar select,.cwb-bookings-toolbar input[type="date"]{min-height:36px;border:1px solid #D0D5DD;border-radius:8px!important;padding:0 10px;background:#fff;font-size:13px}
.cwb-bookings-filter-label,.cwb-bookings-filter-group-label{color:#667085;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.cwb-bookings-date-sep{color:#98A2B3;font-size:13px}
.cwb-bookings-clear{min-height:36px!important;margin-left:auto}
.cwb-bookings-table{display:flex;flex-direction:column;gap:8px}
/* v1.38.12 — Hotel/Guest ~+80px vs pre-1.38.11; Reference→Hotel ~25px closer. */
.cwb-bookings-table-head,.cwb-booking-card{display:grid;grid-template-columns:minmax(100px,.48fr) minmax(356px,2.55fr) minmax(140px,1.1fr) minmax(84px,.6fr) 44px 44px 84px;gap:10px;align-items:center}
.cwb-bookings-table-head{padding:0 14px 6px;color:#667085;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cwb-booking-card{padding:12px 14px;border:1px solid #E4E9ED;border-radius:9px;background:#fff}
.cwb-booking-card.is-urgent{border-color:#FEC84B;background:#FFFCF5;box-shadow:inset 3px 0 0 #F79009}
/* v1.38.9 — scheduled auto-cancellation: light pink row (actions unchanged). */
.cwb-booking-card.is-auto-cancellation{background:#FFF5F5;border-color:#FECACA}
/* v1.11.73 — cancelled bookings are visually muted; cancellation status icon
   stays fully visible and OPEN remains active. Presentation only. */
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-ref,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-property,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-stay,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-amount,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-actions{opacity:.55}
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-payment,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-status{opacity:1}
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-actions:hover,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-actions:focus-within{opacity:1}
/* v1.38.10 — calm B2B list typography (no heavy bold on card text). */
.cwb-booking-card-ref .cwb-booking-ref-code{display:block;color:#344054;font-size:13px;font-weight:400;line-height:1.25;letter-spacing:.01em}
.cwb-booking-card-ref{min-width:0;max-width:100%;overflow:hidden}
.cwb-booking-card-ref .cwb-booking-agency-name{display:block;margin:3px 0 0;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap;color:#667085;font-size:12px;font-weight:400;line-height:1.3;text-transform:none}
.cwb-booking-property strong{display:block;color:#101828;font-size:13px;font-weight:500;line-height:1.25}
.cwb-booking-card-stay strong,.cwb-booking-card-amount strong{display:block;color:#101828;font-size:13px;font-weight:500;line-height:1.25}
.cwb-booking-card-stay strong{font-weight:400}
.cwb-booking-property p,.cwb-booking-card-stay p{margin:3px 0 0;color:#667085;font-size:12px;font-weight:400;line-height:1.3}
.cwb-booking-urgent-flag{display:inline-block;margin-top:4px;color:#B54708;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.cwb-booking-payment-badge,.cwb-booking-status{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}
.cwb-booking-payment-badge.is-funded{background:#ECFDF3;color:#027A48}
.cwb-booking-payment-badge.is-manual{background:#FEF0C7;color:#B54708}
.cwb-booking-payment-badge.is-insufficient{background:#FEF3F2;color:#B42318}
.cwb-booking-payment-badge.is-unknown{background:#F2F4F7;color:#475467}
.cwb-booking-status.is-bucket-confirmed{background:#ECFDF3;color:#027A48}
.cwb-booking-status.is-bucket-pending{background:#FEF0C7;color:#B54708}
.cwb-booking-status.is-bucket-cancelled{background:#F2F4F7;color:#475467}
.cwb-booking-status.is-bucket-failed{background:#FEF3F2;color:#B42318}
.cwb-booking-card-actions{justify-self:end}
.cwb-bookings-message strong{display:block;margin:0;color:#344054}
@media(max-width:1100px){
	.cwb-bookings-table-head{display:none}
	.cwb-booking-card{grid-template-columns:1fr 1fr;gap:10px}
	.cwb-booking-card-actions{grid-column:1 / -1;justify-self:start}
}
@media(max-width:700px){
	.cwb-bookings-toolbar-row{flex-direction:column;align-items:stretch}
	.cwb-bookings-clear{margin-left:0;width:100%}
	.cwb-booking-card{grid-template-columns:1fr}
}

/* v1.11.33 — Agency Portal status visualization (icons + tone system). */
.caribico-wb-app .cwb-status-pill,
.cwb-agent-bookings .cwb-status-pill,
.cwb-finance-page .cwb-status-pill,
.cwb-dashboard-page .cwb-status-pill,
.cwb-booking-detail .cwb-status-pill{
	display:inline-flex!important;
	align-items:center;
	gap:5px;
	min-height:22px;
	padding:3px 8px!important;
	border-radius:999px!important;
	border:1px solid transparent!important;
	background:#F2F4F7!important;
	color:#475467!important;
	font-size:11px!important;
	font-weight:700!important;
	letter-spacing:.01em!important;
	text-transform:none!important;
	line-height:1.2;
	white-space:nowrap;
	cursor:default;
	vertical-align:middle;
}
.caribico-wb-app .cwb-status-pill.is-lg,
.cwb-booking-detail .cwb-status-pill.is-lg{min-height:28px;padding:5px 10px!important;font-size:12px!important}
.caribico-wb-app .cwb-status-pill-icon,
.cwb-agent-bookings .cwb-status-pill-icon,
.cwb-finance-page .cwb-status-pill-icon,
.cwb-dashboard-page .cwb-status-pill-icon,
.cwb-booking-detail .cwb-status-pill-icon{
	display:inline-flex;
	flex:0 0 auto;
	width:14px;
	height:14px;
	color:inherit;
}
.caribico-wb-app .cwb-status-pill.is-lg .cwb-status-pill-icon{width:16px;height:16px}
.caribico-wb-app .cwb-status-pill-icon svg{display:block;width:100%;height:100%}
.caribico-wb-app .cwb-status-pill-label{line-height:1}
.caribico-wb-app .cwb-status-pill.is-success{background:#ECFDF3!important;color:#027A48!important;border-color:#A6F4C5!important}
.caribico-wb-app .cwb-status-pill.is-attention{background:#FFFAEB!important;color:#B54708!important;border-color:#FEDF89!important}
.caribico-wb-app .cwb-status-pill.is-critical{background:#FEF3F2!important;color:#B42318!important;border-color:#FECDCA!important}
.caribico-wb-app .cwb-status-pill.is-neutral{background:#F2F4F7!important;color:#475467!important;border-color:#D0D5DD!important}
.caribico-wb-app .cwb-status-pill.is-info{background:#EFF8FF!important;color:#175CD3!important;border-color:#B2DDFF!important}
.caribico-wb-app .cwb-status-pill.is-icon-only,
.cwb-agent-bookings .cwb-status-pill.is-icon-only{
	width:28px;
	height:28px;
	min-height:28px!important;
	padding:0!important;
	justify-content:center;
	gap:0;
	border-radius:50%!important;
	position:relative;
}
.caribico-wb-app .cwb-status-pill.is-icon-only .cwb-status-pill-icon{width:18px;height:18px}
/* v1.38.12 — compact hover tooltips for Booking List status icons (desktop hover only). */
@media (hover:hover) and (pointer:fine){
	.cwb-agent-bookings .cwb-booking-card .cwb-status-pill.is-icon-only[data-tooltip]:not([data-tooltip=""])::after{
		content:attr(data-tooltip);
		position:absolute;
		left:50%;
		bottom:calc(100% + 6px);
		transform:translateX(-50%) translateY(2px);
		z-index:40;
		box-sizing:border-box;
		max-width:160px;
		padding:4px 8px;
		border:1px solid #D0D5DD;
		border-radius:6px;
		background:#101828;
		color:#fff;
		font-size:11px;
		font-weight:500;
		letter-spacing:.01em;
		line-height:1.25;
		white-space:nowrap;
		box-shadow:0 6px 16px rgba(16,24,40,.18);
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transition:opacity .12s ease,visibility .12s ease,transform .12s ease;
	}
	.cwb-agent-bookings .cwb-booking-card .cwb-status-pill.is-icon-only[data-tooltip]:not([data-tooltip=""]):hover::after,
	.cwb-agent-bookings .cwb-booking-card .cwb-status-pill.is-icon-only[data-tooltip]:not([data-tooltip=""]):focus-visible::after{
		opacity:1;
		visibility:visible;
		transform:translateX(-50%) translateY(0);
	}
}
.cwb-bookings-legend{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	justify-content:center;
	gap:8px 10px;
	width:fit-content;
	max-width:100%;
	margin:16px auto 12px;
	padding:7px 12px;
	border:1px solid var(--cwb-portal-border,#E4E9ED);
	border-radius:var(--cwb-portal-radius-sm,8px);
	background:#fff;
	box-sizing:border-box;
	overflow-x:auto;
}
.cwb-bookings-legend-title{
	display:inline-block;
	margin:0;
	flex:0 0 auto;
	color:var(--cwb-portal-secondary,#667085);
	font-size:9px;
	font-weight:750;
	letter-spacing:.04em;
	text-transform:uppercase;
	white-space:nowrap;
}
.cwb-bookings-legend-list{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	justify-content:center;
	gap:6px 12px;
	width:fit-content;
	max-width:none;
	margin:0;
	padding:0;
	list-style:none;
}
.cwb-bookings-legend-list li{
	display:inline-flex;
	align-items:center;
	gap:5px;
	width:auto;
	flex:0 0 auto;
	color:var(--cwb-portal-text,#101828);
	font-size:10px;
	font-weight:500;
	line-height:1.2;
	white-space:nowrap;
}
.cwb-bookings-legend-list .cwb-status-pill.is-icon-only{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:18px;
	height:18px;
	min-width:18px;
	min-height:18px!important;
	flex:0 0 18px;
}
.cwb-bookings-legend-list .cwb-status-pill.is-icon-only .cwb-status-pill-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:11px;
	height:11px;
}
.cwb-bookings-legend-list .cwb-status-pill.is-icon-only .cwb-status-pill-icon svg{
	display:block;
	width:100%;
	height:100%;
}
.cwb-booking-detail-status-wrap{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
/* v1.11.65 — Booking Details header: plain colored status text (no pill). */
.cwb-booking-detail .cwb-booking-detail-status-wrap .cwb-booking-detail-status-text{
	display:inline-block!important;
	padding:0!important;
	margin:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	font-size:12px!important;
	font-weight:800!important;
	letter-spacing:.05em!important;
	text-transform:uppercase!important;
	line-height:1.2!important;
}
.cwb-booking-detail .cwb-booking-detail-status-wrap .cwb-booking-detail-status-text::before,
.cwb-booking-detail .cwb-booking-detail-status-wrap .cwb-booking-detail-status-text .cwb-status-pill-icon{display:none!important}
.cwb-booking-detail .cwb-booking-detail-status-text.is-confirmed{color:#027A48!important}
.cwb-booking-detail .cwb-booking-detail-status-text.is-pending{color:#B54708!important}
.cwb-booking-detail .cwb-booking-detail-status-text.is-cancelled{color:#B42318!important}
.cwb-booking-detail .cwb-booking-detail-status-text.is-needs_attention{color:#B54708!important}
.cwb-booking-detail .cwb-booking-detail-status-text.is-penalty{color:#5B2C83!important}
/* v1.20.6 — Manual Request details: pending request framing, not confirmed booking. */
.cwb-booking-detail .cwb-booking-detail-status-text.is-request{color:#B54708!important}
.cwb-booking-detail.is-manual-request{
	background:#FFFCF5!important;
	border:1px solid #FDE68A!important;
}
.cwb-booking-detail.is-manual-request .cwb-booking-detail-head{
	padding-bottom:12px!important;
	border-bottom:1px solid #FDE68A!important;
}
.cwb-booking-detail.is-manual-request .cwb-agent-bookings-eyebrow{
	color:#B54708!important;
}
/* v1.20.10 — Manual Request actions sit beside Agency sell amount (horizontal, compact). */
/* v1.20.15 — strip fact-cell chrome (border/bg/padding) around action buttons only. */
.cwb-booking-detail-facts > .cwb-manual-request-actions-cell{
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	padding:0!important;
	margin:0!important;
	align-self:start;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:0;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	background:transparent;
	border:0;
	padding:0;
	margin:0;
	box-shadow:none;
}
/* Cancel Request + Send Reminder — matched filled CTAs (red / yellow). */
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-cancel-manual-request,
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-manual-confirmation-reminder--actions{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:6px!important;
	box-sizing:border-box!important;
	min-height:32px!important;
	height:32px!important;
	padding:0 14px!important;
	font-size:11px!important;
	font-weight:700!important;
	letter-spacing:.04em;
	text-transform:uppercase;
	line-height:1;
	width:auto!important;
	min-width:0!important;
	max-width:max-content!important;
	flex:0 0 auto!important;
	white-space:nowrap;
	border-radius:var(--cwb-portal-radius-sm)!important;
	vertical-align:middle;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-cancel-manual-request{
	border:1px solid #B42318!important;
	color:#fff!important;
	background:#B42318!important;
	box-shadow:0 1px 2px rgba(180,35,24,.18),0 2px 6px rgba(16,24,40,.06)!important;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-manual-confirmation-reminder--actions{
	border:1px solid #F79009!important;
	color:#fff!important;
	background:#F79009!important;
	box-shadow:0 1px 2px rgba(247,144,9,.22),0 2px 6px rgba(16,24,40,.06)!important;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-cancel-manual-request:hover,
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-cancel-manual-request:focus{
	border-color:#9B1C14!important;
	color:#fff!important;
	background:#9B1C14!important;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-manual-confirmation-reminder--actions:hover,
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions .cwb-manual-confirmation-reminder--actions:focus{
	border-color:#DC6803!important;
	color:#fff!important;
	background:#DC6803!important;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-reminder-status{
	margin:14px 0 0;
	font-size:11px;
	line-height:1.45;
	color:#667085;
	width:100%;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-reminder-status span{
	color:#667085;
}
.cwb-booking-detail.is-manual-request .cwb-manual-request-actions-cell .cwb-manual-request-cancel-result,
.cwb-booking-detail.is-manual-request .cwb-manual-request-cancel-box .cwb-manual-request-cancel-result{
	margin-top:8px;
	font-size:11px;
	color:#667085;
}
/* v1.20.8 — cancelled Manual Request archive presentation. */
.cwb-booking-detail.is-manual-request-archived{
	background:#F2F4F7!important;
	border:1px solid #D0D5DD!important;
}
.cwb-booking-detail.is-manual-request-archived .cwb-booking-detail-head{
	padding-bottom:12px!important;
	border-bottom:1px solid #D0D5DD!important;
}
.cwb-booking-detail.is-manual-request-archived .cwb-agent-bookings-eyebrow,
.cwb-booking-detail.is-manual-request-archived .cwb-booking-detail-status-text.is-cancelled{
	color:#667085!important;
}
.cwb-booking-detail.is-manual-request-archived .cwb-booking-detail-facts > div,
.cwb-booking-detail.is-manual-request-archived .cwb-booking-guest-summary,
.cwb-booking-detail.is-manual-request-archived .cwb-booking-detail-notes p{
	opacity:.88;
}
.cwb-booking-detail.is-manual-request-archived .cwb-detail-cancel-policy.is-manual-request-archived{
	background:#ECEFF3!important;
	border-color:#D0D5DD!important;
}
.cwb-booking-payment-badge.is-insufficient{background:#FFFAEB;color:#B54708}
.cwb-booking-status-item.is-manual{border-color:#F2E6C9;background:#FFFCF5}
@media(max-width:700px){
	.caribico-wb-app .cwb-status-pill{white-space:normal;max-width:100%}
	.cwb-booking-detail-status-wrap{justify-content:flex-start;margin-top:8px}
}

/* v1.11.34 — Agency Portal UI Polish & Visual Refinement (presentation only). */
:root{
	--cwb-portal-max:1180px;
	--cwb-portal-radius:10px;
	--cwb-portal-radius-sm:8px;
	--cwb-portal-border:#E4E9ED;
	--cwb-portal-border-strong:#D0D5DD;
	--cwb-portal-surface:#fff;
	--cwb-portal-muted:#F8FAFB;
	--cwb-portal-text:#101828;
	--cwb-portal-secondary:#667085;
	--cwb-portal-gap:16px;
	--cwb-portal-pad:16px 18px;
	--cwb-portal-shadow:0 1px 2px rgba(16,24,40,.04);
	--cwb-portal-control-h:36px;
}

/* —— Global portal shell —— */
.caribico-wb-app[data-view="dashboard"],
.caribico-wb-app[data-view="bookings"],
.caribico-wb-app[data-view="finance"],
.caribico-wb-app[data-view="agency"]{
	background:var(--cwb-page)!important;
	max-width:1360px!important;
	padding:0 20px 40px!important;
	box-sizing:border-box!important;
}
.caribico-wb-app[data-view="dashboard"] #caribico-wb-results-region,
.caribico-wb-app[data-view="bookings"] #caribico-wb-results-region,
.caribico-wb-app[data-view="finance"] #caribico-wb-results-region,
.caribico-wb-app[data-view="agency"] #caribico-wb-results-region{
	background:var(--cwb-page)!important;
}
.cwb-agent-bookings,
.cwb-portal-dashboard,
.cwb-portal-finance,
.cwb-portal-agency{
	max-width:var(--cwb-portal-max)!important;
	margin:0 auto!important;
	padding:12px 0 48px!important;
	box-sizing:border-box;
}
.cwb-agent-bookings-header{
	display:flex!important;
	justify-content:space-between!important;
	align-items:center!important;
	gap:20px!important;
	margin:0 0 20px!important;
	padding:0 0 16px!important;
	border-bottom:1px solid var(--cwb-portal-border)!important;
	background:transparent!important;
	box-shadow:none!important;
}
.cwb-agent-bookings-eyebrow{
	margin:0 0 4px!important;
	color:var(--cwb-primary)!important;
	font-size:11px!important;
	font-weight:800!important;
	letter-spacing:.08em!important;
	text-transform:uppercase!important;
}
.cwb-agent-bookings-header h1,
.cwb-agent-bookings-title{
	display:flex!important;
	align-items:center!important;
	gap:10px!important;
	margin:0!important;
	font-size:26px!important;
	line-height:1.2!important;
	letter-spacing:-.02em!important;
	color:var(--cwb-portal-text)!important;
	font-weight:750!important;
	background:transparent!important;
}
.cwb-agent-bookings-title-icon{
	display:inline-grid;
	place-items:center;
	width:32px;
	height:32px;
	border-radius:8px;
	background:transparent;
	color:var(--cwb-primary,#1B5A7A);
	flex:0 0 auto;
}
.cwb-agent-bookings-title-icon .cwb-icon{width:18px;height:18px}
.cwb-agent-bookings-header p{
	margin:0!important;
	max-width:54ch;
	color:var(--cwb-portal-secondary)!important;
	font-size:14px!important;
	line-height:1.45!important;
}
/* Bookings page: title only (no eyebrow / lede). */
.cwb-agent-bookings > .cwb-agent-bookings-header .cwb-agent-bookings-eyebrow,
.cwb-agent-bookings > .cwb-agent-bookings-header > div > p:not(.cwb-bookings-count){
	display:none!important;
}
.cwb-bookings-count{
	margin:0!important;
	padding:6px 12px!important;
	border:1px solid var(--cwb-portal-border)!important;
	border-radius:999px!important;
	background:var(--cwb-portal-surface)!important;
	color:var(--cwb-primary)!important;
	font-size:12px!important;
	font-weight:700!important;
	white-space:nowrap!important;
}

/* —— Shared panels / cards —— */
.cwb-dashboard-summary,
.cwb-dashboard-finance,
.cwb-dashboard-recent,
.cwb-finance-metric,
.cwb-finance-guidance,
.cwb-finance-table-wrap,
.cwb-finance-booking-card,
.cwb-dashboard-detail-card,
.cwb-bookings-toolbar,
.cwb-booking-card,
.cwb-booking-doc-panel{
	border:1px solid var(--cwb-portal-border)!important;
	border-radius:var(--cwb-portal-radius)!important;
	background:var(--cwb-portal-surface)!important;
	box-shadow:var(--cwb-portal-shadow)!important;
}
.cwb-dashboard-summary,
.cwb-dashboard-finance,
.cwb-dashboard-recent{
	margin:0 0 var(--cwb-portal-gap)!important;
	padding:var(--cwb-portal-pad)!important;
}
.cwb-dashboard-summary h2,
.cwb-dashboard-finance h2,
.cwb-dashboard-recent h2,
.cwb-dashboard-section-head h2,
.cwb-finance-guidance h2{
	margin:0 0 12px!important;
	color:var(--cwb-portal-text)!important;
	font-size:15px!important;
	font-weight:750!important;
	letter-spacing:-.01em!important;
}
.cwb-dashboard-section-head{
	margin:0 0 14px!important;
	padding-bottom:10px!important;
	border-bottom:1px solid #EEF1F4!important;
}
.cwb-dashboard-section-head a{
	color:var(--cwb-primary)!important;
	font-size:13px!important;
	font-weight:650!important;
	text-decoration:none!important;
}
.cwb-dashboard-section-head a:hover{text-decoration:underline!important}
.cwb-dashboard-actions{gap:10px!important;margin:0 0 18px!important}
.cwb-dashboard-metrics{gap:12px!important}
.cwb-finance-metric{
	padding:14px 16px!important;
	min-height:92px;
	box-sizing:border-box;
}
.cwb-finance-metric-label{
	margin:0 0 8px!important;
	color:var(--cwb-portal-secondary)!important;
	font-size:11px!important;
	font-weight:700!important;
	letter-spacing:.04em!important;
	text-transform:uppercase!important;
}
.cwb-finance-metric-value{
	color:var(--cwb-portal-text)!important;
	font-size:26px!important;
	font-weight:800!important;
	letter-spacing:-.02em!important;
	font-variant-numeric:tabular-nums!important;
}
.cwb-portal-finance .cwb-finance-summary-grid .cwb-finance-metric:first-child{
	border-color:var(--cwb-primary-border)!important;
	background:linear-gradient(180deg,#F8FBFC 0%,#fff 70%)!important;
}
.cwb-portal-finance .cwb-finance-summary-grid .cwb-finance-metric:first-child .cwb-finance-metric-value{
	color:var(--cwb-primary)!important;
	font-size:28px!important;
}
.cwb-finance-guidance{
	margin:0 0 var(--cwb-portal-gap)!important;
	padding:var(--cwb-portal-pad)!important;
	background:var(--cwb-portal-muted)!important;
}
.cwb-finance-table-wrap{
	overflow:auto!important;
	-webkit-overflow-scrolling:touch;
}
.cwb-finance-ledger-table th{
	position:sticky;
	top:0;
	z-index:1;
	background:var(--cwb-portal-muted)!important;
}
.cwb-finance-ledger-table th,
.cwb-finance-ledger-table td{
	padding:12px 14px!important;
	vertical-align:middle!important;
}
.cwb-finance-ledger-table tbody tr:hover td{background:#FCFDFD}
.cwb-finance-ledger-table .is-num{
	font-variant-numeric:tabular-nums!important;
	font-weight:750!important;
	white-space:nowrap;
}
.cwb-finance-toolbar{
	display:flex!important;
	align-items:center!important;
	gap:10px!important;
	margin:0 0 12px!important;
	padding:10px 12px!important;
	border:1px solid var(--cwb-portal-border)!important;
	border-radius:var(--cwb-portal-radius)!important;
	background:var(--cwb-portal-surface)!important;
}
.cwb-finance-toolbar select{
	min-height:var(--cwb-portal-control-h)!important;
	border:1px solid var(--cwb-portal-border-strong)!important;
	border-radius:var(--cwb-portal-radius-sm)!important;
	padding:0 12px!important;
	background:#fff!important;
	font-size:13px!important;
}

/* —— Button hierarchy (portal surfaces) —— */
.caribico-wb-app[data-view="dashboard"] .caribico-wb-btn,
.caribico-wb-app[data-view="bookings"] .caribico-wb-btn,
.caribico-wb-app[data-view="finance"] .caribico-wb-btn,
.caribico-wb-app[data-view="agency"] .caribico-wb-btn,
.cwb-agent-bookings .caribico-wb-btn,
.cwb-booking-detail .caribico-wb-btn{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:var(--cwb-portal-control-h)!important;
	height:auto!important;
	padding:0 14px!important;
	border-radius:var(--cwb-portal-radius-sm)!important;
	font-size:13px!important;
	font-weight:650!important;
	letter-spacing:.01em!important;
	line-height:1.2!important;
	box-shadow:none!important;
	transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease!important;
}
.caribico-wb-app[data-view="dashboard"] .caribico-wb-btn-primary,
.caribico-wb-app[data-view="bookings"] .caribico-wb-btn-primary,
.caribico-wb-app[data-view="finance"] .caribico-wb-btn-primary,
.cwb-agent-bookings .caribico-wb-btn-primary,
.cwb-booking-detail .caribico-wb-btn-primary,
.cwb-view-booking.caribico-wb-btn-primary,
.cwb-dashboard-view-booking.caribico-wb-btn-primary{
	background:var(--cwb-primary)!important;
	border:1px solid var(--cwb-primary)!important;
	color:#fff!important;
}
.caribico-wb-app[data-view="dashboard"] .caribico-wb-btn-primary:hover,
.caribico-wb-app[data-view="bookings"] .caribico-wb-btn-primary:hover,
.cwb-agent-bookings .caribico-wb-btn-primary:hover,
.cwb-view-booking.caribico-wb-btn-primary:hover,
.cwb-dashboard-view-booking.caribico-wb-btn-primary:hover{
	background:var(--cwb-primary-hover)!important;
	border-color:var(--cwb-primary-hover)!important;
	color:#fff!important;
}
.caribico-wb-app[data-view="dashboard"] .caribico-wb-btn-secondary,
.caribico-wb-app[data-view="bookings"] .caribico-wb-btn-secondary,
.caribico-wb-app[data-view="finance"] .caribico-wb-btn-secondary,
.cwb-agent-bookings .caribico-wb-btn-secondary,
.cwb-bookings-clear{
	background:#fff!important;
	border:1px solid var(--cwb-portal-border-strong)!important;
	color:var(--cwb-primary)!important;
}
.caribico-wb-app[data-view="dashboard"] .caribico-wb-btn-secondary:hover,
.caribico-wb-app[data-view="bookings"] .caribico-wb-btn-secondary:hover,
.cwb-bookings-clear:hover{
	background:var(--cwb-primary-light)!important;
	border-color:var(--cwb-primary)!important;
}
.caribico-wb-app[data-view="dashboard"] .caribico-wb-btn:disabled,
.caribico-wb-app[data-view="bookings"] .caribico-wb-btn:disabled,
.caribico-wb-app[data-view="finance"] .caribico-wb-btn:disabled,
.cwb-agent-bookings .caribico-wb-btn:disabled,
.cwb-booking-detail .caribico-wb-btn:disabled{
	opacity:.45!important;
	cursor:not-allowed!important;
	pointer-events:none!important;
}
/* Dashboard table OPEN — separate from bookings-list .cwb-view-booking (see canonical rule below). */
.cwb-dashboard-bookings-table .cwb-dashboard-view-booking{
	min-width:72px!important;
	min-height:32px!important;
	padding:0 12px!important;
	font-size:12px!important;
	font-weight:700!important;
}

/* —— My Bookings filters —— */
.cwb-bookings-toolbar{
	display:flex!important;
	flex-direction:column!important;
	gap:12px!important;
	margin:0 0 var(--cwb-portal-gap)!important;
	padding:14px 16px!important;
}
.cwb-bookings-toolbar-row{
	display:flex!important;
	flex-wrap:wrap!important;
	align-items:center!important;
	gap:8px 10px!important;
}
.cwb-bookings-toolbar-primary #cwb-bookings-search{
	flex:1 1 260px!important;
	min-width:220px!important;
	min-height:var(--cwb-portal-control-h)!important;
	border:1px solid var(--cwb-portal-border-strong)!important;
	border-radius:var(--cwb-portal-radius-sm)!important;
	padding:0 12px!important;
	background:#fff!important;
	font-size:13px!important;
	box-shadow:none!important;
}
.cwb-bookings-toolbar-primary #cwb-bookings-search:focus,
.cwb-bookings-toolbar select:focus,
.cwb-bookings-toolbar input[type="date"]:focus,
.cwb-finance-toolbar select:focus{
	outline:3px solid rgba(27,90,122,.14)!important;
	border-color:var(--cwb-primary)!important;
}
.cwb-bookings-toolbar select,
.cwb-bookings-toolbar input[type="date"]{
	min-height:var(--cwb-portal-control-h)!important;
	border:1px solid var(--cwb-portal-border-strong)!important;
	border-radius:var(--cwb-portal-radius-sm)!important;
	padding:0 10px!important;
	background:#fff!important;
	font-size:13px!important;
	color:var(--cwb-portal-text)!important;
}
.cwb-bookings-filter-label,
.cwb-bookings-filter-group-label{
	color:var(--cwb-portal-secondary)!important;
	font-size:10px!important;
	font-weight:750!important;
	letter-spacing:.04em!important;
	text-transform:uppercase!important;
}
.cwb-bookings-clear{margin-left:auto!important}

/* —— My Bookings table (v1.11.44 restore Reference / Hotel / Guest / Stay / Amount / icons) —— */
.cwb-bookings-table{gap:8px!important;overflow-x:hidden!important}
.cwb-bookings-table-head,
.cwb-booking-card{
	display:grid!important;
	grid-template-columns:minmax(100px,.48fr) minmax(356px,2.55fr) minmax(140px,1.1fr) minmax(84px,.6fr) 44px 44px 84px!important;
	gap:10px!important;
	align-items:center!important;
	overflow:visible!important;
}
/* Pull Hotel/Guest closer to Reference without shifting Stay/Amount/Open tracks.
   v1.38.13 — ease pull by ~7px so Reference and hotel name stay visually separate. */
.cwb-bookings-table-head > :nth-child(2),
.cwb-booking-card > .cwb-booking-property{
	margin-left:-18px!important;
	width:calc(100% + 18px)!important;
	max-width:none!important;
	min-width:0!important;
	box-sizing:border-box!important;
}
.cwb-booking-card-payment,
.cwb-booking-card-status{
	overflow:visible!important;
	z-index:1;
}
.cwb-booking-card:hover .cwb-booking-card-payment,
.cwb-booking-card:hover .cwb-booking-card-status{
	z-index:2;
}
.cwb-bookings-table-head{
	padding:0 14px 8px!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--cwb-portal-secondary)!important;
	font-size:10px!important;
	font-weight:750!important;
	letter-spacing:.04em!important;
	text-transform:uppercase!important;
}
.cwb-booking-card{
	min-height:60px;
	padding:10px 14px!important;
	box-sizing:border-box;
	border-radius:9px!important;
}
/* v1.20.5 — subtle status background accents (~10–15% intensity). */
.cwb-booking-card[data-status-tone="manual-request"]{
	background:#FFFBEB!important;
	border-color:#FDE68A!important;
}
.cwb-booking-card[data-status-tone="payment-pending"]{
	background:#EFF8FF!important;
	border-color:#B2DDFF!important;
}
.cwb-booking-card[data-status-tone="confirmed"]{
	background:#F6FEF9!important;
	border-color:#A6F4C5!important;
}
/* Cancelled cards: muted grey; active status colours cleared. Penalty icon stays red. */
.cwb-booking-card[data-status-tone="cancelled-penalty"],
.cwb-booking-card[data-status-tone="cancelled-free"]{
	background:#F9FAFB!important;
	border-color:#E4E7EC!important;
}
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-ref,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-property,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-stay,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-amount,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-actions,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-ref,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-property,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-stay,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-amount,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-actions{
	opacity:.72;
	color:#667085;
}
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-ref .cwb-booking-ref-code,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-property strong,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-stay strong,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-amount strong,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-ref .cwb-booking-ref-code,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-property strong,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-stay strong,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-amount strong{
	color:#475467!important;
}
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-status,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-status,
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-booking-card-payment,
.cwb-booking-card[data-status-tone="cancelled-free"] .cwb-booking-card-payment,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-payment,
.cwb-booking-card[data-status-bucket="cancelled"] .cwb-booking-card-status{
	opacity:1!important;
	isolation:isolate;
	filter:none!important;
}
/* Cancelled X: one shared component look in both columns (grey/opacity/border/size). */
.cwb-booking-card .cwb-status-cancelled.is-icon-only{
	opacity:1!important;
	color:#475467!important;
	background:#F2F4F7!important;
	border:1px solid #D0D5DD!important;
	width:28px!important;
	height:28px!important;
	min-width:28px!important;
	min-height:28px!important;
	max-width:28px!important;
	max-height:28px!important;
	padding:0!important;
	margin:0!important;
	flex:0 0 28px!important;
	box-shadow:none!important;
	filter:none!important;
	-webkit-filter:none!important;
	mix-blend-mode:normal!important;
	transform:none!important;
}
.cwb-bookings-legend .cwb-status-cancelled.is-icon-only{
	opacity:1!important;
	color:#475467!important;
	background:#F2F4F7!important;
	border:1px solid #D0D5DD!important;
	box-shadow:none!important;
	filter:none!important;
}
.cwb-booking-card .cwb-status-cancelled.is-icon-only .cwb-status-pill-icon,
.cwb-booking-card .cwb-status-cancelled.is-icon-only svg,
.cwb-bookings-legend .cwb-status-cancelled.is-icon-only .cwb-status-pill-icon,
.cwb-bookings-legend .cwb-status-cancelled.is-icon-only svg{
	opacity:1!important;
	color:#475467!important;
	filter:none!important;
}
.cwb-booking-card .cwb-status-cancelled.is-icon-only .cwb-status-pill-icon{
	width:18px!important;
	height:18px!important;
}
.cwb-booking-card .cwb-status-cancelled.is-icon-only svg path,
.cwb-bookings-legend .cwb-status-cancelled.is-icon-only svg path{
	stroke:#475467!important;
	stroke-width:2.2!important;
	stroke-linecap:round!important;
	opacity:1!important;
	fill:none!important;
}
.cwb-booking-card[data-status-tone="cancelled-penalty"] .cwb-status-penalty{
	opacity:1!important;
}
.cwb-booking-card[data-status-tone="manual-request-archived"]{
	background:#F2F4F7!important;
	border-color:#D0D5DD!important;
}
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-card-ref,
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-property,
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-card-stay,
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-card-amount,
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-card-payment,
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-card-actions{
	opacity:.7;
}
.cwb-booking-card[data-status-tone="manual-request-archived"] .cwb-booking-card-status{
	opacity:1;
}
.cwb-booking-card.is-urgent{
	border-color:#FEC84B!important;
	background:#FFFCF5!important;
	box-shadow:inset 3px 0 0 #F79009!important;
}
.cwb-booking-card-ref{
	min-width:0!important;
	max-width:100%!important;
	overflow:hidden!important;
}
.cwb-booking-card-ref .cwb-booking-ref-code{
	display:block!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
	white-space:nowrap!important;
	color:var(--cwb-portal-secondary,#475467)!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1.25!important;
	letter-spacing:.01em!important;
}
.cwb-booking-card-ref .cwb-booking-agency-name{
	display:block!important;
	margin:3px 0 0!important;
	max-width:100%!important;
	overflow:hidden!important;
	text-overflow:clip!important;
	white-space:nowrap!important;
	color:var(--cwb-portal-secondary,#667085)!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.3!important;
	text-transform:none!important;
}
.cwb-booking-property strong{
	display:block!important;
	color:var(--cwb-portal-text)!important;
	font-size:13px!important;
	font-weight:500!important;
	line-height:1.25!important;
}
.cwb-booking-card-stay strong{
	display:block!important;
	color:var(--cwb-portal-text)!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1.25!important;
}
.cwb-booking-card-amount strong{
	display:block!important;
	color:var(--cwb-portal-text)!important;
	font-size:13px!important;
	font-weight:500!important;
	font-variant-numeric:tabular-nums!important;
	letter-spacing:-.01em!important;
	white-space:nowrap!important;
}
.cwb-booking-amount-review{
	margin:3px 0 0!important;
	color:var(--cwb-portal-secondary)!important;
	font-size:11px!important;
	font-weight:500!important;
	line-height:1.2!important;
}
.cwb-booking-property p,
.cwb-booking-card-stay p{
	margin:3px 0 0!important;
	color:var(--cwb-portal-secondary)!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.3!important;
}
.cwb-booking-urgent-flag{
	display:inline-block;
	margin-top:4px;
	color:#B54708;
	font-size:10px;
	font-weight:700;
	letter-spacing:.02em;
	text-transform:uppercase;
}
/* v1.11.71 — payment alerts are separate from booking urgent status. */
.cwb-booking-payment-flag{
	display:inline-block;
	margin-top:4px;
	color:#175CD3;
	font-size:10px;
	font-weight:700;
	letter-spacing:.02em;
	text-transform:uppercase;
}
.cwb-booking-payment-flag.is-overdue{
	color:#B54708;
}
.cwb-booking-payment-flag.is-auto-cancellation{
	color:#B42318;
	white-space:nowrap;
	letter-spacing:0.01em;
}
/* v1.20.4 — Manual Request status text only (no clock/countdown indicator). */
.cwb-booking-manual-flag{
	display:inline-flex;
	align-items:center;
	margin-top:4px;
	color:#1B5A7A;
	font-size:10px;
	font-weight:700;
	letter-spacing:.02em;
	text-transform:uppercase;
}
.cwb-booking-card-ref .cwb-booking-payment-flag+.cwb-booking-manual-flag,
.cwb-booking-card-ref .cwb-booking-urgent-flag+.cwb-booking-manual-flag{
	margin-left:8px;
}
.cwb-booking-card-payment,
.cwb-booking-card-status{
	display:flex!important;
	flex-direction:row!important;
	flex-wrap:nowrap!important;
	align-items:center!important;
	justify-content:center!important;
	gap:0!important;
	width:44px!important;
	min-width:44px!important;
	max-width:44px!important;
	box-sizing:border-box!important;
}
.cwb-booking-card-payment .cwb-status-pill.is-icon-only,
.cwb-booking-card-status .cwb-status-pill.is-icon-only{
	width:28px;
	height:28px;
	min-height:28px;
	padding:0!important;
	justify-content:center;
	border-radius:50%!important;
	flex:0 0 28px!important;
}
.cwb-booking-card-payment .cwb-status-pill.is-icon-only .cwb-status-pill-icon,
.cwb-booking-card-status .cwb-status-pill.is-icon-only .cwb-status-pill-icon{
	width:18px!important;
	height:18px!important;
}
.cwb-booking-card-actions{justify-self:end!important}
/* Canonical Bookings-list OPEN button — single non-media source of truth (do not duplicate). */
.cwb-booking-card-actions .cwb-view-booking{
	width:100%;
	min-width:72px!important;
	min-height:30px!important;
	height:30px!important;
	padding:0 10px!important;
	font-size:10px!important;
	font-weight:700!important;
	letter-spacing:.03em!important;
	text-transform:uppercase!important;
}
.cwb-bookings-message{
	padding:40px 16px!important;
	margin:0!important;
	text-align:center!important;
	color:var(--cwb-portal-secondary)!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
}
.cwb-bookings-message .cwb-bookings-empty-title,
.cwb-bookings-message strong{
	display:block;
	margin:0!important;
	color:#344054!important;
	font-size:16px!important;
	font-weight:600!important;
	line-height:1.4!important;
}
.cwb-bookings-message p{
	margin:0!important;
}
.cwb-bookings-message.is-error{
	border:0!important;
	background:transparent!important;
}
.cwb-bookings-message.is-error p{
	color:#B42318!important;
}

/* —— Booking details modal polish —— */
.cwb-booking-detail{
	border:1px solid var(--cwb-portal-border)!important;
	border-radius:14px!important;
}
.cwb-booking-detail-head{
	align-items:flex-start!important;
	gap:16px!important;
	margin-bottom:4px!important;
}
.cwb-booking-detail-facts,
.cwb-dashboard-detail-grid,
.cwb-finance-booking-facts{
	gap:12px!important;
}
.cwb-booking-detail-facts > div,
.cwb-dashboard-detail-grid > div,
.cwb-finance-booking-facts > div{
	min-width:0;
	padding:10px 12px;
	border:1px solid #EEF1F4;
	border-radius:var(--cwb-portal-radius-sm);
	background:var(--cwb-portal-muted);
}
.cwb-booking-guest-summary{
	padding:14px 16px!important;
	border:1px solid var(--cwb-portal-border)!important;
	border-radius:var(--cwb-portal-radius)!important;
	background:var(--cwb-portal-surface)!important;
}

/* —— Hotels shell alignment when used as portal entry —— */
.caribico-wb-app[data-view="results"] .cwb-search-shell,
.caribico-wb-app:not([data-view]) .cwb-search-shell,
.caribico-wb-app[data-view=""] .cwb-search-shell{
	border-radius:var(--cwb-portal-radius)!important;
}
.caribico-wb-filters{
	border-radius:var(--cwb-portal-radius)!important;
	border-color:var(--cwb-portal-border)!important;
}

/* —— Responsive —— */
@media(max-width:1100px){
	.cwb-bookings-table-head{display:none!important}
	.cwb-booking-card{
		grid-template-columns:1fr 1fr!important;
		align-items:start!important;
	}
	.cwb-booking-card-actions{
		grid-column:1 / -1!important;
		justify-self:stretch!important;
	}
	.cwb-booking-card-actions .cwb-view-booking{width:100%!important}
	.cwb-portal-finance .cwb-finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
	.caribico-wb-app[data-view="dashboard"],
	.caribico-wb-app[data-view="bookings"],
	.caribico-wb-app[data-view="finance"],
	.caribico-wb-app[data-view="agency"]{padding:0 14px 32px!important}
	.cwb-agent-bookings-header{flex-direction:column!important;align-items:flex-start!important}
	.cwb-dashboard-metrics,
	.cwb-dashboard-metrics-finance,
	.cwb-dashboard-detail-grid{grid-template-columns:1fr 1fr!important}
	.cwb-platform-header-inner{padding:0 16px!important;gap:12px!important}
	.cwb-platform-nav a{padding:0 12px!important;font-size:14px!important}
}
@media(max-width:760px){
	.cwb-bookings-toolbar-row{flex-direction:column!important;align-items:stretch!important}
	.cwb-bookings-toolbar-primary #cwb-bookings-search,
	.cwb-bookings-toolbar select,
	.cwb-bookings-toolbar input[type="date"],
	.cwb-bookings-clear,
	.cwb-finance-toolbar select{width:100%!important;max-width:none!important}
	.cwb-bookings-clear{margin-left:0!important}
	.cwb-booking-card{grid-template-columns:1fr!important}
	.cwb-portal-finance .cwb-finance-summary-grid,
	.cwb-finance-booking-facts,
	.cwb-dashboard-metrics,
	.cwb-dashboard-metrics-finance,
	.cwb-dashboard-detail-grid{grid-template-columns:1fr!important}
	.cwb-finance-ledger-table{min-width:640px}
	.cwb-booking-detail{
		width:calc(100vw - 16px)!important;
		height:calc(100vh - 16px)!important;
		max-height:none!important;
		border-radius:12px!important;
		padding:18px 16px!important;
	}
	.cwb-platform-nav{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
	.cwb-platform-nav a{flex:0 0 auto}
}
@media(max-width:600px){
	.cwb-agent-bookings-header h1{font-size:24px!important}
	.cwb-finance-metric-value{font-size:22px!important}
	.cwb-portal-finance .cwb-finance-summary-grid .cwb-finance-metric:first-child .cwb-finance-metric-value{font-size:24px!important}
}

/* v1.11.35 — Booking Request Foundation (portal presentation). */
.caribico-wb-app[data-view="booking_requests"]{background:var(--cwb-page)!important;max-width:1360px!important;padding:0 20px 40px!important;box-sizing:border-box!important}
.caribico-wb-app[data-view="booking_requests"] .cwb-results-layout{display:grid!important;grid-template-columns:1fr!important}
.caribico-wb-app[data-view="booking_requests"] .caribico-wb-filters,
.caribico-wb-app[data-view="booking_requests"] .cwb-results-toolbar{display:none!important}
.caribico-wb-app[data-view="booking_requests"] #caribico-wb-results-region{background:var(--cwb-page)!important}
.caribico-wb-app:not(.has-results):not(.is-searching)[data-view="booking_requests"] .cwb-results-layout{display:grid!important}
.cwb-portal-booking-requests .cwb-br-panel{
	margin:0 0 16px;padding:16px 18px;border:1px solid var(--cwb-portal-border,#E4E9ED);
	border-radius:var(--cwb-portal-radius,10px);background:#fff
}
.cwb-br-fieldset{margin:0 0 16px;padding:0;border:0}
.cwb-br-fieldset legend{margin:0 0 10px;font-size:13px;font-weight:750;color:#101828}
.cwb-br-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cwb-br-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cwb-br-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#344054}
.cwb-br-form input,.cwb-br-form select,.cwb-br-form textarea{
	min-height:36px;border:1px solid #D0D5DD;border-radius:8px;padding:8px 10px;font:400 13px/1.3 inherit;background:#fff
}
.cwb-br-form textarea{min-height:96px}
.cwb-br-full{grid-column:1 / -1}
.cwb-br-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cwb-br-row-btn{min-height:30px!important;padding:0 10px!important;font-size:12px!important;margin-right:4px}
.cwb-br-activity{margin:0;padding:0;list-style:none}
.cwb-br-activity li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #EEF1F4;font-size:13px}
.cwb-br-activity li strong{min-width:96px;color:#667085}
.cwb-br-notes{margin:14px 0;color:#344054;font-size:13px;line-height:1.45}
@media(max-width:760px){
	.cwb-br-grid,.cwb-br-grid-2{grid-template-columns:1fr}
	.cwb-br-table{min-width:720px}
}

/* —— Booking UX Polish (v1.11.40) —— */
/* DETAILS panel restored to v1.11.13 card grid + Guests sidebar in v1.11.61. */
.cwb-booking-detail-sections{display:flex;flex-direction:column;gap:14px}
.cwb-booking-section{padding:14px 16px;border:1px solid #EEF1F4;border-radius:10px;background:#fff}
.cwb-booking-section h3{margin:0 0 10px;font-size:13px;font-weight:750;color:#101828}
.cwb-booking-section .cwb-booking-detail-facts{margin:0}
.cwb-booking-guests-inline{list-style:none;margin:0;padding:0}
.cwb-booking-guests-inline li{display:flex;gap:8px;margin:0 0 4px;font-size:12px}
.cwb-booking-guest-summary h3{margin:0 0 10px!important;font-size:13px!important;color:#101828!important}
.cwb-booking-guests{list-style:none;margin:0 0 12px;padding:0}
.cwb-booking-guests li{display:grid;grid-template-columns:minmax(110px,130px) minmax(0,1fr);gap:8px;margin:0 0 6px;font-size:11px;align-items:baseline}
.cwb-booking-guests li span{color:#667085;text-transform:none;letter-spacing:0}
.cwb-booking-guests li strong{color:#101828;font-weight:650;text-transform:none}
.cwb-booking-contact-email{margin:0;padding-top:10px;border-top:1px solid #EEF1F4}
.cwb-booking-contact-email span{display:block;margin:0 0 3px;color:#667085;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cwb-booking-contact-email strong{display:block;color:#101828;font-size:11px;font-weight:650;text-transform:none;overflow-wrap:anywhere}
.cwb-timeline-list{list-style:none;margin:0;padding:0}
.cwb-timeline-item{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(100px,.75fr);gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid #EEF1F4}
.cwb-timeline-item:last-child{border-bottom:0}
.cwb-timeline-when{color:#667085;font-size:12px;font-variant-numeric:tabular-nums}
.cwb-timeline-body{min-width:0}
.cwb-timeline-event{font-size:14px;color:#101828;display:block}
.cwb-timeline-summary{margin-top:6px;color:#475467;font-size:12px;line-height:1.45;white-space:normal}
.cwb-timeline-actor{color:#667085;font-size:12px;text-align:right}
.cwb-status-pill.is-attention .cwb-status-pill-label{letter-spacing:.02em}
@media(max-width:760px){
	.cwb-timeline-item{grid-template-columns:1fr}
	.cwb-timeline-actor{text-align:left}
}

/* v1.11.45 — Hide hotel cards during Search Hotels loading (no flash of stale/broken cards). */
.caribico-wb-app.is-searching .caribico-wb-hotel-card,
.caribico-wb-app.is-searching .caribico-wb-empty-state{
	display:none!important;
}
.caribico-wb-results-list.is-search-loading{
	min-height:0;
	padding:0;
	border:0;
	background:transparent;
	box-shadow:none;
}

/* v1.11.46 — Hide results toolbar/layout artifact ("0 hotels found" + Sort) while searching. */
.caribico-wb-app.is-searching .cwb-results-layout{
	display:none!important;
}
.caribico-wb-app.is-searching .cwb-results-toolbar,
.caribico-wb-app.is-searching .caribico-wb-filters{
	display:none!important;
}

/* v1.11.50 — Hotel card layout clone (WebBeds reference). */
.caribico-wb-hotel-card.is-compact{
	grid-template-columns:80px minmax(0,1fr) 132px!important;
	gap:12px!important;
	padding:10px 12px!important;
	align-items:stretch!important;
	min-height:0!important;
	overflow:visible!important;
	box-shadow:none!important;
	transform:none!important;
}
.caribico-wb-hotel-card.is-compact:hover{
	transform:none!important;
	box-shadow:none!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb{
	position:relative!important;
	width:80px!important;
	height:80px!important;
	min-width:80px!important;
	min-height:80px!important;
	max-width:80px!important;
	max-height:80px!important;
	flex:0 0 80px!important;
	overflow:hidden;
	border-radius:8px!important;
	background:#EAF3F7!important;
	align-self:start!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img,
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
	width:80px!important;
	height:80px!important;
	min-width:80px!important;
	min-height:80px!important;
	max-width:80px!important;
	max-height:80px!important;
	object-fit:cover!important;
	border-radius:8px!important;
	display:block!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
	gap:2px!important;
	padding:4px!important;
	box-sizing:border-box;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder span{
	font-size:9px!important;
	line-height:1.1!important;
	font-weight:800!important;
	letter-spacing:.08em!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder small{
	font-size:8px!important;
	line-height:1.15!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-body{
	min-width:0;
	padding:0!important;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:0;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-title-row{
	display:flex!important;
	flex-wrap:wrap!important;
	align-items:center!important;
	justify-content:flex-start!important;
	gap:6px 8px!important;
	margin:0 0 2px!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-name{
	margin:0!important;
	font-size:15px!important;
	line-height:1.25!important;
	font-weight:700!important;
	color:#101828!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-rating{
	flex:0 0 auto;
	margin:0!important;
	white-space:nowrap;
	font-size:12px!important;
	line-height:1!important;
	color:#F79009!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-title-note{margin:0 0 2px}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-address{
	display:flex!important;
	flex-wrap:wrap!important;
	align-items:center!important;
	gap:2px 6px!important;
	margin:0 0 6px!important;
	font-size:12px!important;
	line-height:1.35!important;
}
.caribico-wb-hotel-card.is-compact .cwb-inline-pin{
	display:inline-flex!important;
	align-items:center;
	color:#1B5A7A!important;
}
.caribico-wb-hotel-card.is-compact .cwb-inline-pin svg{
	width:12px;
	height:12px;
	fill:currentColor;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-location-primary{
	color:#1B5A7A!important;
	font-weight:600!important;
	text-decoration:underline;
	text-underline-offset:2px;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-map-link{
	display:inline-flex;
	flex-wrap:wrap;
	align-items:center;
	gap:2px 6px;
	max-width:100%;
	color:inherit!important;
	text-decoration:none!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-map-link:hover .cwb-hotel-location-primary,
.caribico-wb-hotel-card.is-compact .cwb-hotel-map-link:focus-visible .cwb-hotel-location-primary{
	color:#164A65!important;
	text-decoration-thickness:2px;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-map-link:focus-visible{
	outline:2px solid #1B5A7A;
	outline-offset:3px;
	border-radius:3px;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-map-external{
	color:#1B5A7A;
	font-size:11px;
	line-height:1;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-location-secondary{
	color:#667085!important;
	font-size:11px!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-offer-meta{margin:0 0 4px!important;gap:4px 8px!important}
.caribico-wb-hotel-card.is-compact .cwb-hotel-room-hint{font-size:11px!important}
.caribico-wb-hotel-card.is-compact .cwb-hotel-board-chip{font-size:10px!important;padding:2px 7px!important}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-amenities{gap:4px!important;margin:0!important}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-amenities span{font-size:10px!important;padding:2px 6px!important}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price{
	display:flex!important;
	flex-direction:column!important;
	align-items:flex-end!important;
	justify-content:center!important;
	gap:8px!important;
	margin:0!important;
	padding:2px 0 2px 14px!important;
	border:0!important;
	border-left:0!important;
	border-radius:0!important;
	background:transparent!important;
	text-align:right!important;
	min-width:0;
	box-shadow:none!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price>.cwb-cancel-status,
.caribico-wb-hotel-card.is-compact .cwb-cancel-status.is-hotel-card{
	display:block!important;
	order:1;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	font-size:11px!important;
	font-weight:600!important;
	letter-spacing:0!important;
	line-height:1.25!important;
	text-transform:none!important;
	text-align:right!important;
	white-space:nowrap!important;
}
.caribico-wb-hotel-card.is-compact .cwb-cancel-status.is-hotel-card .cwb-cancel-status-copy{
	display:block!important;
	align-items:flex-end!important;
	max-width:100%;
	white-space:nowrap!important;
}
.caribico-wb-hotel-card.is-compact .cwb-cancel-status.is-hotel-card.is-free{color:#027A48!important}
.caribico-wb-hotel-card.is-compact .cwb-cancel-status.is-hotel-card.is-penalty{color:#B54708!important}
.caribico-wb-hotel-card.is-compact .cwb-cancel-status.is-hotel-card.is-non-refundable{color:#B42318!important}
.caribico-wb-hotel-card.is-compact .cwb-hotel-price-copy{
	display:flex!important;
	order:2;
	flex-direction:column!important;
	align-items:flex-end!important;
	gap:0!important;
	width:100%;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-price-from{
	display:block!important;
	margin:0!important;
	color:#667085!important;
	font-size:11px!important;
	font-weight:500!important;
	line-height:1.2!important;
	text-transform:none!important;
	letter-spacing:0!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-price-line{
	display:block!important;
	margin:0!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-price-value{
	display:inline!important;
	font-size:20px!important;
	font-weight:800!important;
	line-height:1.15!important;
	color:#101828!important;
	letter-spacing:-.01em!important;
	white-space:nowrap!important;
}
.caribico-wb-hotel-card.is-compact .cwb-price-scope,
.caribico-wb-hotel-card.is-compact .caribico-wb-price-currency{display:none!important}
.caribico-wb-hotel-card.is-compact .cwb-view-hotel{
	order:3;
	width:auto!important;
	min-width:0!important;
	min-height:30px!important;
	height:30px!important;
	padding:0 12px!important;
	font-size:12px!important;
	font-weight:700!important;
	line-height:1!important;
	align-self:flex-end!important;
	border-radius:8px!important;
}

@media(max-width:900px){
	.caribico-wb-hotel-card.is-compact{
		grid-template-columns:80px minmax(0,1fr)!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price{
		grid-column:1 / -1!important;
		flex-direction:row!important;
		flex-wrap:wrap!important;
		align-items:center!important;
		justify-content:space-between!important;
		gap:8px 12px!important;
		padding:10px 0 0!important;
		border-left:0!important;
		border-top:1px solid #E4E7EC!important;
		text-align:left!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price>.cwb-cancel-status,
	.caribico-wb-hotel-card.is-compact .cwb-cancel-status.is-hotel-card,
	.caribico-wb-hotel-card.is-compact .cwb-hotel-price-copy{
		align-items:flex-start!important;
		text-align:left!important;
		width:auto!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb,
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img,
	.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
		width:80px!important;
		height:80px!important;
		min-width:80px!important;
		min-height:80px!important;
		max-width:80px!important;
		max-height:80px!important;
	}
}

/* v1.11.51 — Hotel card minor layout fixes. */
.caribico-wb-hotel-card.is-compact{
	padding:10px 12px 10px 0!important;
	overflow:hidden!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb,
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img,
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
	border-radius:8px 0 0 8px!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-price-copy{
	display:inline-flex!important;
	flex-direction:row!important;
	flex-wrap:nowrap!important;
	align-items:baseline!important;
	justify-content:flex-end!important;
	gap:5px!important;
	width:auto!important;
	white-space:nowrap!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-price-from{
	display:inline!important;
	font-size:11px!important;
	font-weight:500!important;
	color:#667085!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-price-value{
	display:inline!important;
	font-size:15px!important;
	font-weight:700!important;
	line-height:1.2!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-price-line{display:inline!important;margin:0!important}

@media(max-width:900px){
	.caribico-wb-hotel-card.is-compact{padding:10px 12px!important}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb,
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img,
	.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
		border-radius:8px!important;
	}
	.caribico-wb-hotel-card.is-compact .cwb-hotel-price-copy{
		justify-content:flex-start!important;
	}
}

/* v1.11.52 — Fix hotel image alignment (full card height, square crop). */
.caribico-wb-hotel-card.is-compact{
	grid-template-columns:auto minmax(0,1fr) 132px!important;
	gap:12px!important;
	padding:0 12px 0 0!important;
	align-items:stretch!important;
	overflow:hidden!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb{
	position:relative!important;
	align-self:stretch!important;
	width:auto!important;
	height:auto!important;
	min-width:0!important;
	min-height:0!important;
	max-width:none!important;
	max-height:none!important;
	aspect-ratio:1 / 1!important;
	overflow:hidden!important;
	border-radius:10px 0 0 10px!important;
	background:#EAF3F7!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img,
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
	position:absolute!important;
	inset:0!important;
	width:100%!important;
	height:100%!important;
	min-width:0!important;
	min-height:0!important;
	max-width:none!important;
	max-height:none!important;
	object-fit:cover!important;
	border-radius:0!important;
	display:flex!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img{
	display:block!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-body{
	padding:10px 0!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price{
	padding:10px 0 10px 14px!important;
}

@media(max-width:900px){
	.caribico-wb-hotel-card.is-compact{
		grid-template-columns:115px minmax(0,1fr)!important;
		padding:0 12px 10px 0!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb{
		grid-row:1;
		min-height:96px!important;
		max-width:115px!important;
		border-radius:10px 0 0 0!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-body{
		grid-row:1;
		padding:10px 0 0!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price{
		grid-column:1 / -1!important;
		padding:10px 0 0!important;
		border-left:0!important;
		border-top:1px solid #E4E7EC!important;
	}
}

/* v1.11.53 — Hotel image aspect ratio 4:3. */
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb{
	aspect-ratio:4 / 3!important;
}

/* v1.11.53 — Hotel card price display: integer From line + column containment. */
.caribico-wb-hotel-card.is-compact{
	/* Image track: Chrome baseline 4:3 width (~114.6px → 115px). Price column 24px narrower. */
	grid-template-columns:115px minmax(0,1fr) minmax(108px,132px)!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price{
	min-width:0!important;
	max-width:100%!important;
	overflow:hidden!important;
	box-sizing:border-box!important;
	padding:10px 0 10px 10px!important;
}
.caribico-wb-hotel-card.is-compact .cwb-hotel-price-copy{
	display:flex!important;
	flex-direction:row!important;
	flex-wrap:nowrap!important;
	align-items:baseline!important;
	justify-content:flex-end!important;
	gap:4px!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	box-sizing:border-box!important;
	overflow:hidden!important;
	white-space:nowrap!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-price-from{
	flex:0 0 auto!important;
	font-size:11px!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-price-value{
	flex:0 1 auto!important;
	min-width:0!important;
	font-size:14px!important;
	font-weight:700!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
}

/*
 * Hotel media column: fixed 115px track (Chrome 4:3 baseline) so every card
 * aligns hotel name/address at the same x. Fill the track with cover crop;
 * absolute media + overflow:hidden keep intrinsic photo size from expanding.
 * Explicit track width also avoids Safari auto-column collapse with absolute kids.
 */
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb{
	display:block!important;
	position:relative!important;
	align-self:stretch!important;
	width:100%!important;
	height:100%!important;
	min-width:0!important;
	max-width:115px!important;
	aspect-ratio:4 / 3!important;
	overflow:hidden!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-thumb img,
.caribico-wb-hotel-card.is-compact .cwb-hotel-image-placeholder{
	position:absolute!important;
	inset:0!important;
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	max-height:100%!important;
	object-fit:cover!important;
	object-position:center!important;
}
.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-body{
	min-width:0!important;
	position:relative!important;
	z-index:1;
}

/* Keep the compact two-row layout after the desktop Safari-safe track rule. */
@media(max-width:900px){
	.caribico-wb-hotel-card.is-compact{
		grid-template-columns:115px minmax(0,1fr)!important;
	}
	.caribico-wb-hotel-card.is-compact .caribico-wb-hotel-price{
		grid-column:1 / -1!important;
	}
}

/* Filters header compact */
.caribico-wb-filters .cwb-filter-header{margin:0 0 10px!important}
.caribico-wb-filters .cwb-filter-header h2{font-size:13px!important;font-weight:700!important;letter-spacing:.02em}
.caribico-wb-filters .cwb-filter-header button,
.caribico-wb-filters .cwb-reset-filters{
	font-size:10px!important;
	font-weight:700!important;
	letter-spacing:.04em!important;
	text-transform:uppercase!important;
	gap:4px!important;
}
.caribico-wb-filters .cwb-filter-header button span{font-size:12px!important}
.caribico-wb-filters .cwb-facet-search{
	height:40px!important;
	padding:0 10px!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1.3!important;
}
.caribico-wb-filters .cwb-facet-search::placeholder{font-size:13px!important;color:#667085!important;opacity:1}
.caribico-wb-filters .cwb-filter-reset-row{margin:14px 0 2px!important}

/* Confirm booking sits under the summary card (full width of the right column). */
#caribico-wb-booking .cwb-booking-final-actions{
	display:flex!important;
	flex-direction:column!important;
	justify-content:flex-start!important;
	align-items:stretch!important;
	gap:0!important;
	min-width:0!important;
	width:100%!important;
	max-width:none!important;
	flex:0 0 auto;
	position:static!important;
}
/* Manual Confirmation row under Confirm booking in the summary column. */
.cwb-manual-confirmation-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-top:10px;
	padding:6px 14px;
}
/* Author display:flex must not override native [hidden] (false manual notice). */
.cwb-manual-confirmation-row[hidden]{
	display:none!important;
}
#caribico-wb-booking .cwb-booking-summary-column .cwb-manual-confirmation-row{
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-start;
	gap:8px;
	margin:0;
	padding:0;
	position:static;
}
#caribico-wb-booking .cwb-booking-summary-column .cwb-manual-confirmation-row #cwb-request-manual-confirmation{
	margin-left:0;
	width:100%;
}
.cwb-manual-confirmation-row #cwb-request-manual-confirmation{
	margin-left:auto;
}
.cwb-confirm-secondary,
#cwb-request-manual-confirmation{
	flex:0 0 auto;
	height:30px!important;
	min-height:30px!important;
	padding:0 12px!important;
	font-size:11px!important;
	font-weight:600!important;
	background:#FCFCFD!important;
	border:1px solid #EAECF0!important;
	border-radius:6px!important;
	color:#475467!important;
	box-shadow:0 1px 2px rgba(16,24,40,.05)!important;
	text-transform:uppercase;
	letter-spacing:.02em;
	white-space:nowrap;
}
.cwb-confirm-secondary:hover,
.cwb-confirm-secondary:focus,
#cwb-request-manual-confirmation:hover,
#cwb-request-manual-confirmation:focus{
	background:#F2F4F7!important;
	border-color:#E4E9ED!important;
	color:#344054!important;
}
.cwb-manual-confirmation-note{
	flex:1 1 auto;
	min-width:0;
	margin:0!important;
	padding:0!important;
	color:#B42318!important;
	background:transparent!important;
	border:0!important;
	font-size:10px!important;
	font-weight:700!important;
	letter-spacing:.03em;
	text-transform:uppercase;
	line-height:1.5!important;
	overflow-wrap:anywhere;
}
/* Older fallback placement inside the final-row copy keeps its spacing. */
.cwb-booking-final-copy .cwb-manual-confirmation-note{
	margin:8px 0 0!important;
}
/* v1.11.79 — small inline "Request sent" confirmation, no card/border/background. */
.cwb-manual-confirmation-status{
	flex:1 1 auto;
	min-width:0;
	margin:0!important;
	padding:0!important;
	color:#667085!important;
	background:transparent!important;
	border:0!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.4!important;
	text-transform:none;
}
.cwb-manual-confirmation-status[hidden]{
	display:none!important;
}
@media(max-width:900px){
	.cwb-manual-confirmation-row{flex-direction:column;align-items:stretch;gap:8px}
	.cwb-manual-confirmation-row #cwb-request-manual-confirmation{margin-left:0;width:100%}
}
.cwb-confirm-primary,
#cwb-confirm-booking-btn{
	order:1;
	flex:0 0 auto;
	margin-left:0;
	min-height:40px!important;
	height:40px!important;
	padding:0 20px!important;
	font-size:13px!important;
	font-weight:800!important;
	letter-spacing:.04em!important;
}
#caribico-wb-booking #cwb-confirm-booking-btn,
#caribico-wb-booking .cwb-confirm-primary{
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
	position:static!important;
}

/* User menu — locked trigger-aligned dropdown width (permanent).
 *
 * PERMANENT CONSTRAINT: `.cwb-user-menu-panel` must always match the
 * trigger width exactly (same left/right edges). Never size the panel from
 * content (no width:auto / min-content / max-content / fit-content).
 * Wrapper owns the fixed structural width; trigger + panel are width:100%.
 */
.cwb-user-menu{
	position:relative;
	width:146px;
	max-width:146px;
	box-sizing:border-box;
}
.cwb-user-menu-toggle{
	width:100%;
	max-width:100%;
	box-sizing:border-box;
	min-width:0;
}
.cwb-user-menu-identity{
	min-width:0;
	flex:1;
	overflow:hidden;
}
.cwb-user-menu-identity strong,
.cwb-user-menu-identity small{
	display:block;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cwb-user-menu-identity strong{font-size:13px!important;font-weight:700!important;line-height:1.2}
.cwb-user-menu-identity small{font-size:11px!important;opacity:.9;line-height:1.2}
.cwb-user-menu-panel{
	/* Lock panel to wrapper/trigger width — do not widen from content. */
	position:absolute;
	z-index:200;
	top:calc(100% + 6px)!important;
	left:0!important;
	right:auto!important;
	width:100%!important;
	min-width:0!important;
	max-width:100%!important;
	box-sizing:border-box!important;
	transform:none!important;
	padding:0 0 2px!important;
	border-radius:8px!important;
	border:1px solid #E4E7EC!important;
	background:#fff;
	box-shadow:0 8px 22px rgba(16,24,40,.14)!important;
	color:#101828;
	overflow:hidden;
}
.cwb-user-menu-panel[hidden]{display:none!important}
.cwb-user-menu-heading{
	display:flex!important;
	align-items:flex-start!important;
	gap:8px!important;
	padding:7px 8px!important;
	text-align:left!important;
	background:#F8FAFB!important;
	border-bottom:1px solid #EEF1F4!important;
}
.cwb-user-menu-heading .cwb-user-avatar{
	flex:0 0 auto;
	width:26px;
	height:26px;
	margin-top:1px;
	display:inline-grid;
	place-items:center;
	border-radius:50%;
	background:#EAF3F7;
	color:#1B5A7A;
}
.cwb-user-menu-heading .cwb-user-avatar .cwb-icon{width:14px;height:14px}
.cwb-user-menu-heading-text{min-width:0;flex:1;overflow:hidden}
.cwb-user-menu-heading strong{
	display:block;
	font-size:12px!important;
	font-weight:700!important;
	line-height:1.3;
	color:#101828;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cwb-user-menu-agency{
	display:block;
	margin-top:1px!important;
	font-size:10px!important;
	font-weight:600!important;
	color:#667085!important;
	line-height:1.3;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cwb-user-menu-panel a{
	padding:5px 8px!important;
	font-size:12px!important;
	font-weight:500!important;
	gap:7px!important;
	line-height:1.25!important;
	min-height:0!important;
	min-width:0;
	box-sizing:border-box;
}
.cwb-user-menu-panel a > span:last-child{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cwb-user-menu-panel .cwb-icon,
.cwb-menu-symbol{width:15px!important;height:15px!important;font-size:13px!important;flex:0 0 auto}
.cwb-user-menu-section{display:none!important}
.cwb-user-menu-finance span{color:#1B5A7A}
/* v1.20.17 — Agent Balance row always visible in user dropdown. */
.cwb-user-menu-balance{
	display:block!important;
	margin:0;
	padding:7px 8px 8px;
	border-bottom:1px solid #EEF1F4;
	background:transparent;
	min-width:0;
	box-sizing:border-box;
}
.cwb-user-menu-balance-label{
	display:block!important;
	margin:0 0 3px;
	color:#667085;
	font-size:10px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	line-height:1.3;
}
.cwb-user-menu-balance-amount{
	display:block!important;
	margin:0;
	color:#101828;
	font-size:13px;
	font-weight:700;
	line-height:1.3;
	letter-spacing:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cwb-user-menu-logout{
	margin-top:2px!important;
	padding-top:5px!important;
	border-top:1px solid #EEF1F4!important;
}

/* My Bookings — compact filters + custom calendar */
.cwb-bookings-toolbar{gap:8px!important;padding:10px 12px!important;margin-bottom:12px!important}
.cwb-bookings-toolbar-row{gap:6px 8px!important}
.cwb-bookings-toolbar-primary #cwb-bookings-search{min-height:34px!important;font-size:12px!important;padding:0 10px!important}
.cwb-bookings-toolbar select{min-height:34px!important;font-size:12px!important;padding:0 8px!important}
.cwb-bookings-filter-label,.cwb-bookings-filter-group-label{font-size:9px!important}
.cwb-bookings-date-field{position:relative;display:inline-flex}
.cwb-bookings-date-toggle{
	min-height:34px;
	min-width:108px;
	padding:0 10px;
	border:1px solid var(--cwb-portal-border-strong,#D0D5DD);
	border-radius:var(--cwb-portal-radius-sm,8px);
	background:#fff;
	color:#667085;
	font:500 12px/1 inherit;
	cursor:pointer;
	text-align:left;
}
.cwb-bookings-date-toggle.has-value{color:#101828;font-weight:600}
.cwb-bookings-date-panel{
	position:fixed;
	z-index:12000;
	padding:10px;
	border:1px solid #E4E7EC;
	border-radius:10px;
	background:#fff;
	box-shadow:0 16px 40px rgba(16,24,40,.18);
}
.cwb-bookings-date-panel[hidden]{display:none!important}
.cwb-bookings-date-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.cwb-bookings-date-month{margin:0;font-size:13px;font-weight:700;color:#101828}
.cwb-bookings-date-nav{
	width:28px;height:28px;border:1px solid #E4E7EC;border-radius:6px;background:#F8FAFB;
	color:#101828;font-size:16px;line-height:1;cursor:pointer;
}
.cwb-bookings-date-weekdays,
.cwb-bookings-date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.cwb-bookings-date-weekdays span{text-align:center;font-size:10px;font-weight:700;color:#98A2B3;padding:4px 0}
.cwb-bookings-date-day{
	min-height:32px;border:0;border-radius:6px;background:transparent;
	color:#101828;font:600 12px/1 inherit;cursor:pointer;
}
.cwb-bookings-date-day:hover{background:#F2F4F7}
.cwb-bookings-date-day.is-today{box-shadow:inset 0 0 0 1px #1B5A7A}
.cwb-bookings-date-day.is-selected{background:#1B5A7A;color:#fff}
.cwb-bookings-date-empty{min-height:32px}
.cwb-bookings-date-footer{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #EEF1F4}
.cwb-bookings-date-footer .caribico-wb-btn{min-height:30px!important;padding:0 10px!important;font-size:11px!important}

@media(max-width:900px){
	.cwb-booking-final-actions{flex-direction:column!important;align-items:stretch!important;max-width:none!important;min-width:0!important;width:100%!important;position:static!important}
	.cwb-confirm-primary,#cwb-confirm-booking-btn{margin-left:0;width:100%;position:static}
	.cwb-confirm-secondary,#cwb-request-manual-confirmation{width:100%}
	.cwb-bookings-toolbar-dates{align-items:stretch}
	.cwb-bookings-date-toggle{width:100%;min-width:0}
	.cwb-bookings-date-panel{left:8px!important;right:8px!important;width:auto!important;max-width:calc(100vw - 16px)}
}

/*
 * v1.11.60 / v1.47.7 — Room card: compact height, left media, price/select aligned.
 */
.cwb-room-row{
	grid-template-columns:210px minmax(0,1fr) 190px!important;
	gap:0!important;
	padding:0 8px 0 0!important;
	overflow:hidden!important;
	align-items:stretch!important;
	margin-bottom:8px!important;
}
.cwb-room-image{
	position:relative!important;
	align-self:stretch!important;
	min-width:0!important;
	min-height:96px!important;
	height:auto!important;
	overflow:hidden!important;
	border-radius:10px 0 0 10px!important;
	background:var(--cwb-accent-softer)!important;
}
.cwb-room-image img,
.cwb-room-image-placeholder{
	position:absolute!important;
	inset:0!important;
	width:100%!important;
	height:100%!important;
	min-height:0!important;
	object-fit:cover!important;
	object-position:center!important;
	border-radius:10px 0 0 10px!important;
}
.cwb-room-image-placeholder{
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:center!important;
	box-sizing:border-box!important;
	padding:8px!important;
	gap:2px!important;
	text-align:center!important;
	background:var(--cwb-accent-softer)!important;
	color:var(--cwb-primary)!important;
}
.cwb-room-image-placeholder span{
	font-size:11px!important;
	font-weight:800!important;
	letter-spacing:.12em!important;
	line-height:1.2!important;
	margin:0!important;
}
.cwb-room-image-placeholder small{
	font-size:10px!important;
	color:#667085!important;
	margin:0!important;
	line-height:1.25!important;
}
.cwb-room-info{
	padding:6px 10px!important;
	min-width:0!important;
}
.cwb-room-name{
	margin:0 0 2px!important;
	font-size:14px!important;
	line-height:1.25!important;
}
/* Available Rooms price/action column — compact, vertically centered. */
.cwb-room-price{
	gap:6px!important;
	padding:8px!important;
	justify-content:center!important;
}
.cwb-room-price-value{
	font-size:14px!important;
	font-weight:700!important;
	line-height:1.2!important;
	color:#101828!important;
	letter-spacing:0!important;
}
.cwb-room-actions{
	gap:6px!important;
}
.cwb-room-actions .cwb-add-trip{
	width:28px!important;
	height:28px!important;
	min-width:28px!important;
	min-height:28px!important;
	font-size:16px!important;
	border-width:1px!important;
}
.cwb-room-actions .cwb-select-room,
.cwb-room-price .cwb-select-room{
	min-width:0!important;
	min-height:28px!important;
	height:28px!important;
	padding:0 10px!important;
	font-size:11px!important;
	font-weight:700!important;
	letter-spacing:0!important;
	line-height:1!important;
	border-radius:7px!important;
}
@media(max-width:900px){
	.cwb-room-row{
		grid-template-columns:180px minmax(0,1fr)!important;
		padding:0 8px 0 0!important;
		gap:0!important;
	}
}
@media(max-width:600px){
	.cwb-room-row{
		grid-template-columns:1fr!important;
		gap:8px!important;
		padding:8px!important;
	}
	.cwb-room-image{
		min-height:140px!important;
		border-radius:8px!important;
	}
	.cwb-room-image img,
	.cwb-room-image-placeholder{
		position:relative!important;
		inset:auto!important;
		height:140px!important;
		border-radius:8px!important;
	}
	.cwb-room-info{padding:6px 0 0!important}
}

/*
 * v1.11.63 — Booking Details cancellation button: restore danger style + stable spacing.
 * Scoped to Booking Details modal only.
 */
.cwb-booking-detail .cwb-cancellation-box{
	margin-top:22px!important;
	padding-top:22px!important;
	border-top:1px solid #E4E9ED!important;
}
.cwb-booking-detail .cwb-cancellation-box h3{
	margin:0 0 8px!important;
	font-size:17px!important;
	font-weight:700!important;
	color:#101828!important;
}
.cwb-booking-detail .cwb-cancellation-box>p{
	margin:0 0 14px!important;
	font-size:14px!important;
	line-height:1.45!important;
	color:#667085!important;
}
/* v1.11.70 — compact danger buttons for the cancel flow (check + confirm). */
.cwb-booking-detail .cwb-cancellation-box .cwb-check-cancellation,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-danger.cwb-check-cancellation,
.cwb-booking-detail .cwb-cancellation-box .cwb-confirm-cancellation,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-danger.cwb-confirm-cancellation{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:30px!important;
	height:auto!important;
	padding:0 12px!important;
	border-radius:6px!important;
	background:var(--cwb-danger,#C62828)!important;
	border:1px solid var(--cwb-danger,#C62828)!important;
	color:#fff!important;
	font-size:11px!important;
	font-weight:600!important;
	letter-spacing:.04em!important;
	text-transform:uppercase!important;
	box-shadow:none!important;
	width:auto!important;
}
.cwb-booking-detail .cwb-cancellation-box .cwb-check-cancellation:hover,
.cwb-booking-detail .cwb-cancellation-box .cwb-check-cancellation:focus,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-danger.cwb-check-cancellation:hover,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-danger.cwb-check-cancellation:focus,
.cwb-booking-detail .cwb-cancellation-box .cwb-confirm-cancellation:hover,
.cwb-booking-detail .cwb-cancellation-box .cwb-confirm-cancellation:focus{
	background:var(--cwb-danger-hover,#A61F1F)!important;
	border-color:var(--cwb-danger-hover,#A61F1F)!important;
	color:#fff!important;
}

/* v1.11.68 — Restore Booking Details modal lifecycle (no flex collapse).
   Keep cancel/penalty scroll via modal overflow; do not use flex column shell. */
.cwb-booking-detail{
	display:block!important;
	overflow-y:auto!important;
	overflow-x:hidden!important;
	max-height:min(720px,calc(100vh - 28px))!important;
}
/* v1.11.69 — hidden must win over display:block!important or an empty white box remains after close. */
.cwb-booking-detail[hidden],
#cwb-booking-detail[hidden]{
	display:none!important;
	visibility:hidden!important;
	pointer-events:none!important;
}
.cwb-booking-detail-backdrop[hidden],
#cwb-booking-detail-backdrop[hidden]{
	display:none!important;
	visibility:hidden!important;
	pointer-events:none!important;
}
.cwb-booking-detail .cwb-booking-tabpanel#cwb-panel-details{
	overflow:visible!important;
	height:auto!important;
	min-height:0!important;
	padding-bottom:28px!important;
}
.cwb-booking-detail .cwb-cancellation-box{
	margin-top:22px!important;
	margin-bottom:16px!important;
	padding-top:18px!important;
	padding-bottom:8px!important;
}
/* v1.11.70 — penalty result reads as a normal Booking Details card:
   full width, neutral background, no blue frame. 0.00 penalties stay neutral. */
.cwb-booking-detail .cwb-cancellation-result,
.cwb-booking-detail .cwb-cancellation-result.success{
	display:block;
	width:100%!important;
	box-sizing:border-box!important;
	margin-top:12px!important;
	margin-bottom:8px!important;
	padding:14px 16px!important;
	background:#F5F8FA!important;
	border:0!important;
	border-radius:8px!important;
	color:#101828!important;
}
.cwb-booking-detail .cwb-cancellation-result.error{
	background:#FDF3F2!important;
	border:0!important;
	color:#8A2020!important;
}
.cwb-booking-detail .cwb-cancellation-result p{
	margin:0 0 10px;
	font-size:12px;
	line-height:1.5;
}
.cwb-booking-detail .cwb-cancellation-result p:last-of-type{
	margin-bottom:12px;
}
.cwb-booking-detail .cwb-cancellation-box .cwb-check-cancellation:disabled,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-danger.cwb-check-cancellation:disabled{
	opacity:.85!important;
	cursor:wait!important;
}
.cwb-booking-detail-backdrop{
	cursor:pointer!important;
}

/* v1.11.70 — long text must wrap instead of stretching the modal. */
.cwb-booking-detail .cwb-booking-detail-grid>section{min-width:0}
.cwb-booking-detail .cwb-booking-detail-notes p{min-width:0}
.cwb-booking-detail .cwb-booking-detail-notes strong,
.cwb-booking-detail .cwb-booking-detail-facts dd,
.cwb-booking-detail .cwb-cancellation-box p,
.cwb-booking-detail .cwb-cancellation-result p{
	overflow-wrap:anywhere;
	word-break:break-word;
}

/* v1.11.74 — booking form fields use the full available content width. */
.cwb-booking-top-fields{
	grid-template-columns:1fr!important;
	max-width:none!important;
	width:100%!important;
	margin-bottom:10px!important; /* separate Agent reference from Room card */
}
#cwb-guests-list.cwb-guests-list{
	margin-top:0!important;
}
#cwb-customer-reference,
#cwb-special-requests,
#cwb-special-request-notes{
	display:block!important;
	width:100%!important;
	box-sizing:border-box!important;
}
.cwb-special-requests .caribico-wb-field,
.cwb-special-requests .cwb-special-request-notes-field{
	width:100%!important;
	max-width:none!important;
}
.cwb-special-requests-note{
	margin:6px 0 8px!important;
	color:#475467!important;
	font-size:12px!important;
	font-weight:600!important;
	line-height:1.35!important;
}
.cwb-special-request-codes{
	display:flex!important;
	flex-direction:column!important;
	gap:2px!important;
	margin:0 0 10px!important;
}
.cwb-special-request-option{
	display:flex!important;
	flex-direction:row!important;
	align-items:center!important;
	gap:8px!important;
	margin:0!important;
	padding:3px 0!important;
	font-size:13px!important;
	font-weight:500!important;
	line-height:1.3!important;
	color:#1F2A37!important;
	cursor:pointer!important;
}
.cwb-special-request-option input[type="checkbox"],
.cwb-booking-guest-panel .cwb-special-request-option input[type="checkbox"]{
	flex:none!important;
	box-sizing:border-box!important;
	width:16px!important;
	height:16px!important;
	min-width:16px!important;
	min-height:16px!important;
	max-height:16px!important;
	margin:0!important;
	padding:0!important;
	border-radius:3px!important;
	accent-color:var(--cwb-primary,#1B5A7A);
	cursor:pointer!important;
	align-self:center!important;
}
.cwb-special-request-option span{
	display:block!important;
	margin:0!important;
	padding:0!important;
	font-size:13px!important;
	font-weight:500!important;
	line-height:1.3!important;
	opacity:1!important;
	color:#1F2A37!important;
}

/* v1.11.80 — Booking Details modal simplification. */
/* No focus outline on the modal container (blue ring around the dialog). */
.cwb-booking-detail:focus,
.cwb-booking-detail:focus-visible{
	outline:none!important;
	border:0!important;
}
/* Hide page content behind the modal; only the dialog stays visible. */
body.cwb-booking-modal-open .cwb-agent-bookings>:not(.cwb-booking-detail):not(.cwb-booking-detail-backdrop){
	visibility:hidden;
}
/* Inline cancellation policy cards on the Agency sell amount row. */
.cwb-booking-detail-facts .cwb-detail-cancel-policy.is-free dt{
	color:#027A48!important;
	font-weight:800;
}
.cwb-detail-cancel-check{
	display:inline-block;
	margin-right:2px;
	color:#027A48;
	font-weight:800;
}
.cwb-booking-detail-facts .cwb-detail-cancel-policy.is-penalty dd,
.cwb-booking-detail-facts .cwb-detail-cancel-policy.is-nonref dd{
	color:#B54708;
}
/* Agent reference / Special requests live below Contact Email now.
   v1.11.83 — stacked full-width compact cards: Agent Reference on top,
   Special Requests below, both spanning the sidebar width. */
.cwb-booking-guest-summary .cwb-booking-detail-notes{
	grid-template-columns:1fr;
	gap:6px;
	margin-top:10px;
}
.cwb-booking-guest-summary .cwb-booking-detail-notes p{
	background:#fff;
	border:1px solid #E4E9ED;
	padding:6px 8px;
}
.cwb-booking-guest-summary .cwb-booking-detail-notes strong{
	min-height:0;
}
/* v1.20.2 — cancelled guest editor / Add guest / Book again links removed
   from the Guests card. BOOK AGAIN lives in the cancellation action slot. */

/* v1.11.82 / v1.30.28 — keep Cancel Booking + confirmation as one column stack
   inside the finance block (do not promote children into the modal grid). */
.cwb-booking-detail .cwb-cancellation-box.cwb-cancellation-inline{
	display:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
	gap:8px!important;
	width:100%!important;
	max-width:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-check-cancellation:not(.cwb-bd-action-btn),
.cwb-booking-detail .cwb-cancellation-inline .caribico-wb-btn-danger.cwb-check-cancellation:not(.cwb-bd-action-btn){
	align-self:flex-start!important;
	justify-self:auto!important;
	width:auto!important;
	height:auto!important;
	min-height:32px!important;
	white-space:nowrap!important;
}
/* v1.20.2 — BOOK AGAIN in the cancellation action slot (same height as Cancel Booking). */
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancelled-book-again:not(.cwb-bd-action-btn),
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-success.cwb-cancelled-book-again:not(.cwb-bd-action-btn){
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	align-self:stretch!important;
	justify-self:stretch!important;
	width:100%!important;
	height:100%!important;
	min-height:44px!important;
	padding:0 12px!important;
	border-radius:6px!important;
	background:#027A48!important;
	border:1px solid #027A48!important;
	color:#fff!important;
	font-size:11px!important;
	font-weight:700!important;
	letter-spacing:.04em!important;
	text-transform:uppercase!important;
	box-shadow:none!important;
	white-space:nowrap!important;
}
/* Action-row BOOK AGAIN — keep green fill, shared 23px metrics from .cwb-bd-action-btn. */
#cwb-booking-detail .cwb-bd-actions-row button.cwb-bd-action-btn.cwb-cancelled-book-again{
	background:#027A48!important;
	border:1px solid #027A48!important;
	color:#fff!important;
	box-shadow:0 1px 2px rgba(2,122,72,.18),0 2px 6px rgba(16,24,40,.06)!important;
}
#cwb-booking-detail .cwb-bd-actions-row button.cwb-bd-action-btn.cwb-cancelled-book-again:hover,
#cwb-booking-detail .cwb-bd-actions-row button.cwb-bd-action-btn.cwb-cancelled-book-again:focus{
	background:#05603A!important;
	border-color:#05603A!important;
	color:#fff!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancelled-book-again:hover,
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancelled-book-again:focus,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-success.cwb-cancelled-book-again:hover,
.cwb-booking-detail .cwb-cancellation-box .caribico-wb-btn-success.cwb-cancelled-book-again:focus{
	background:#05603A!important;
	border-color:#05603A!important;
	color:#fff!important;
}
/* Final cancellation confirmation (v1.30.28 / v1.47.11): compact BD secondary type;
   Cancel left, copy + penalty, CONFIRM left-aligned within the left column. */
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancellation-result,
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancellation-result.success{
	grid-column:auto;
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-start;
	gap:8px;
	text-align:left;
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.45!important;
	color:#667085!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:8px;
	width:100%;
	max-width:100%;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-checking,
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-line{
	margin:0!important;
	color:#667085!important;
	font-size:11px!important;
	line-height:1.45!important;
	font-weight:400!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-penalty{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:0!important;
	color:#1A2B44!important;
	font-size:13px!important;
	font-weight:500!important;
	letter-spacing:0;
	text-transform:none;
	line-height:1.35;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-warn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	width:14px;
	height:14px;
	color:#F79009;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-warn .cwb-lucide,
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-warn .cwb-lucide-svg,
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-warn svg{
	width:14px!important;
	height:14px!important;
	color:#F79009!important;
	stroke-width:1.75!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancel-final-actions{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	width:100%;
	margin:0;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancellation-result .cwb-confirm-cancellation{
	flex:0 0 auto!important;
	width:auto!important;
	min-width:0!important;
	max-width:max-content!important;
	align-self:flex-start!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancellation-result[hidden]{
	display:none!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancellation-result p{
	margin:0!important;
}
.cwb-booking-detail .cwb-cancellation-inline .cwb-cancellation-result.error{
	color:#B42318!important;
	background:transparent!important;
}

/* v1.11.82 — booking confirmation page: neutral card border, no blue outline. */
.cwb-booking-result.success{
	border:1px solid #E4E9ED!important;
	outline:none!important;
}
/* v1.47.8 — Booking confirmed: compact values.
 * v1.47.9 — title matches Complete booking information (19px page heading). */
#cwb-booking-result.success{
	color:#101828!important;
	background:#fff!important;
}
#cwb-booking-result.success .cwb-status-text.is-confirmed{
	color:#027A48!important;
}
#cwb-booking-result.success .cwb-confirmation-header{
	margin:0 0 4px!important;
	padding:0!important;
}
#cwb-booking-result.success .cwb-confirmation-header h3{
	margin:0!important;
	font-size:19px!important;
	font-weight:500!important;
	line-height:1.2!important;
	color:#101828!important;
}
#cwb-booking-result.success .cwb-confirmation-grid-compact{
	gap:4px!important;
}
#cwb-booking-result.success .cwb-confirmation-grid-compact .cwb-confirmation-item{
	min-height:30px!important;
	padding:4px 8px!important;
}
#cwb-booking-result.success .cwb-confirmation-label{
	margin-bottom:0!important;
	font-size:9px!important;
	line-height:1.2!important;
}
#cwb-booking-result.success .cwb-confirmation-value{
	font-size:11px!important;
	font-weight:500!important;
	line-height:1.25!important;
	color:#101828!important;
}
#cwb-booking-result.success .cwb-confirmation-hotel .cwb-confirmation-value,
#cwb-booking-result.success .cwb-confirmation-room .cwb-confirmation-value,
#cwb-booking-result.success .cwb-confirmation-stay .cwb-confirmation-value,
#cwb-booking-result.success .cwb-confirmation-nights .cwb-confirmation-value{
	font-size:11px!important;
	font-weight:500!important;
}
#cwb-booking-result.success .cwb-voucher-guest{
	grid-template-columns:150px minmax(0,1fr)!important;
	gap:12px!important;
	margin:0 0 1px!important;
}
#cwb-booking-result.success .cwb-voucher-guest-label{
	font-size:10px!important;
}
#cwb-booking-result.success .cwb-voucher-guest strong{
	font-size:11px!important;
	font-weight:600!important;
	line-height:1.25!important;
}
#cwb-booking-result.success .cwb-voucher-contact.cwb-voucher-guest{
	display:grid!important;
	align-items:baseline!important;
	margin-top:2px!important;
}
#cwb-booking-result.success .cwb-confirmation-footer{
	margin-top:6px!important;
}
#cwb-booking-result.success .cwb-confirmation-meta{
	display:none!important;
}
#cwb-booking-result:focus,
#cwb-booking-result:focus-visible{
	outline:none!important;
}

#cwb-booking-result.success.has-multi-room-cards{
	background:transparent!important;
	border:0!important;
	padding:0!important;
	box-shadow:none!important;
}
#cwb-booking-result.success .cwb-confirmation-room-cards{
	display:flex;
	flex-direction:column;
	gap:12px;
}
#cwb-booking-result.success .cwb-confirmation-card{
	background:#fff!important;
	border:1px solid #E4E9ED!important;
	border-radius:8px;
	padding:10px 12px;
	color:#101828!important;
}

/* v1.11.83 — confirmation footer: guests + contact email on the left,
   OPEN IN BOOKINGS on the right, vertically centered, compact width. */
.cwb-confirmation-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
}
.cwb-confirmation-footer-info{
	flex:1 1 auto;
	min-width:0;
}
.cwb-confirmation-footer .cwb-confirmation-actions{
	margin-top:0!important;
	flex:0 0 auto;
	display:flex!important;
	align-items:center!important;
	justify-content:flex-end!important;
}
.cwb-confirmation-footer .cwb-confirmation-actions .caribico-wb-btn{
	width:auto!important;
	min-width:0!important;
	padding:0 14px!important;
	white-space:nowrap!important;
}
@media(max-width:700px){
	.cwb-confirmation-footer{flex-direction:column;align-items:stretch}
	.cwb-confirmation-footer .cwb-confirmation-actions{justify-content:flex-start!important}
}

/* v1.11.84 — confirmation page Guests section: no divider lines above the
   guest names or before Contact Email. Spacing, typography, and the print
   voucher/PDF documents are untouched. */
#cwb-booking-result .cwb-voucher-guests,
#cwb-booking-result .cwb-voucher-contact{
	border-top:0!important;
}

/* v1.11.84 — cancellation sequence: after step 1 (CANCEL BOOKING clicked)
   the trigger button goes inactive muted red while CONFIRM stays active. */
.cwb-booking-detail .cwb-cancellation-inline .cwb-check-cancellation.is-cancel-requested,
.cwb-booking-detail .cwb-cancellation-inline .cwb-check-cancellation.is-cancel-requested:disabled{
	background:#F1AEAA!important;
	border-color:#F1AEAA!important;
	color:#fff!important;
	opacity:1!important;
	cursor:default!important;
}

/* v1.11.84 / v1.19.6 — cancelled booking status card in the facts grid: green
   when the cancellation carried no fee, light red when a penalty applied.
   Title is ✓ CANCELLED on [date]; fee line underneath. */
.cwb-booking-detail-facts .cwb-detail-cancel-policy.is-cancelled dt{
	text-transform:none;
	color:#475467!important;
	font-weight:700;
}
.cwb-booking-detail-facts .cwb-detail-cancel-policy.is-cancelled .cwb-detail-cancelled-word{
	color:#B42318;
	font-weight:800;
	letter-spacing:.04em;
}
.cwb-booking-detail-facts>div.cwb-detail-cancel-policy.is-cancelled.is-cancel-free{
	background:#ECFDF3;
}
.cwb-booking-detail-facts>div.cwb-detail-cancel-policy.is-cancelled.has-cancel-penalty{
	background:#FEF3F2;
}
.cwb-booking-detail-facts .cwb-detail-cancel-policy.has-cancel-penalty .cwb-detail-cancel-check{
	color:#B42318;
}
.cwb-cancellation-box.is-cancelled .cwb-check-cancellation,
.cwb-cancellation-box.is-cancelled .cwb-confirm-cancellation{
	display:none!important;
}
/* Keep BOOK AGAIN visible in the cancellation action slot after cancel. */
.cwb-booking-detail .cwb-cancellation-inline.is-cancelled:not(.cwb-book-again-box){
	display:none!important;
}
.cwb-booking-detail .cwb-cancellation-inline.cwb-book-again-box{
	display:contents!important;
}

/* v1.13.0 — Bookings Active / History lifecycle tabs. Presentation only;
   cards, detail modal, and filter toolbar layout stay unchanged. */
.cwb-bookings-lifecycle{display:flex;gap:0;margin:0 0 14px;border:1px solid #E4E9ED;border-radius:10px;background:#fff;overflow:hidden;width:fit-content;max-width:100%}
.cwb-bookings-lifecycle-tab{display:inline-flex;align-items:center;gap:8px;margin:0;padding:10px 16px;border:0;border-right:1px solid #E4E9ED;background:transparent;color:#667085;font:650 13px/1.2 inherit;cursor:pointer}
.cwb-bookings-lifecycle-tab:last-child{border-right:0}
.cwb-bookings-lifecycle-tab:hover,.cwb-bookings-lifecycle-tab:focus{background:#F8FAFB;color:#101828}
.cwb-bookings-lifecycle-tab.is-active{background:#EAF3F7;color:#1B5A7A}
.cwb-bookings-lifecycle-count{display:inline-flex;min-width:20px;justify-content:center;padding:2px 7px;border-radius:999px;background:#F2F4F7;color:#475467;font-size:11px;font-weight:700}
.cwb-bookings-lifecycle-tab.is-active .cwb-bookings-lifecycle-count{background:#fff;color:#1B5A7A}


/* v1.16.7 — Booking Confirmed cards: compact height + aligned rows.
 * v1.47.9 — keep compact overrides (do not re-inflate min-height / gap). */
#cwb-booking-result.success .cwb-confirmation-header,
#cwb-booking-result.is-mismatch .cwb-confirmation-header{
	margin-bottom:4px!important;
}
#cwb-booking-result.success .cwb-confirmation-header h3,
#cwb-booking-result.is-mismatch .cwb-booking-mismatch > .cwb-confirmation-header h3{
	margin:0 0 2px!important;
	font-size:19px!important;
	font-weight:500!important;
	line-height:1.2!important;
}
#cwb-booking-result.success .cwb-confirmation-meta,
#cwb-booking-result.is-mismatch .cwb-confirmation-meta{
	margin:0 0 8px;
	gap:8px;
	align-items:stretch;
}
#cwb-booking-result.success .cwb-confirmation-meta>div,
#cwb-booking-result.is-mismatch .cwb-confirmation-meta>div{
	display:flex;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
	min-height:44px;
	padding:7px 10px;
}
#cwb-booking-result.success .cwb-confirmation-meta span,
#cwb-booking-result.is-mismatch .cwb-confirmation-meta span{
	margin-bottom:2px;
}
#cwb-booking-result.success .cwb-confirmation-grid-compact,
#cwb-booking-result.is-mismatch .cwb-confirmation-grid-compact:not(.cwb-confirmation-grid-review){
	gap:4px!important;
	align-items:stretch;
}
#cwb-booking-result.success .cwb-confirmation-grid-compact .cwb-confirmation-item,
#cwb-booking-result.is-mismatch .cwb-confirmation-grid-compact:not(.cwb-confirmation-grid-review) .cwb-confirmation-item{
	display:flex;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
	min-height:30px!important;
	padding:4px 8px!important;
}
#cwb-booking-result.success .cwb-confirmation-label,
#cwb-booking-result.is-mismatch .cwb-confirmation-grid-compact:not(.cwb-confirmation-grid-review) .cwb-confirmation-label{
	margin-bottom:0!important;
}
#cwb-booking-result.success .cwb-confirmation-footer{
	margin-top:6px!important;
}
/* v1.43.5 — Booking confirmed: hotel / room / stay values normal weight. */
#cwb-booking-result.success .cwb-confirmation-hotel .cwb-confirmation-value,
#cwb-booking-result.success .cwb-confirmation-room .cwb-confirmation-value,
#cwb-booking-result.success .cwb-confirmation-stay .cwb-confirmation-value{
	font-weight:400!important;
}
#cwb-booking-result.success .cwb-voucher-guests{
	margin-top:0!important;
	padding-top:0!important;
}
#cwb-booking-result.success .cwb-voucher-contact{
	margin-top:2px!important;
	padding-top:0!important;
}

/* Guest header auth — reuse locked .cwb-user-menu (146px) with circular avatar.
 * v1.20.33 / v1.20.40. Do not alter frozen .cwb-user-menu width/alignment rules above.
 * Soft focus pulse when Search hotels guides Guests to Register / Sign in. */
.cwb-user-menu-guest.is-auth-focus .cwb-user-menu-toggle{
	outline:2px solid rgba(255,255,255,.85);
	outline-offset:2px;
	border-radius:8px;
	animation:cwb-guest-auth-pulse 1.2s ease-out 1;
}
@keyframes cwb-guest-auth-pulse{
	0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}
	70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}
	100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.cwb-user-menu-guest.is-auth-focus .cwb-user-menu-panel{
	/* Keep width lock intact while highlighting the open guest menu. */
	left:0!important;
	width:100%!important;
	min-width:0!important;
	max-width:100%!important;
	box-shadow:0 8px 22px rgba(16,24,40,.18),0 0 0 2px rgba(27,90,122,.28)!important;
}
.cwb-auth-prompt{
	max-width:420px;
	margin:12px 0;
	padding:10px 12px;
	border:1px solid #D0D5DD;
	border-radius:8px;
	background:#F8FAFC;
	color:#344054;
	box-shadow:none;
}
.cwb-auth-prompt-text{
	margin:0;
	font-size:13px;
	line-height:1.4;
	color:#344054;
}
.cwb-rates-gate{
	display:flex;
	flex-direction:column;
	gap:8px;
	align-items:stretch;
	min-width:0;
}
.cwb-rates-gate-text{
	margin:0;
	font-size:12px;
	line-height:1.35;
	font-weight:500;
	color:#344054;
}
.cwb-rates-gate-actions{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.cwb-rates-gate-actions .caribico-wb-btn{
	width:100%;
	justify-content:center;
	text-align:center;
	box-sizing:border-box;
	font-size:12px;
	min-height:32px;
	padding:6px 10px;
}
.caribico-wb-hotel-price.is-rates-gated,
.cwb-room-price.is-rates-gated{
	justify-content:flex-start;
}

/* ------------------------------------------------------------------
 * CARIBICO authentication UI — approved card design (v1.20.49)
 * Sign In / Register Partner / Registration Submitted + Forgot Password
 * Does not alter frozen .cwb-user-menu (146px) or platform header/footer.
 * ------------------------------------------------------------------ */
.caribico-wb-app[data-view="signin"],
.caribico-wb-app[data-view="register"],
.caribico-wb-app[data-view="registration_submitted"],
.caribico-wb-app[data-view="set_password"]{
	--cwb-auth-primary:#0B4A6F;
	--cwb-auth-primary-dark:#083A57;
	--cwb-auth-bg:#F1F5F9;
	--cwb-auth-text:#0F172A;
	--cwb-auth-muted:#64748B;
	--cwb-auth-border:#E2E8F0;
	--cwb-auth-radius:14px;
	--cwb-auth-shadow:0 8px 24px -8px rgba(15,23,42,.12),0 2px 8px -2px rgba(15,23,42,.06);
}
.caribico-wb-app[data-view="signin"] .caribico-wb-filters,
.caribico-wb-app[data-view="register"] .caribico-wb-filters,
.caribico-wb-app[data-view="registration_submitted"] .caribico-wb-filters,
.caribico-wb-app[data-view="set_password"] .caribico-wb-filters,
.caribico-wb-app[data-view="signin"] .cwb-results-toolbar,
.caribico-wb-app[data-view="register"] .cwb-results-toolbar,
.caribico-wb-app[data-view="registration_submitted"] .cwb-results-toolbar,
.caribico-wb-app[data-view="set_password"] .cwb-results-toolbar{
	display:none!important;
}
.caribico-wb-app[data-view="signin"] .cwb-results-layout,
.caribico-wb-app[data-view="register"] .cwb-results-layout,
.caribico-wb-app[data-view="registration_submitted"] .cwb-results-layout,
.caribico-wb-app[data-view="set_password"] .cwb-results-layout{
	display:grid!important;
	grid-template-columns:1fr!important;
}
.caribico-wb-app[data-view="signin"] #caribico-wb-results-region,
.caribico-wb-app[data-view="register"] #caribico-wb-results-region,
.caribico-wb-app[data-view="registration_submitted"] #caribico-wb-results-region,
.caribico-wb-app[data-view="set_password"] #caribico-wb-results-region{
	background:var(--cwb-auth-bg);
}
.caribico-wb-app[data-view="signin"] .cwb-results-column,
.caribico-wb-app[data-view="register"] .cwb-results-column,
.caribico-wb-app[data-view="registration_submitted"] .cwb-results-column,
.caribico-wb-app[data-view="set_password"] .cwb-results-column{
	min-height:0;
}
.cwb-auth-view{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding:48px 20px;
	min-height:calc(100vh - 200px);
	background:var(--cwb-auth-bg,#F1F5F9);
	box-sizing:border-box;
}
.cwb-auth-card{
	position:relative;
	z-index:1;
	display:block;
	width:100%;
	max-width:440px;
	margin:0 auto;
	padding:40px 40px 36px;
	border:0;
	border-radius:var(--cwb-auth-radius,14px);
	background:#fff;
	box-shadow:var(--cwb-auth-shadow);
	box-sizing:border-box;
	text-align:left;
	color:var(--cwb-auth-text,#0F172A);
}
.cwb-auth-card.is-wide{max-width:580px}
.caribico-wb-app[data-view="signin"] .cwb-auth-card,
.caribico-wb-app[data-view="registration_submitted"] .cwb-auth-card,
.caribico-wb-app[data-view="set_password"] .cwb-auth-card{
	width:100%!important;
	max-width:420px!important;
	margin-left:auto!important;
	margin-right:auto!important;
}
.caribico-wb-app[data-view="register"] .cwb-auth-card,
.caribico-wb-app[data-view="register"] .cwb-auth-card.is-wide{
	width:100%!important;
	max-width:580px!important;
	margin-left:auto!important;
	margin-right:auto!important;
}
.cwb-auth-card-title,
.cwb-auth-card h1,
.cwb-auth-modal-title{
	margin:0 0 28px;
	font-size:26px;
	font-weight:700;
	letter-spacing:-.5px;
	color:var(--cwb-auth-text,#0F172A);
	line-height:1.2;
	text-align:center;
}
.cwb-auth-modal-title{
	margin-bottom:12px;
	font-size:22px;
}
.cwb-auth-lede,
.cwb-auth-success-text,
.cwb-auth-modal-lede{
	margin:0;
	color:var(--cwb-auth-muted,#64748B);
	font-size:15px;
	line-height:1.5;
	text-align:center;
}
.cwb-auth-modal-lede{margin:0 0 28px;font-size:14.5px}
.cwb-auth-success-text{margin:0 0 20px}
.cwb-auth-form{margin:0}
.cwb-auth-section-title,
.cwb-auth-fieldset legend{
	margin:28px 0 16px;
	padding:0;
	border:0;
	color:var(--cwb-auth-muted,#64748B);
	font-size:13px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.5px;
}
.cwb-auth-form > .cwb-auth-section-title:first-of-type{margin-top:0}
.cwb-auth-fieldset{
	margin:0;
	padding:0;
	border:0;
}
.cwb-auth-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:0 16px;
}
.cwb-auth-field{margin:0 0 18px}
.cwb-auth-field-full{grid-column:1/-1}
.cwb-auth-field label{
	display:block;
	margin:0 0 7px;
	color:var(--cwb-auth-text,#0F172A);
	font-size:13.5px;
	font-weight:500;
}
.cwb-auth-input-wrap{
	position:relative;
	display:block;
}
.cwb-auth-field-icon{
	position:absolute;
	left:14px;
	top:50%;
	transform:translateY(-50%);
	width:18px;
	height:18px;
	color:#94A3B8;
	pointer-events:none;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
}
.cwb-auth-input-wrap-textarea .cwb-auth-field-icon{
	top:14px;
	transform:none;
}
.cwb-auth-field-icon svg{
	display:block;
	width:18px;
	height:18px;
	fill:none;
	stroke:currentColor;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.cwb-auth-field input,
.cwb-auth-field select,
.cwb-auth-field textarea,
.cwb-auth-input-wrap input,
.cwb-auth-input-wrap select,
.cwb-auth-input-wrap textarea,
.cwb-auth-input-plain{
	display:block;
	width:100%;
	box-sizing:border-box;
	height:48px;
	min-height:48px;
	max-height:48px;
	padding:0 16px 0 44px;
	border:1.5px solid var(--cwb-auth-border,#E2E8F0);
	border-radius:10px;
	background:#fff;
	color:var(--cwb-auth-text,#0F172A);
	font-size:15px;
	line-height:48px;
	transition:border-color .2s,box-shadow .2s;
	appearance:none;
	-webkit-appearance:none;
}
.cwb-auth-input-plain,
.cwb-auth-field > input.cwb-auth-input-plain{
	padding-left:16px;
}
.cwb-auth-field textarea,
.cwb-auth-input-wrap textarea{
	height:auto;
	min-height:72px;
	max-height:none;
	padding:12px 16px 12px 44px;
	line-height:1.4;
	resize:vertical;
}
.cwb-auth-field input:focus,
.cwb-auth-field select:focus,
.cwb-auth-field textarea:focus,
.cwb-auth-input-wrap input:focus,
.cwb-auth-input-wrap select:focus,
.cwb-auth-input-wrap textarea:focus,
.cwb-auth-input-plain:focus{
	outline:none;
	border-color:var(--cwb-auth-primary,#0B4A6F);
	box-shadow:0 0 0 4px rgba(11,74,111,.12);
}
.cwb-auth-input-wrap-password input{
	padding-right:48px;
}
.cwb-auth-password-toggle{
	position:absolute;
	right:8px;
	top:50%;
	transform:translateY(-50%);
	width:36px;
	height:36px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:0;
	background:transparent;
	color:#94A3B8;
	cursor:pointer;
	padding:0;
	border-radius:8px;
	z-index:2;
}
.cwb-auth-password-toggle:hover,
.cwb-auth-password-toggle:focus{
	color:var(--cwb-auth-primary,#0B4A6F);
	outline:none;
}
.cwb-auth-password-toggle svg{
	display:block;
	width:18px;
	height:18px;
}
.cwb-set-password-brand{
	display:flex;
	justify-content:center;
	margin:0 0 20px;
}
.cwb-set-password-logo{
	display:block;
	height:36px;
	width:auto;
	max-width:160px;
}
.cwb-set-password-lede{
	margin:0 0 24px;
}
.cwb-set-password-meta{
	margin:0 0 24px;
	padding:14px 16px;
	border:1px solid var(--cwb-auth-border,#E2E8F0);
	border-radius:10px;
	background:#F8FAFC;
}
.cwb-set-password-meta-row + .cwb-set-password-meta-row{
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid #E2E8F0;
}
.cwb-set-password-meta-label{
	display:block;
	margin:0 0 4px;
	font-size:12px;
	font-weight:600;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--cwb-auth-muted,#64748B);
}
.cwb-set-password-meta-value{
	display:block;
	font-size:15px;
	font-weight:600;
	color:var(--cwb-auth-text,#0F172A);
	word-break:break-word;
}
.cwb-password-strength{
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:10px;
	margin:0 0 22px;
	font-size:13px;
	color:var(--cwb-auth-muted,#64748B);
}
.cwb-password-strength-bar{
	display:block;
	height:6px;
	border-radius:999px;
	background:#E2E8F0;
	overflow:hidden;
}
.cwb-password-strength-fill{
	display:block;
	height:100%;
	width:0;
	border-radius:inherit;
	background:#94A3B8;
	transition:width .2s ease,background .2s ease;
}
.cwb-password-strength[data-level="weak"] .cwb-password-strength-fill{width:28%;background:#DC2626}
.cwb-password-strength[data-level="fair"] .cwb-password-strength-fill{width:50%;background:#D97706}
.cwb-password-strength[data-level="good"] .cwb-password-strength-fill{width:72%;background:#2563EB}
.cwb-password-strength[data-level="strong"] .cwb-password-strength-fill{width:100%;background:#059669}
.cwb-password-strength-value{font-weight:600;color:var(--cwb-auth-text,#0F172A)}
.cwb-set-password-success .cwb-auth-card-title{margin-top:12px}
.cwb-set-password-success .cwb-auth-actions{margin-top:24px}
.cwb-set-password-footer-brand{
	margin:28px 0 0;
	text-align:center;
	font-size:11px;
	font-weight:700;
	letter-spacing:.14em;
	color:#94A3B8;
}
.cwb-auth-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:22px 0 28px;
	flex-wrap:wrap;
	font-size:14px;
}
.cwb-auth-checkbox{
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--cwb-auth-muted,#64748B);
	font-size:14px;
	cursor:pointer;
}
.cwb-auth-checkbox input{
	width:16px;
	height:16px;
	margin:0;
	accent-color:var(--cwb-auth-primary,#0B4A6F);
}
.cwb-auth-text-btn{
	border:0;
	background:transparent;
	color:var(--cwb-auth-primary,#0B4A6F);
	font:500 14px/1.2 inherit;
	cursor:pointer;
	text-decoration:none;
	padding:0;
}
.cwb-auth-text-btn:hover{text-decoration:underline;text-underline-offset:2px}
.cwb-auth-actions{margin:0}
.cwb-auth-card .cwb-auth-submit,
.cwb-auth-card .caribico-wb-btn.caribico-wb-btn-primary.cwb-auth-submit,
.cwb-auth-form > .cwb-auth-submit,
.cwb-auth-modal-actions .cwb-auth-submit,
.cwb-auth-modal-actions .caribico-wb-btn{
	display:flex!important;
	align-items:center;
	justify-content:center;
	width:100%!important;
	min-width:0!important;
	height:50px!important;
	min-height:50px!important;
	padding:0 18px!important;
	border:none!important;
	border-radius:10px!important;
	background:var(--cwb-auth-primary,#0B4A6F)!important;
	color:#fff!important;
	font-size:15.5px!important;
	font-weight:600!important;
	letter-spacing:0;
	text-transform:none;
	line-height:1!important;
	box-shadow:0 4px 14px rgba(11,74,111,.25);
	text-decoration:none!important;
	box-sizing:border-box;
	transition:background .2s,transform .2s,box-shadow .2s;
}
.cwb-auth-card .cwb-auth-submit:hover,
.cwb-auth-form > .cwb-auth-submit:hover,
.cwb-auth-modal-actions .cwb-auth-submit:hover{
	background:var(--cwb-auth-primary-dark,#083A57)!important;
	transform:translateY(-1px);
	box-shadow:0 6px 20px rgba(11,74,111,.3);
}
.cwb-auth-btn-secondary,
.cwb-auth-modal-actions .caribico-wb-btn-secondary{
	background:#fff!important;
	color:var(--cwb-auth-text,#0F172A)!important;
	border:1.5px solid var(--cwb-auth-border,#E2E8F0)!important;
	box-shadow:none!important;
}
.cwb-auth-btn-secondary:hover,
.cwb-auth-modal-actions .caribico-wb-btn-secondary:hover{
	background:#F8FAFC!important;
	transform:none;
	box-shadow:none!important;
}
.cwb-auth-footer-link{
	margin:28px 0 0;
	padding:0;
	border:0;
	text-align:center;
	color:var(--cwb-auth-muted,#64748B);
	font-size:14.5px;
}
.cwb-auth-footer-link a{
	margin-left:4px;
	color:var(--cwb-auth-primary,#0B4A6F)!important;
	font-weight:500;
	text-decoration:none!important;
	text-transform:none;
	letter-spacing:0;
	white-space:normal;
	overflow-wrap:anywhere;
}
.cwb-auth-footer-link a:hover{text-decoration:underline!important;text-underline-offset:2px}
.cwb-auth-message{
	margin:0 0 18px;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	font-family:var(--cwb-font-family);
	font-size:var(--cwb-font-compact);
	font-weight:400;
	line-height:var(--cwb-line-compact);
}
.cwb-auth-message.is-error{
	color:#B42318;
}
.cwb-auth-message.is-success{
	color:#059669;
}
.cwb-auth-card-success{text-align:center;padding:48px 40px}
.cwb-auth-success-icon{
	width:72px;
	height:72px;
	margin:0 auto 24px;
	border-radius:50%;
	background:#ECFDF5;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#059669;
}
.cwb-auth-success-icon .cwb-auth-field-icon{
	position:static;
	transform:none;
	width:36px;
	height:36px;
	color:#059669;
}
.cwb-auth-success-icon .cwb-auth-field-icon svg{width:36px;height:36px}
.cwb-auth-card-success .cwb-auth-card-title{margin-bottom:12px}
.cwb-auth-status-badge{
	display:inline-flex;
	align-items:center;
	margin:8px 0 20px;
	padding:6px 14px;
	border-radius:20px;
	background:#FEF3C7;
	color:#92400E;
	font-size:13px;
	font-weight:600;
}
.cwb-auth-modal{
	--cwb-auth-primary:#0B4A6F;
	--cwb-auth-primary-dark:#083A57;
	--cwb-auth-text:#0F172A;
	--cwb-auth-muted:#64748B;
	--cwb-auth-border:#E2E8F0;
	position:fixed;
	inset:0;
	z-index:400;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
}
.cwb-auth-modal[hidden]{display:none!important}
.cwb-auth-modal-backdrop{
	position:absolute;
	inset:0;
	background:rgba(15,23,42,.45);
	-webkit-backdrop-filter:blur(4px);
	backdrop-filter:blur(4px);
}
.cwb-auth-modal-dialog{
	position:relative;
	z-index:1;
	width:100%;
	max-width:420px;
	margin:0 auto;
	padding:36px 36px 32px;
	border-radius:16px;
	background:#fff;
	box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
	box-sizing:border-box;
}
.cwb-auth-modal-close{
	position:absolute;
	top:18px;
	right:18px;
	width:32px;
	height:32px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:0;
	border-radius:8px;
	background:#F1F5F9;
	color:#64748B;
	cursor:pointer;
	padding:0;
}
.cwb-auth-modal-close:hover{background:#E2E8F0}
.cwb-auth-modal-close .cwb-auth-field-icon{
	position:static;
	transform:none;
	width:16px;
	height:16px;
	color:inherit;
}
.cwb-auth-modal-close .cwb-auth-field-icon svg{width:16px;height:16px}
.cwb-auth-modal-actions{
	display:flex;
	gap:12px;
	margin-top:28px;
}
.cwb-auth-modal-actions .caribico-wb-btn{flex:1}
@media(max-width:640px){
	.cwb-auth-view{padding:28px 16px;min-height:0}
	.cwb-auth-grid{grid-template-columns:1fr}
	.cwb-auth-card,
	.cwb-auth-card.is-wide,
	.caribico-wb-app[data-view="signin"] .cwb-auth-card,
	.caribico-wb-app[data-view="register"] .cwb-auth-card,
	.caribico-wb-app[data-view="register"] .cwb-auth-card.is-wide,
	.caribico-wb-app[data-view="registration_submitted"] .cwb-auth-card{
		max-width:100%!important;
		padding:28px 20px;
	}
	.cwb-auth-modal-dialog{padding:28px 20px 24px}
	.cwb-auth-modal-actions{flex-direction:column}
}


/* Agent Profile — minimal compact card (?view=profile) */
.caribico-wb-app[data-view="profile"],.caribico-wb-app[data-view="settings"]{background:#F6F8FA;max-width:1280px!important}
.caribico-wb-app[data-view="profile"] .cwb-results-layout,.caribico-wb-app[data-view="settings"] .cwb-results-layout{display:grid;grid-template-columns:1fr}
.caribico-wb-app[data-view="profile"] .caribico-wb-filters,
.caribico-wb-app[data-view="profile"] .cwb-results-toolbar,
.caribico-wb-app[data-view="settings"] .caribico-wb-filters,
.caribico-wb-app[data-view="settings"] .cwb-results-toolbar{display:none!important}
.caribico-wb-app[data-view="profile"] #caribico-wb-results-region,
.caribico-wb-app[data-view="settings"] #caribico-wb-results-region{background:#F6F8FA}
.cwb-agent-profile{max-width:540px;width:100%;margin:0 auto;box-sizing:border-box;padding:8px 0 28px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#101828}
.cwb-agent-profile-card{display:grid;gap:8px}
.cwb-agent-profile-block{padding:10px 12px;background:#fff;border:1px solid #E4E9ED;border-radius:10px;box-shadow:0 1px 3px rgba(16,24,40,.04)}
.cwb-agent-profile-heading{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#667085}
.cwb-agent-profile-rows{display:grid;gap:8px}
.cwb-agent-profile-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12px;line-height:1.35}
.cwb-agent-profile-row.is-stack{display:grid;gap:2px}
.cwb-agent-profile-label{color:#667085;font-weight:500}
.cwb-agent-profile-value{color:#344054;font-weight:500;min-width:0;overflow-wrap:anywhere}
.cwb-agent-profile-form{margin:0;display:grid;gap:6px}
.cwb-agent-profile-field{display:grid;gap:3px;font-size:12px;color:#344054}
.cwb-agent-profile-field span{font-weight:500;color:#667085}
.cwb-agent-profile-field input{width:100%;max-width:100%;box-sizing:border-box;min-height:30px;padding:5px 8px;border:1px solid #D0D5DD;border-radius:6px;font-size:12px;line-height:1.3;background:#fff;color:#101828}
.cwb-agent-profile-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.cwb-agent-profile-btn{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border:1px solid #1B5A7A;border-radius:6px;background:#1B5A7A;color:#fff;font-size:11px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:none;line-height:1.2}
.cwb-agent-profile-btn:hover{background:#164A65;border-color:#164A65;color:#fff}
.cwb-agent-profile-btn.is-secondary{background:#FCFCFD;border-color:#D0D5DD;color:#1B5A7A}
.cwb-agent-profile-btn.is-secondary:hover{background:#EAF3F7;border-color:#C9DDE7;color:#164A65}
.cwb-agent-profile-notice{margin:0 0 10px;padding:7px 10px;border-radius:8px;font-size:12px;line-height:1.35}
.cwb-agent-profile-notice.is-success{background:#ECFDF3;color:#027A48;border:1px solid #A6F4C5}
.cwb-agent-profile-notice.is-error{background:#FEF3F2;color:#B42318;border:1px solid #FECDCA}
@media(max-width:560px){.cwb-agent-profile{padding:8px 16px 28px;max-width:100%}}

/* Ops Agencies portal view (?view=agencies) — Request/Bookings density */
.caribico-wb-app[data-view="agencies"]{background:#F6F8FA;max-width:1280px!important}
.caribico-wb-app[data-view="agencies"] .cwb-results-layout{display:grid;grid-template-columns:1fr}
.caribico-wb-app[data-view="agencies"] .caribico-wb-filters,
.caribico-wb-app[data-view="agencies"] .cwb-results-toolbar{display:none!important}
.caribico-wb-app[data-view="agencies"] #caribico-wb-results-region{background:#F6F8FA}
.cwb-ops-agencies{max-width:1120px;margin:0 auto;padding:8px 0 40px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#101828}
.cwb-ops-agency-detail{max-width:520px;width:100%;margin:0 auto;box-sizing:border-box;padding:8px 0 28px}
.cwb-ops-agencies-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px}
.cwb-ops-agencies-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cwb-ops-agencies-title{margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.25;color:#101828}
.cwb-ops-agencies-lede{margin:0;font-size:13px;line-height:1.4;color:#667085}
.cwb-ops-agencies-count{margin:0;font-size:12px;font-weight:600;color:#344054}
.cwb-ops-agencies-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;font-weight:500;color:#1B5A7A;text-decoration:none}
.cwb-ops-agencies-back:hover{text-decoration:underline;color:#164A65}
.cwb-ops-agencies-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;padding:10px 12px;background:#fff;border:1px solid #E4E9ED;border-radius:10px;box-shadow:0 2px 8px rgba(16,24,40,.06)}
.cwb-ops-agencies-filters input[type="search"],
.cwb-ops-agencies-filters select{height:34px;min-height:34px;padding:0 10px;border:1px solid #D9E1E7;border-radius:8px;background:#fff;font-size:12px;color:#101828;box-shadow:none}
.cwb-ops-agencies-filters input[type="search"]{min-width:200px;flex:1 1 180px}
.cwb-ops-agencies-filters select{min-width:140px}
.cwb-ops-agencies-filter-btn{height:34px;min-height:34px;padding:0 12px;border:1px solid #D0D5DD;border-radius:8px;background:#FCFCFD;color:#1B5A7A;font-size:12px;font-weight:600;cursor:pointer}
.cwb-ops-agencies-filter-btn:hover{background:#EAF3F7}
.cwb-ops-agencies-table-wrap{overflow:auto;border:1px solid #E4E9ED;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.06)}
.cwb-ops-agencies-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}
.cwb-ops-agencies-table th,.cwb-ops-agencies-table td{padding:8px 10px;text-align:left;vertical-align:middle;border:0}
.cwb-ops-agencies-table th{background:#F8FAFB;color:#667085;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cwb-ops-agencies-table tbody td{background:#fff;color:#344054;line-height:1.35;border-top:1px solid #F0F3F6}
.cwb-ops-agencies-table tbody tr:nth-child(even) td{background:#F7F9FB}
.cwb-ops-agencies-table tbody tr:hover td{background:#F0F4F7}
.cwb-ops-agency-name{font-weight:600;color:#101828}
.cwb-ops-agency-status{display:inline-block;padding:2px 8px;border-radius:999px;background:#EAF3F7;color:#1B5A7A;font-size:11px;font-weight:600;line-height:1.4}
.cwb-ops-agency-status.is-pending{background:#FFF6E5;color:#B54708}
.cwb-ops-agency-status.is-suspended{background:#F2F4F7;color:#475467}
.cwb-ops-agency-status.is-rejected{background:#FEF3F2;color:#B42318}
.cwb-ops-agency-status.is-blocked{background:#FEF3F2;color:#912018}
.cwb-ops-agency-open{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid #D0D5DD;border-radius:7px;background:#FCFCFD;color:#1B5A7A;font-size:12px;font-weight:600;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.cwb-ops-agency-open:hover{background:#EAF3F7;border-color:#C9DDE7;color:#164A65}
.cwb-ops-agencies-empty{padding:18px;text-align:center;color:#667085;font-size:12px}
.cwb-ops-agency-detail-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:8px 10px;background:#fff;border:1px solid #E4E9ED;border-radius:10px;box-shadow:0 1px 3px rgba(16,24,40,.04)}
.cwb-ops-agency-detail-name{margin:0;font-size:15px;font-weight:700;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.cwb-ops-agency-blocks{display:grid;grid-template-columns:1fr;gap:8px;max-width:100%}
.cwb-ops-agency-block{padding:8px 10px;background:#fff;border:1px solid #E4E9ED;border-radius:10px;box-shadow:0 1px 3px rgba(16,24,40,.04)}
.cwb-ops-agency-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.cwb-ops-agency-block-head h2{margin:0}
.cwb-ops-agency-block h2{margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#667085}
.cwb-ops-agency-spam-control p,
.cwb-ops-agency-spam-control label{font-size:12px!important;font-weight:500!important;line-height:1.35!important;color:#344054!important}
.cwb-ops-agency-spam-control p{margin:0 0 8px!important}
.cwb-ops-agency-balance-context,
.cwb-ops-agency-balance-amount,
.cwb-ops-partner-api>p,
.cwb-ops-partner-api-copy,
.cwb-ops-partner-api-option{
	font-size:12px!important;
	font-weight:500!important;
	line-height:1.35!important;
	color:#344054!important;
}
.cwb-ops-agency-balance-context,
.cwb-ops-agency-balance-amount,
.cwb-ops-partner-api>p,
.cwb-ops-partner-api-copy{margin:0 0 8px!important}
.cwb-ops-partner-api-form{margin:0}
.cwb-ops-partner-api-option{display:block;margin:0 0 4px}
.cwb-ops-agency-rows{display:grid;gap:6px}
.cwb-ops-agency-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12px;line-height:1.35}
.cwb-ops-agency-row.is-stack{display:grid;gap:2px}
.cwb-ops-agency-row-label{color:#667085;font-weight:500;flex:0 0 auto}
.cwb-ops-agency-row-value{color:#344054;font-weight:500;min-width:0;overflow-wrap:anywhere}
.cwb-ops-agency-inline-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.cwb-ops-agency-notice{margin:0 0 10px;padding:7px 10px;border-radius:8px;font-size:12px;line-height:1.35}
.cwb-ops-agency-notice.is-success{background:#ECFDF3;color:#027A48;border:1px solid #A6F4C5}
.cwb-ops-agency-notice.is-error{background:#FEF3F2;color:#B42318;border:1px solid #FECDCA}
.cwb-ops-agency-header-actions{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cwb-ops-agency-status-form{display:inline;margin:0;padding:0}
.cwb-ops-agency-member-note{margin:10px 0 0;font-size:12px;color:#667085}
.cwb-ops-agency-btn{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border:1px solid #1B5A7A;border-radius:6px;background:#1B5A7A;color:#fff;font-size:11px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:none;line-height:1.2}
.cwb-ops-agency-btn:hover{background:#164A65;border-color:#164A65;color:#fff}
.cwb-ops-agency-btn.is-secondary{background:#FCFCFD;border-color:#D0D5DD;color:#1B5A7A}
.cwb-ops-agency-btn.is-secondary:hover{background:#EAF3F7;border-color:#C9DDE7;color:#164A65}
.cwb-ops-agency-inline-form{margin:8px 0 0;padding:8px;border:1px solid #E4E9ED;border-radius:8px;background:#F9FAFB;display:grid;gap:6px}
.cwb-ops-agency-field{display:grid;gap:3px;font-size:12px;color:#344054}
.cwb-ops-agency-field span{font-weight:500;color:#667085}
.cwb-ops-agency-field input,.cwb-ops-agency-field textarea{width:100%;max-width:100%;box-sizing:border-box;min-height:30px;padding:5px 8px;border:1px solid #D0D5DD;border-radius:6px;font-size:12px;line-height:1.3;background:#fff;color:#101828}
.cwb-ops-agency-field textarea{min-height:56px;resize:vertical}
.cwb-ops-agency-input-suffix{display:flex;align-items:center;gap:6px}
.cwb-ops-agency-input-suffix input{flex:1 1 auto}
.cwb-ops-agency-form-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.cwb-ops-agency-collapse{margin:8px 0 0;padding-top:8px;border-top:1px solid #E4E9ED}
.cwb-ops-agency-collapse>summary{cursor:pointer;list-style:none;font-size:11px;font-weight:600;color:#475467;user-select:none}
.cwb-ops-agency-collapse>summary::-webkit-details-marker{display:none}
.cwb-ops-agency-collapse>summary::before{content:"▾ ";font-size:10px;color:#98A2B3}
.cwb-ops-agency-collapse[open]>summary::before{content:"▴ "}
.cwb-ops-agency-collapse-body{margin-top:8px}
.cwb-ops-agency-history-empty{margin:0;font-size:12px;color:#98A2B3}
.cwb-ops-agency-history-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cwb-ops-agency-history-list li{display:grid;grid-template-columns:78px 1fr;gap:6px 8px;font-size:12px;line-height:1.35}
.cwb-ops-agency-history-when{color:#667085;font-weight:500}
.cwb-ops-agency-history-body{color:#344054}
.cwb-ops-agency-history-meta{margin-top:2px;color:#667085;font-size:11px}
.cwb-ops-agency-history-comment{margin-top:2px;color:#475467;font-size:11px}
.cwb-ops-agency-mini-table-wrap{overflow:auto;border:1px solid #E4E9ED;border-radius:8px}
.cwb-ops-agency-mini-table{width:100%;border-collapse:collapse;font-size:11px;min-width:420px}
.cwb-ops-agency-mini-table th,.cwb-ops-agency-mini-table td{padding:6px 8px;text-align:left;vertical-align:top;border:0}
.cwb-ops-agency-mini-table th{background:#F8FAFB;color:#667085;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cwb-ops-agency-mini-table tbody td{color:#344054;line-height:1.35;border-top:1px solid #F0F3F6}
.cwb-ops-agency-mini-table tbody tr:nth-child(even) td{background:#F7F9FB}
@media(max-width:560px){.cwb-ops-agency-detail{padding:8px 16px 28px;max-width:100%}.cwb-ops-agencies:not(.cwb-ops-agency-detail){padding:8px 16px 40px}}
@media(max-width:600px){.cwb-ops-agencies-filters input[type="search"],.cwb-ops-agencies-filters select,.cwb-ops-agencies-filter-btn{width:100%;flex:1 1 100%}.cwb-ops-agency-history-list li{grid-template-columns:1fr}.cwb-ops-agency-inline-row{align-items:flex-start}}

/* =============================================================================
 * Layout stability — Search / Searching / Booking widths (v1.30.18)
 * CSS only: prevent shrink-to-fit and column collapse across states.
 * ============================================================================= */
.cwb-platform-main{
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
	min-width:0!important;
}
.caribico-wb-app.is-searching,
.caribico-wb-app.has-results,
.caribico-wb-app:not(.has-results),
.caribico-wb-app[data-view="hotel"],
.caribico-wb-app[data-view="booking"],
.caribico-wb-app[data-view="results"],
.caribico-wb-app[data-view="search"],
.caribico-wb-app:not([data-view]),
.caribico-wb-app[data-view=""]{
	width:100%!important;
	max-width:1360px!important;
	box-sizing:border-box!important;
	/* Match header/footer gutters so the search card never flushes to viewport edges. */
	padding-left:32px!important;
	padding-right:32px!important;
}
.cwb-search-shell{
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
	flex-shrink:0!important;
	/* Keep breathing room inside the card on all widths. */
	padding-left:22px!important;
	padding-right:22px!important;
}
.cwb-search-grid,
.cwb-search-row,
.cwb-search-row-primary,
.cwb-search-row-meta{
	width:100%!important;
	box-sizing:border-box!important;
	min-width:0!important;
}
/* Desktop: 4-column primary bar — content fr tracks + compact Search action */
@media(min-width:1101px){
	.cwb-search-row-primary{
		grid-template-columns:minmax(0,1.45fr) minmax(0,1.35fr) minmax(0,1fr) max-content!important;
	}
	.cwb-search-row-primary > .caribico-wb-field,
	.cwb-search-row-primary > .cwb-occupancy-field,
	.cwb-search-row-primary > .cwb-date-range-field{
		min-width:0!important;
	}
	.cwb-search-row-primary .cwb-field-button,
	.cwb-search-row-primary .cwb-date-range-toggle,
	#cwb-occupancy-toggle{
		display:flex!important;
		align-items:center!important;
		width:100%!important;
		min-width:0!important;
		overflow:hidden!important;
	}
	.cwb-occupancy-label{
		display:flex!important;
		align-items:center!important;
		gap:10px!important;
		min-width:0!important;
		flex:1 1 auto!important;
		overflow:hidden!important;
	}
	#cwb-occupancy-summary,
	#cwb-date-range-summary{
		display:block!important;
		min-width:0!important;
		overflow:hidden!important;
		text-overflow:ellipsis!important;
		white-space:nowrap!important;
	}
	.cwb-search-row-primary .cwb-field-search-submit{
		justify-self:end!important;
		width:auto!important;
		min-width:0!important;
		display:flex!important;
		justify-content:flex-end!important;
		align-items:flex-end!important;
	}
	.cwb-search-row-primary .cwb-search-submit{
		width:auto!important;
		min-width:148px!important;
		max-width:none!important;
		padding-left:18px!important;
		padding-right:18px!important;
		flex:0 0 auto!important;
	}
}
@media(min-width:801px) and (max-width:1100px){
	/* Clean 2×2 tablet bar — overrides legacy 2-col + full-row Search stretch. */
	.cwb-search-row-primary{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
		grid-template-rows:auto auto!important;
		align-items:end!important;
	}
	.cwb-search-row-primary .cwb-field-destination,
	.cwb-search-row-primary .cwb-date-range-field,
	.cwb-search-row-primary .cwb-occupancy-field,
	.cwb-search-row-primary .cwb-field-search-submit{
		grid-column:auto!important;
		min-width:0!important;
	}
	.cwb-search-row-primary .cwb-field-destination,
	.cwb-search-row-primary .cwb-date-range-field{
		border-bottom:1px solid #E4E9ED!important;
	}
	.cwb-search-row-primary .cwb-date-range-field,
	.cwb-search-row-primary .cwb-field-search-submit{
		border-right:0!important;
	}
	.cwb-search-row-primary .cwb-field-button,
	.cwb-search-row-primary .cwb-date-range-toggle,
	#cwb-occupancy-toggle{
		display:flex!important;
		align-items:center!important;
		width:100%!important;
		min-width:0!important;
		overflow:hidden!important;
	}
	#cwb-occupancy-summary,
	#cwb-date-range-summary{
		display:block!important;
		min-width:0!important;
		overflow:hidden!important;
		text-overflow:ellipsis!important;
		white-space:nowrap!important;
	}
	.cwb-search-row-primary .cwb-field-search-submit{
		display:flex!important;
		justify-content:flex-end!important;
		align-items:flex-end!important;
		justify-self:stretch!important;
		width:auto!important;
		min-width:0!important;
	}
	.cwb-search-row-primary .cwb-search-submit{
		width:auto!important;
		min-width:140px!important;
		max-width:100%!important;
		flex:0 0 auto!important;
	}
}
.cwb-booking-form-layout,
.caribico-wb-booking,
#caribico-wb-booking{
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
}
.cwb-booking-guest-panel,
.cwb-booking-summary-card,
.cwb-booking-summary-column{
	min-width:0!important;
	box-sizing:border-box!important;
}
@media(min-width:901px){
	.cwb-booking-form-layout{
		grid-template-columns:minmax(0,1fr) minmax(280px,300px)!important;
		align-items:start!important;
	}
	.cwb-guest-row{
		grid-template-columns:72px 82px minmax(140px,1fr) minmax(140px,1fr)!important;
		width:100%!important;
		box-sizing:border-box!important;
	}
	.cwb-guest-row .caribico-wb-field{
		min-width:0!important;
	}
	.cwb-guest-row input,
	.cwb-guest-row select{
		width:100%!important;
		max-width:100%!important;
		box-sizing:border-box!important;
	}
}

/* Narrow viewports: keep page + card side gutters (match header 16px). */
@media(max-width:760px){
	.caribico-wb-app.is-searching,
	.caribico-wb-app.has-results,
	.caribico-wb-app:not(.has-results),
	.caribico-wb-app[data-view="hotel"],
	.caribico-wb-app[data-view="booking"],
	.caribico-wb-app[data-view="results"],
	.caribico-wb-app[data-view="search"],
	.caribico-wb-app:not([data-view]),
	.caribico-wb-app[data-view=""]{
		padding-left:16px!important;
		padding-right:16px!important;
	}
	.cwb-search-shell{
		padding-left:16px!important;
		padding-right:16px!important;
	}
}

/* Smart Search autocomplete — compact B2B rows (v1.34.3) */
.cwb-destination-option{display:flex!important;align-items:center!important;gap:8px!important;padding:6px 10px!important}
.cwb-destination-option-icon{flex:0 0 auto!important;line-height:1!important;font-size:12px!important}
.cwb-destination-option-body{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important}
.cwb-destination-option-label{font-size:13px!important;font-weight:600!important;color:var(--cwb-text,#101828)!important;line-height:1.25!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.cwb-destination-option-sub{display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;min-width:0!important;line-height:1.25!important}
.cwb-destination-option-meta{font-size:11px!important;color:var(--cwb-muted,#667085)!important;line-height:1.25!important}
.cwb-destination-option-sep{font-size:11px!important;color:#98A2B3!important}
.cwb-destination-option-type{font-size:10px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--cwb-primary,#1B5A7A)!important;margin-top:0!important}
.cwb-destination-option.is-hotel .cwb-destination-option-type{color:#0a5c46!important}
.cwb-destination-status{padding:8px 10px!important;font-size:12px!important}
.cwb-destination-recent-heading{padding:6px 10px 2px!important;font-size:10px!important}

/* Remove duplicate page titles; keep comfortable top spacing. */
.cwb-search-heading{display:none!important}
.cwb-search-shell{padding-top:18px!important}
.cwb-workspace-header--spacer{margin:0 0 10px!important;min-height:0!important;padding:0!important;border:0!important}
.cwb-workspace{padding-top:4px!important}
.cwb-agent-bookings{padding-top:4px!important}
.cwb-agent-bookings > .cwb-agent-bookings-header{display:none!important}
.cwb-bookings-lifecycle{margin-top:0!important;margin-bottom:12px!important}
/* Visually hidden (a11y) — bookings count kept for live updates without badge UI. */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* —— System messages: compact B2B typography (error / warning / success) ——
 * Presentation only. Max 11px; no oversized red alert blocks.
 * Does not restyle booking confirmation cards (those keep their own headers).
 */
.caribico-wb-app .cwb-booking-result.error:not(.is-confirm-inline),
.caribico-wb-app .caribico-wb-error,
.caribico-wb-app .cwb-search-status,
.caribico-wb-app .cwb-workspace-book-error,
.caribico-wb-app .cwb-terms-warning,
.caribico-wb-app .cwb-req-duplicate-notice,
.caribico-wb-app .cwb-price-mismatch-warning,
.caribico-wb-app .cwb-room-min-stay-warning,
.caribico-wb-app .cwb-booking-confirm-error,
.caribico-wb-app .cwb-field-error,
.caribico-wb-app .cwb-auth-message,
.caribico-wb-app .cwb-agent-profile-notice,
.caribico-wb-app .cwb-ops-agency-notice,
.caribico-wb-app .cwb-bookings-message.is-error,
.caribico-wb-app .caribico-wb-empty-state,
.caribico-wb-app .cwb-cancellation-policy-agency-block,
.caribico-wb-app .cwb-booking-result.success:not(:has(.cwb-confirmation-header)):not(:has(.cwb-confirmation-grid)){
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
.caribico-wb-app .cwb-booking-result.error:not(.is-confirm-inline),
.caribico-wb-app .caribico-wb-error,
.caribico-wb-app .cwb-workspace-book-error,
.caribico-wb-app .cwb-terms-warning,
.caribico-wb-app .cwb-auth-message,
.caribico-wb-app .cwb-agent-profile-notice,
.caribico-wb-app .cwb-ops-agency-notice,
.caribico-wb-app .cwb-search-status.is-error,
.caribico-wb-app .cwb-search-status.is-loading,
.caribico-wb-app .cwb-booking-result.success:not(:has(.cwb-confirmation-header)):not(:has(.cwb-confirmation-grid)){
	padding:6px 8px!important;
	border-radius:6px!important;
}
.caribico-wb-app .cwb-booking-result.error:not(.is-confirm-inline),
.caribico-wb-app .caribico-wb-error,
.caribico-wb-app .cwb-workspace-book-error,
.caribico-wb-app .cwb-search-status.is-error,
.caribico-wb-app .cwb-auth-message.is-error,
.caribico-wb-app .cwb-agent-profile-notice.is-error,
.caribico-wb-app .cwb-ops-agency-notice.is-error,
.caribico-wb-app .cwb-terms-warning,
.caribico-wb-app .cwb-bookings-message.is-error{
	color:#B42318!important;
	background:transparent!important;
	border:0!important;
}
.caribico-wb-app .cwb-req-duplicate-notice{
	padding:6px 8px!important;
	border-radius:0 6px 6px 0!important;
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
}
.caribico-wb-app .cwb-req-duplicate-notice-copy strong{
	font-size:11px!important;
	font-weight:600!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
.caribico-wb-app .cwb-req-duplicate-notice-copy p{
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
}
.caribico-wb-app .cwb-auth-message.is-success,
.caribico-wb-app .cwb-agent-profile-notice.is-success,
.caribico-wb-app .cwb-ops-agency-notice.is-success,
.caribico-wb-app .cwb-booking-result.success:not(:has(.cwb-confirmation-header)):not(:has(.cwb-confirmation-grid)){
	color:#027A48!important;
	background:transparent!important;
	border:0!important;
}
.caribico-wb-app .cwb-terms-warning strong,
.caribico-wb-app .cwb-terms-warning p,
.caribico-wb-app .caribico-wb-error p,
.caribico-wb-app .cwb-bookings-message.is-error p,
.caribico-wb-app .cwb-auth-message p,
.caribico-wb-app .cwb-cancellation-result p,
.caribico-wb-app .cwb-booking-detail .cwb-cancellation-result p{
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
.caribico-wb-app .cwb-terms-warning strong{
	font-weight:600!important;
	margin-bottom:1px!important;
}
.caribico-wb-app .cwb-booking-confirm-error,
.caribico-wb-app .cwb-booking-confirm-error-text{
	font-size:11px!important;
	font-weight:400!important;
	line-height:1.35!important;
	text-transform:none!important;
}
.caribico-wb-app .cwb-field-error{
	font-size:11px!important;
	font-weight:500!important;
	line-height:1.3!important;
}
.caribico-wb-app .cwb-room-min-stay-warning{
	margin:6px 0 0!important;
	padding:8px 10px!important;
	border-radius:8px!important;
	border:1px solid #F5B7B1!important;
	background:#FEF3F2!important;
	color:#B42318!important;
}
.caribico-wb-app .cwb-price-mismatch-warning{
	padding:8px 10px!important;
	border-radius:8px!important;
	border:1px solid #F5B7B1!important;
	background:#FEF3F2!important;
	color:#B42318!important;
}
.caribico-wb-app .cwb-cancellation-result.error,
.caribico-wb-app .cwb-booking-detail .cwb-cancellation-result.error{
	color:#B42318!important;
	background:#FEF3F2!important;
	border:1px solid #F5B7B1!important;
	border-radius:8px!important;
	padding:10px 12px!important;
	font-size:14px!important;
	font-weight:400!important;
	line-height:1.45!important;
}
/* Compact confirm-inline errors stay chrome-free but share typography. */
.caribico-wb-app .cwb-booking-result.error.is-confirm-inline{
	padding:0!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
}

/* —— My Bookings filter bar redesign (UI only, v1.47.18) —— */
.cwb-agent-bookings .cwb-bookings-toolbar{
	display:flex!important;
	flex-direction:column!important;
	gap:10px!important;
	margin:0 0 16px!important;
	padding:12px 14px!important;
	border:1px solid #E4E7EC!important;
	border-radius:12px!important;
	background:#fff!important;
	box-shadow:0 1px 2px rgba(16,24,40,.06)!important;
}
.cwb-agent-bookings .cwb-bookings-toolbar-row{
	display:flex!important;
	flex-wrap:wrap!important;
	align-items:center!important;
	gap:8px!important;
}
.cwb-agent-bookings .cwb-bookings-search-field{
	position:relative;
	display:flex;
	align-items:center;
	flex:1 1 280px;
	min-width:220px;
	max-width:100%;
}
.cwb-agent-bookings .cwb-bookings-search-field .cwb-bookings-field-icon{
	position:absolute;
	left:12px;
	top:50%;
	transform:translateY(-50%);
	display:inline-flex;
	width:16px;
	height:16px;
	color:#98A2B3;
	pointer-events:none;
	z-index:1;
}
.cwb-agent-bookings .cwb-bookings-search-field .cwb-bookings-field-icon svg{
	display:block;
	width:16px;
	height:16px;
}
.cwb-agent-bookings .cwb-bookings-toolbar-primary #cwb-bookings-search{
	flex:1 1 auto!important;
	width:100%!important;
	min-width:0!important;
	min-height:40px!important;
	height:40px!important;
	border:1px solid #D0D5DD!important;
	border-radius:8px!important;
	padding:0 12px 0 36px!important;
	background:#fff!important;
	color:#101828!important;
	font-size:13px!important;
	font-weight:400!important;
	line-height:1.25!important;
	box-shadow:none!important;
}
.cwb-agent-bookings .cwb-bookings-toolbar-primary #cwb-bookings-search::placeholder{
	color:#98A2B3;
}
.cwb-agent-bookings .cwb-bookings-toolbar select.cwb-bookings-filter-select,
.cwb-agent-bookings .cwb-bookings-toolbar select{
	flex:0 1 auto;
	min-width:132px;
	min-height:40px!important;
	height:40px!important;
	border:1px solid #D0D5DD!important;
	border-radius:8px!important;
	padding:0 28px 0 12px!important;
	background:#fff!important;
	color:#344054!important;
	font-size:13px!important;
	font-weight:500!important;
	line-height:1.25!important;
	box-shadow:none!important;
	appearance:none;
	-webkit-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2398A2B3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;
	background-position:right 10px center!important;
	background-size:12px!important;
	cursor:pointer;
}
.cwb-agent-bookings .cwb-bookings-filter-label,
.cwb-agent-bookings .cwb-bookings-filter-group-label{
	display:none!important;
}
.cwb-agent-bookings .cwb-bookings-clear{
	appearance:none;
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	gap:6px;
	margin-left:auto!important;
	min-height:40px!important;
	height:40px!important;
	padding:0 10px!important;
	border:0!important;
	border-radius:8px!important;
	background:transparent!important;
	color:var(--cwb-primary,#1B5A7A)!important;
	font-size:13px!important;
	font-weight:600!important;
	line-height:1!important;
	cursor:pointer;
	box-shadow:none!important;
	white-space:nowrap;
}
.cwb-agent-bookings .cwb-bookings-clear:hover,
.cwb-agent-bookings .cwb-bookings-clear:focus-visible{
	background:var(--cwb-primary-light,#EAF3F7)!important;
	outline:none;
}
.cwb-agent-bookings .cwb-bookings-clear-icon{
	display:inline-flex;
	width:14px;
	height:14px;
	color:inherit;
}
.cwb-agent-bookings .cwb-bookings-clear-icon svg{
	display:block;
	width:14px;
	height:14px;
}
.cwb-agent-bookings .cwb-bookings-toolbar-dates{
	align-items:center!important;
	gap:10px!important;
}
.cwb-agent-bookings .cwb-bookings-date-group{
	display:inline-flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px 8px;
	min-width:0;
}
.cwb-agent-bookings .cwb-bookings-date-group-sep{
	display:inline-block;
	align-self:stretch;
	width:1px;
	min-height:24px;
	margin:0 2px;
	background:#E4E7EC;
}
.cwb-agent-bookings .cwb-bookings-date-field{
	position:relative;
	display:inline-flex;
	min-width:0;
}
.cwb-agent-bookings .cwb-bookings-date-toggle{
	display:inline-flex!important;
	align-items:center;
	gap:8px;
	min-height:40px!important;
	height:40px!important;
	min-width:148px;
	max-width:100%;
	padding:0 12px!important;
	border:1px solid #D0D5DD!important;
	border-radius:8px!important;
	background:#fff!important;
	color:#667085!important;
	font:500 13px/1.25 inherit!important;
	cursor:pointer;
	text-align:left;
	box-sizing:border-box;
}
.cwb-agent-bookings .cwb-bookings-date-toggle .cwb-bookings-field-icon{
	display:inline-flex;
	flex:0 0 16px;
	width:16px;
	height:16px;
	color:#98A2B3;
}
.cwb-agent-bookings .cwb-bookings-date-toggle .cwb-bookings-field-icon svg{
	display:block;
	width:16px;
	height:16px;
}
.cwb-agent-bookings .cwb-bookings-date-toggle-label{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cwb-agent-bookings .cwb-bookings-date-toggle.has-value{
	color:#101828!important;
	font-weight:600!important;
}
.cwb-agent-bookings .cwb-bookings-date-sep{
	color:#98A2B3;
	font-size:13px;
	line-height:1;
	user-select:none;
}
.cwb-agent-bookings .cwb-bookings-toolbar-primary #cwb-bookings-search:focus,
.cwb-agent-bookings .cwb-bookings-toolbar select:focus,
.cwb-agent-bookings .cwb-bookings-date-toggle:focus-visible{
	outline:3px solid rgba(27,90,122,.14)!important;
	border-color:var(--cwb-primary,#1B5A7A)!important;
}
@media(max-width:900px){
	.cwb-agent-bookings .cwb-bookings-toolbar-row{
		flex-direction:column!important;
		align-items:stretch!important;
	}
	.cwb-agent-bookings .cwb-bookings-search-field,
	.cwb-agent-bookings .cwb-bookings-toolbar select,
	.cwb-agent-bookings .cwb-bookings-clear,
	.cwb-agent-bookings .cwb-bookings-date-field,
	.cwb-agent-bookings .cwb-bookings-date-toggle{
		width:100%!important;
		max-width:none!important;
		min-width:0!important;
	}
	.cwb-agent-bookings .cwb-bookings-clear{margin-left:0!important}
	.cwb-agent-bookings .cwb-bookings-date-group{
		display:flex;
		width:100%;
	}
	.cwb-agent-bookings .cwb-bookings-date-group-sep{
		display:none;
	}
	.cwb-agent-bookings .cwb-bookings-date-field{flex:1 1 auto}
}

/* v1.49.41 — flat, single-line results toolbar. */
.cwb-results-freshness.is-stale,
.cwb-results-freshness.is-stale .cwb-results-freshness-status,
.cwb-results-freshness.is-stale .cwb-results-freshness-age,
.cwb-results-freshness.is-stale .cwb-results-sep{
	color:#667085!important;
}
#cwb-refresh-results.cwb-refresh-inline.is-price-expired,
#cwb-refresh-results.cwb-refresh-inline.is-price-expired:hover{
	border-color:transparent!important;
	background:transparent!important;
	color:#475467!important;
}
@media(min-width:761px){
	.cwb-results-toolbar{
		display:flex!important;
		align-items:center!important;
		justify-content:space-between!important;
		flex-wrap:nowrap!important;
		min-height:32px;
		gap:10px!important;
		padding:0 4px 6px 0;
	}
	.cwb-results-header-meta{
		display:flex!important;
		align-items:center!important;
		flex:1 1 auto;
		flex-wrap:nowrap!important;
		min-width:0;
		gap:0!important;
		color:#667085!important;
		font-size:12px!important;
		font-weight:400!important;
		line-height:1.2!important;
		white-space:nowrap;
	}
	.cwb-results-count-block,
	.cwb-results-freshness-status,
	.cwb-results-freshness-age,
	.cwb-results-freshness .cwb-booking-lock-inline{
		display:inline!important;
		min-height:0!important;
		padding:0!important;
		border:0!important;
		border-radius:0!important;
		background:transparent!important;
		color:#667085!important;
		font-size:12px!important;
		font-weight:400!important;
		line-height:1.2!important;
		white-space:nowrap;
	}
	.cwb-results-toolbar strong,
	#cwb-results-count,
	#cwb-lock-countdown{
		color:#667085!important;
		font-size:12px!important;
		font-weight:400!important;
		line-height:1.2!important;
	}
	.cwb-results-freshness{
		display:inline-flex;
		align-items:center;
		flex-wrap:nowrap!important;
		min-width:0;
		gap:0!important;
		white-space:nowrap;
	}
	.cwb-results-freshness .cwb-booking-lock-inline{
		margin:0!important;
	}
	.cwb-results-sep{
		display:inline!important;
		margin:0 6px!important;
		color:#98A2B3!important;
		font-weight:400!important;
	}
	.cwb-refresh-inline,
	#cwb-refresh-results.cwb-refresh-inline{
		margin-left:6px!important;
		min-height:24px!important;
		height:24px!important;
		padding:0 2px!important;
		border:0!important;
		border-radius:0!important;
		background:transparent!important;
		box-shadow:none!important;
		color:#667085!important;
		font-family:inherit!important;
		font-size:12px!important;
		font-weight:400!important;
		line-height:1!important;
	}
	.cwb-refresh-inline:hover,
	#cwb-refresh-results.cwb-refresh-inline:hover{
		border:0!important;
		background:transparent!important;
		color:#344054!important;
		text-decoration:underline;
	}
	.cwb-results-actions{
		display:flex!important;
		align-items:center!important;
		flex:0 0 auto;
		margin-left:auto;
		gap:6px!important;
		color:#667085;
		font-size:12px!important;
		font-weight:400!important;
		white-space:nowrap;
	}
	.cwb-results-actions label{
		color:#667085;
		font-size:12px;
		font-weight:400;
		white-space:nowrap;
	}
	.cwb-map-toggle,
	.caribico-wb-app.is-map-mode .cwb-map-toggle{
		min-height:32px!important;
		height:32px!important;
		padding:0 10px!important;
		border:1px solid #D0D5DD!important;
		border-radius:8px!important;
		background:#FFFFFF!important;
		box-shadow:none!important;
		color:#344054!important;
		font-family:inherit!important;
		font-size:12px!important;
		font-weight:400!important;
		line-height:1!important;
	}
	.cwb-map-toggle:hover,
	.caribico-wb-app.is-map-mode .cwb-map-toggle:hover{
		border-color:#B8C0CC!important;
		background:#F9FAFB!important;
		color:#344054!important;
	}
	.cwb-map-toggle:focus-visible{
		outline:2px solid #E4E7EC!important;
		outline-offset:2px!important;
	}
	.cwb-results-actions select,
	#cwb-sort{
		width:150px!important;
		min-width:150px!important;
		max-width:150px!important;
		height:32px!important;
		min-height:32px!important;
		padding:0 34px 0 10px!important;
		border:1px solid #D0D5DD!important;
		border-radius:8px!important;
		background-color:#FFFFFF!important;
		background-position:right 12px center!important;
		box-shadow:none!important;
		color:#344054!important;
		font-family:inherit!important;
		font-size:12px!important;
		font-weight:400!important;
	}
}
.cwb-hotel-board-chips{
	display:inline-flex;
	align-items:center;
	flex-wrap:wrap;
	gap:0;
}
.cwb-hotel-board-chip,
.caribico-wb-hotel-card.is-compact .cwb-hotel-board-chip{
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	color:#667085!important;
	font-size:10px!important;
	font-weight:400!important;
	line-height:1.35!important;
}
.cwb-hotel-board-chip + .cwb-hotel-board-chip::before{
	content:"·";
	margin:0 6px;
	color:#98A2B3;
}
/* End v1.49.41 results toolbar. */

.cwb-room-row.is-without-image{
	grid-template-columns:minmax(0,1fr) 190px!important;
}
.cwb-room-row.is-without-image .cwb-room-image{
	display:none!important;
}
.cwb-room-hotel-photo-label{
	position:absolute;
	left:8px;
	bottom:8px;
	max-width:calc(100% - 16px);
	padding:3px 6px;
	border-radius:4px;
	background:#FFFFFF;
	color:#344054;
	font-size:10px;
	line-height:1.2;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.cwb-room-rate-notes{
	margin:4px 0;
	font-size:11px;
	color:#475467;
}
.cwb-room-rate-notes summary{
	cursor:pointer;
	font-weight:600;
}
.cwb-room-rate-notes .cwb-rate-notes{
	margin:4px 0 0 14px;
}
.cwb-room-rate-notes .cwb-rate-notes-label{
	display:none;
}
@media(max-width:600px){
	.cwb-room-row.is-without-image{
		grid-template-columns:1fr!important;
	}
	.cwb-room-row.is-without-image .cwb-room-price{
		grid-column:1!important;
	}
}

/* Clear is out of flow within the existing destination label row. No panel geometry changes. */
.cwb-field-destination{position:relative}
#cwb-clear-search{position:absolute;top:0;right:12px;background:none;border:0;color:#1d607c;text-decoration:underline;cursor:pointer;padding:0;font:inherit;font-size:11px;line-height:16px}
#cwb-clear-search:disabled{opacity:.5;cursor:wait}
@media(max-width:800px){#cwb-clear-search{top:8px}}

/* Unified system signals: readable plain text, never alert-card or pill UI. */
.caribico-wb-app .cwb-booking-result.error:not(.is-confirm-inline),
.caribico-wb-app .caribico-wb-error,
.caribico-wb-app .cwb-search-status,
.caribico-wb-app .cwb-workspace-book-error,
.caribico-wb-app .cwb-terms-warning,
.caribico-wb-app .cwb-req-duplicate-notice,
.caribico-wb-app .cwb-price-mismatch-warning,
.caribico-wb-app .cwb-room-min-stay-warning,
.caribico-wb-app .cwb-booking-confirm-error,
.caribico-wb-app .cwb-booking-confirm-error-text,
.caribico-wb-app .cwb-field-error,
.caribico-wb-app .cwb-auth-message,
.caribico-wb-app .cwb-agent-profile-notice,
.caribico-wb-app .cwb-ops-agency-notice,
.caribico-wb-app .cwb-bookings-message.is-error,
.caribico-wb-app .caribico-wb-empty-state,
.caribico-wb-app .cwb-static-filter-empty,
.caribico-wb-app .cwb-cancellation-policy-agency-block,
.caribico-wb-app .cwb-cancellation-result.error,
.caribico-wb-app .cwb-booking-detail .cwb-cancellation-result.error,
.caribico-wb-app .cwb-room-request-status,
.caribico-wb-app .cwb-room-available-status,
.caribico-wb-app .cwb-rates-gate-text,
.caribico-wb-app .cwb-meta-unavailable,
.caribico-wb-app .cwb-booking-result.success:not(:has(.cwb-confirmation-header)):not(:has(.cwb-confirmation-grid)){
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	font-size:12px!important;
	font-weight:400!important;
	line-height:1.35!important;
	text-transform:none!important;
	letter-spacing:normal!important;
}
.caribico-wb-app .cwb-terms-warning strong,
.caribico-wb-app .cwb-terms-warning p,
.caribico-wb-app .caribico-wb-error p,
.caribico-wb-app .cwb-bookings-message.is-error p,
.caribico-wb-app .cwb-auth-message p,
.caribico-wb-app .cwb-cancellation-result p,
.caribico-wb-app .cwb-booking-detail .cwb-cancellation-result p,
.caribico-wb-app .cwb-req-duplicate-notice-copy strong,
.caribico-wb-app .cwb-req-duplicate-notice-copy p{
	font-size:12px!important;
	line-height:1.35!important;
}
.caribico-wb-app .cwb-booking-result.error:not(.is-confirm-inline),
.caribico-wb-app .caribico-wb-error,
.caribico-wb-app .cwb-workspace-book-error,
.caribico-wb-app .cwb-search-status.is-error,
.caribico-wb-app .cwb-auth-message.is-error,
.caribico-wb-app .cwb-agent-profile-notice.is-error,
.caribico-wb-app .cwb-ops-agency-notice.is-error,
.caribico-wb-app .cwb-terms-warning,
.caribico-wb-app .cwb-bookings-message.is-error,
.caribico-wb-app .cwb-price-mismatch-warning,
.caribico-wb-app .cwb-room-min-stay-warning,
.caribico-wb-app .cwb-cancellation-result.error,
.caribico-wb-app .cwb-booking-detail .cwb-cancellation-result.error{
	color:#B42318!important;
}
.caribico-wb-app .cwb-auth-message.is-success,
.caribico-wb-app .cwb-agent-profile-notice.is-success,
.caribico-wb-app .cwb-ops-agency-notice.is-success,
.caribico-wb-app .cwb-booking-result.success:not(:has(.cwb-confirmation-header)):not(:has(.cwb-confirmation-grid)){
	color:#027A48!important;
}
.cwb-room-hotel-photo-label,
.cwb-hotel-title-note,
.cwb-content-note{
	display:none!important;
}
