/* The itinerary uses one document scroll; the overview grows with its days. */
@media (min-width:821px) {
  .page-quotes .quoteedit-itinerary > div:first-child { display:block; overflow-y:auto; scroll-padding-top:74px; container:quote-workspace-main / inline-size; }
  .page-quotes .quoteedit-itinerary .quote-editor-head { padding:16px 20px; }
  .page-quotes .quoteedit-itinerary .quote-context-meta { display:none; }
  .page-quotes .quote-workspace-overview { display:grid; grid-template-columns:minmax(190px,2fr) repeat(2,minmax(118px,1fr)) repeat(4,minmax(60px,.5fr)); gap:12px; margin:6px 0; }
  .page-quotes .quote-workspace-overview label { display:grid; gap:6px; min-width:0; color:#78869a; font-size:12px; }
  .page-quotes .quote-workspace-overview input { width:100%; min-width:0; height:36px; }
  .page-quotes .quote-workspace-overview .workspace-trip-title input { color:#253858; font-weight:600; }
  .page-quotes .quoteedit-itinerary .quote-owner-line { gap:8px 14px; margin-top:0; padding:4px 0 8px; }
  .page-quotes .quoteedit-itinerary .quote-financial-metric { min-height:72px; padding:12px 16px; gap:5px; }
  .page-quotes .quoteedit-itinerary .quote-financial-metric > strong { font-size:23px; }
  .page-quotes .quote-step-nav .workspace-all-costs { margin-left:auto; }
  .page-quotes .quoteedit-costs .quote-step-nav,
  .page-quotes .quoteedit-itinerary .quote-step-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .page-quotes .quote-actions .quote-financial-command { width:auto; padding:6px 10px; white-space:nowrap; }
  .page-quotes .quoteedit-itinerary .quote-step-pane.active { position:relative; z-index:0; isolation:isolate; height:auto; min-height:0; overflow:visible; }
  .page-quotes .quoteedit-itinerary .quote-step-nav { z-index:20; isolation:isolate; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-workbench { display:grid; grid-template-columns:210px minmax(0,1fr); height:auto; min-height:0; overflow:visible; align-items:start; gap:16px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-rail { position:static; height:auto !important; max-height:none; overflow:visible; padding:12px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-days { overflow:visible; max-height:none; }
  .page-quotes .quoteedit-itinerary .quote-rail-head { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 6px 12px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head h3 { font-size:14px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head .actions { gap:6px; flex-wrap:wrap; }
  .page-quotes .quoteedit-itinerary .quote-rail-head .btn { font-size:11px; padding:6px 8px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-editor { display:block; height:auto; min-height:0; max-height:none; overflow:visible; padding:18px; }
  .page-quotes .quoteedit-itinerary .quote-active-day-head { margin-bottom:10px; padding:0 0 12px; }
  .page-quotes .quoteedit-itinerary .quote-active-day-title { display:none; }
  .page-quotes .quoteedit-itinerary .quote-active-day-toolbar { width:100%; justify-content:space-between; gap:8px; flex-wrap:wrap; }
  .page-quotes .quoteedit-itinerary .manual-itinerary-resources { height:auto; max-height:none; overflow:visible; }
  .page-quotes .quoteedit-itinerary .itinerary-focus-summary { display:flex; align-items:center; flex-wrap:wrap; padding:0 0 12px; margin-bottom:12px; background:transparent; gap:8px 12px; }
  .page-quotes .quoteedit-itinerary .itinerary-focus-nav { margin-left:auto; }
  .page-quotes .quoteedit-itinerary .itinerary-section-heading { margin-bottom:10px; padding-bottom:8px; }
  .page-quotes .quoteedit-itinerary .itinerary-core-section > .itinerary-section-heading { padding:0; }
  .page-quotes .quoteedit-itinerary .itinerary-core-section > .itinerary-section-heading small { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-focus-summary-copy > div > small:last-child { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-editor-section { padding:0; border:0; box-shadow:none; background:transparent; scroll-margin-top:70px; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid { grid-template-columns:145px minmax(100px,1fr) minmax(160px,2fr); gap:12px; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label.wide:not(.itinerary-attractions-field) { grid-column:auto; }
  .page-quotes .quoteedit-itinerary .itinerary-text-label { grid-column:1/-1; order:4; }
  .page-quotes .quoteedit-itinerary .itinerary-attractions-field { grid-column:1/-1; order:5; }
  .page-quotes .quoteedit-itinerary .itinerary-main-text { min-height:200px; height:auto; max-height:none; overflow:visible; padding:16px; line-height:1.85; font-size:14px; }
  .page-quotes .quoteedit-itinerary .itinerary-day-images:not(:has(.itinerary-image-thumbnails)) { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:6px 10px; margin-bottom:8px; }
  .page-quotes .quoteedit-itinerary .itinerary-day-images:not(:has(.itinerary-image-thumbnails)) .itinerary-image-toolbar { flex:1; gap:12px; }
  .page-quotes .quoteedit-itinerary .itinerary-day-images > small { margin:0; font-size:10px; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section { margin-top:22px; padding-top:20px; border-top:1px solid #e2e8f1; }
  .page-quotes .workspace-resource-actions { display:flex; gap:8px; flex-wrap:wrap; }
  .page-quotes .workspace-costs { margin:12px 0 18px; min-width:0; }
  .page-quotes .workspace-cost-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:12px 0 8px; font-size:12px; color:#78869a; }
  .page-quotes .workspace-cost-heading strong { font-weight:600; color:#253858; }
  .page-quotes .workspace-cost-heading .actions { flex-wrap:wrap; gap:6px; }
  .page-quotes .workspace-costs .quote-cost-table { display:block; height:auto; min-height:0; max-height:none; overflow:visible; border:1px solid #e2e8f1; border-radius:10px; }
  .page-quotes .workspace-costs .costrow-summary { min-width:0; grid-template-columns:66px 55px minmax(130px,1fr) 90px 90px 95px 32px; gap:8px; padding:12px; }
  .page-quotes .workspace-costs .costrow { min-width:0; }
  .page-quotes .workspace-costs .costrow:last-child { border-bottom:0; }
  .page-quotes .workspace-costs .costrow-summary > * { min-width:0; overflow-wrap:anywhere; }
  .page-quotes .workspace-costs .cost-item-main strong { white-space:normal; }
  .page-quotes .workspace-costs .cost-pricing-detail { white-space:normal; font-size:11px; }
  .page-quotes .workspace-cost-note { font-size:11px; color:#78869a; line-height:1.6; margin:8px 0 0; }
  .page-quotes .workspace-review { display:flex; gap:8px; align-items:flex-start; padding:10px 12px; margin:10px 0; background:#fff8eb; color:#8c6222; border-radius:8px; font-size:12px; line-height:1.6; }
  .page-quotes .workspace-empty-costs { border:1px dashed #d9e0ec; border-radius:8px; padding:14px; color:#78869a; font-size:12px; }
  .page-quotes .quoteedit-itinerary .itinerary-more-section { margin-top:20px; }
  .page-quotes .quoteedit-itinerary .itinerary-guide-notes { margin-top:16px; }
}
@media (min-width:821px) and (max-width:1250px) {
  .page-quotes .quote-workspace-overview { grid-template-columns:minmax(180px,1fr) repeat(2,132px); }
  .page-quotes .quoteedit-itinerary .quote-itinerary-workbench { grid-template-columns:175px minmax(0,1fr); gap:12px; }
  .page-quotes .workspace-costs .costrow-summary { grid-template-columns:54px 45px minmax(100px,1fr) 76px 32px; }
  .page-quotes .workspace-costs .costrow-summary .cost-component,.page-quotes .workspace-costs .costrow-summary .cost-pricing-detail { display:none; }
  .page-quotes .workspace-costs .cost-scope-mobile-badge { display:block; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid { grid-template-columns:135px minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label.wide:not(.itinerary-attractions-field) { grid-column:1/-1; }
}
@media (max-width:820px) { .quote-workspace-overview { display:none; } }
@container quote-workspace-main (max-width:1000px) {
  .page-quotes .quote-workspace-overview { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .page-quotes .quote-workspace-overview .workspace-trip-title { grid-column:span 2; }
  .page-quotes .workspace-costs .costrow-summary { grid-template-columns:54px minmax(100px,1fr) 76px 32px; }
  .page-quotes .workspace-costs .costrow-summary .cost-type,.page-quotes .workspace-costs .costrow-summary .cost-component,.page-quotes .workspace-costs .costrow-summary .cost-pricing-detail { display:none; }
  .page-quotes .workspace-costs .cost-scope-mobile-badge { display:block; }
}
@container quote-workspace-main (max-width:750px) {
  .page-quotes .quoteedit-itinerary .quote-itinerary-workbench { grid-template-columns:minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .quote-itinerary-rail { position:static; max-height:none; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-days { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-quotes .quoteedit-itinerary .quote-rail-head { justify-content:space-between; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid { grid-template-columns:120px minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label.wide:not(.itinerary-attractions-field) { grid-column:1/-1; }
}

/* Match the approved compact workbench: one header row, a quiet toolbar,
   and resource cards immediately below the growing itinerary text. */
@media (min-width:821px) {
  .page-quotes .quoteedit-itinerary .quote-editor-head { gap:7px; padding:12px 18px; }
  .page-quotes .quoteedit-itinerary .quote-number-title { font-size:30px; }
  .page-quotes .quoteedit-itinerary .quote-workspace-overview { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:3px 0; }
  .page-quotes .quoteedit-itinerary .workspace-trip-title { display:flex; align-items:center; gap:10px; width:min(420px,100%); }
  .page-quotes .quoteedit-itinerary .workspace-trip-title > .ui-icon { width:18px; height:18px; flex:none; color:#5268d4; }
  .page-quotes .quoteedit-itinerary .workspace-trip-title input { font-size:14px; }
  .page-quotes .workspace-trip-details { position:relative; font-size:12px; color:#65748b; }
  .page-quotes .workspace-trip-details > summary { display:flex; align-items:center; gap:12px; list-style:none; cursor:pointer; min-height:30px; }
  .page-quotes .workspace-trip-details > summary::-webkit-details-marker { display:none; }
  .page-quotes .workspace-trip-details > summary:focus-visible { outline:2px solid #5268d4; outline-offset:3px; border-radius:4px; }
  .page-quotes .workspace-trip-fields { position:absolute; top:calc(100% + 6px); left:0; z-index:45; width:420px; max-width:70vw; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:16px; background:white; border:1px solid #dfe5ee; border-radius:10px; box-shadow:0 12px 30px #172b4d1a; }
  .page-quotes .workspace-trip-fields > label:nth-child(-n+2) { grid-column:span 2; }
  .page-quotes .quoteedit-itinerary .quote-owner-line { min-height:26px; padding:0; gap:8px 16px; border:0; }
  .page-quotes .quoteedit-itinerary .quote-edit-state-group { font-size:11px; }
  .page-quotes .quoteedit-itinerary .quote-financial-strip { margin:3px 0 0; gap:14px; }
  .page-quotes .quoteedit-itinerary .quote-financial-metric { min-height:72px; }
  .page-quotes .quoteedit-itinerary .quote-step-nav .workspace-all-costs { display:none; }
  .page-quotes .workspace-cost-back { grid-column:1 / -1; justify-self:start; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-workbench { grid-template-columns:260px minmax(0,1fr); gap:12px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-rail { padding:0 10px 12px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head { flex-wrap:nowrap; justify-content:space-between; padding:14px 6px; background:white; margin-bottom:6px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head h3 { font-size:16px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head .actions { display:flex; flex-wrap:nowrap; }
  .page-quotes .quoteedit-itinerary .quote-rail-head .btn { font-size:0; width:30px; height:30px; padding:6px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head .btn .ui-icon { width:16px; height:16px; }
  .page-quotes .quoteedit-itinerary .quote-rail-head:has(.btn[onclick="cancelItineraryBatchDelete()"]) { flex-wrap:wrap; }
  .page-quotes .quoteedit-itinerary .quote-rail-head:has(.btn[onclick="cancelItineraryBatchDelete()"]) .btn { width:auto; font-size:11px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-days { gap:4px; margin-top:8px; padding-right:0; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-day-card { grid-template-columns:68px minmax(0,1fr); gap:10px; min-height:76px; padding:8px; margin-bottom:0; border:0; border-radius:7px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-day-card.batch-mode { grid-template-columns:20px 68px minmax(0,1fr); gap:6px; }
  .page-quotes .quoteedit-itinerary .quote-day-copy { gap:4px; }
  .page-quotes .quoteedit-itinerary .quote-day-copy strong { flex:0 0 auto; height:auto; min-height:0; overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; line-height:1.45; }
  .page-quotes .quoteedit-itinerary .quote-day-copy .quote-day-hotel { align-items:flex-start; overflow:visible; white-space:normal; line-height:1.4; }
  .page-quotes .quoteedit-itinerary .quote-day-hotel span { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
  .page-quotes .quoteedit-itinerary .quote-day-hotel .ui-icon { margin-top:1px; }
  .page-quotes .quoteedit-itinerary .quote-itinerary-editor { padding:12px 16px 18px; }
  .page-quotes .quoteedit-itinerary .quote-active-day-head { margin:0 -2px 8px; padding:0 0 10px; background:white; }
  .page-quotes .quoteedit-itinerary .quote-active-day-toolbar .btn { height:32px; font-size:12px; }
  .page-quotes .quoteedit-itinerary .manual-itinerary-resources { gap:6px; }
  .page-quotes .quoteedit-itinerary .itinerary-focus-summary { position:static; z-index:auto; top:auto; padding:0; margin:4px 0 4px; border:0; box-shadow:none; backdrop-filter:none; }
  .page-quotes .quoteedit-itinerary .itinerary-focus-summary-copy .ui-day-weekday { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-focus-nav .btn { padding:4px 6px; font-size:11px; }
  .page-quotes .quoteedit-itinerary .itinerary-scope-tools .btn { font-size:11px; height:28px; padding:4px 8px; }
  .page-quotes .quoteedit-itinerary .workspace-core-heading { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid { align-items:start; gap:12px; grid-template-columns:180px minmax(150px,1fr) minmax(220px,2fr); }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label { display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:12px; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label input { flex:1; min-width:0; height:34px; }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label.workspace-city-field { align-items:flex-start; }
  .page-quotes .workspace-city-field > span:first-child { padding-top:8px; }
  .page-quotes .workspace-city-control { display:grid; flex:1; min-width:0; gap:4px; }
  .page-quotes .workspace-city-control input { width:100%; }
  .page-quotes .workspace-city-control small { color:#78869a; font-size:10px; line-height:1.5; white-space:normal; }
  .page-quotes .workspace-city-control small[hidden] { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-text-label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0; border:1px solid #e2e8f1; border-radius:8px; overflow:visible; background:#f8fafd; }
  .page-quotes .quoteedit-itinerary .itinerary-text-label > .field-heading { grid-column:1; grid-row:1; padding:7px 10px; margin:0; min-width:0; }
  .page-quotes .quoteedit-itinerary .itinerary-content-heading-actions .btn { height:27px; padding:4px 8px; background:transparent; border-color:transparent; }
  .page-quotes .quoteedit-itinerary .itinerary-day-images:not(:has(.itinerary-image-thumbnails)) { grid-column:2; grid-row:1; display:block; padding:5px 8px; margin:0; border:0; background:transparent; }
  .page-quotes .quoteedit-itinerary .itinerary-day-images:not(:has(.itinerary-image-thumbnails)) .itinerary-image-toolbar > span,.page-quotes .quoteedit-itinerary .itinerary-day-images:not(:has(.itinerary-image-thumbnails)) > small { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-day-images:has(.itinerary-image-thumbnails) { grid-column:1/-1; margin:0 8px 8px; }
  .page-quotes .quoteedit-itinerary .itinerary-main-text { grid-column:1/-1; min-height:130px; border:0; border-top:1px solid #e2e8f1; border-radius:0 0 8px 8px; padding:12px 14px; background:white; font-size:16px; line-height:1.75; }
  .page-quotes .quoteedit-itinerary .workspace-attractions { grid-column:1/-1; order:5; padding:0; font-size:11px; color:#78869a; }
  .page-quotes .workspace-attractions > summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; padding:2px 0; }
  .page-quotes .workspace-attractions > summary small { font-size:11px; }
  .page-quotes .workspace-attractions > label { display:block; margin-top:8px; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section { margin-top:6px; padding-top:8px; gap:0; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section > .itinerary-section-heading { margin:0 0 5px; padding:0; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section > .itinerary-section-heading { flex-wrap:wrap; gap:8px 16px; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section > .itinerary-section-heading > div > span:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; min-width:0; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section > .itinerary-section-heading small { font-size:11px; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-card.is-collapsed { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:8px; padding:4px 12px; margin:0 0 4px; background:#f8fafd; border:1px solid #e2e8f1; border-radius:8px; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-card.is-collapsed .itinerary-transport-card-head { display:contents; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-card.is-collapsed .itinerary-transport-card-toggle { grid-column:1; grid-row:1; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-card.is-collapsed .itinerary-transport-card-toggle small,.page-quotes .quoteedit-itinerary .itinerary-transport-card.is-collapsed .itinerary-transport-add-actions { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-card.is-collapsed .itinerary-transport-card-head-actions { grid-column:3; grid-row:1; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-collapsed-summary { grid-column:2; grid-row:1; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; min-height:0; margin:0; padding:0; border:0; background:none; font-size:12px; }
  .page-quotes .quoteedit-itinerary .itinerary-transport-collapsed-summary > .ui-icon { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-hotel-card.is-collapsed { padding:0; margin:0; border-radius:8px; }
  .page-quotes .itinerary-resource-section:has(.workspace-costs-hotel .costrow) .itinerary-hotel-row:has(.itinerary-hotel-card.is-collapsed) { display:none; }
  .page-quotes .quoteedit-itinerary .itinerary-hotel-card-head { padding:8px 12px; gap:8px; }
  .page-quotes .quoteedit-itinerary .itinerary-hotel-card-toggle > span > span { display:flex; align-items:center; gap:12px; }
  .page-quotes .quoteedit-itinerary .itinerary-hotel-card-actions { display:flex; align-items:center; flex-wrap:nowrap; gap:10px; }
  .page-quotes .workspace-costs { margin:6px 0 10px; }
  .page-quotes .workspace-costs-hotel:has(.costrow) { display:flex; flex-direction:column; }
  .page-quotes .workspace-costs-hotel:has(.costrow) .workspace-cost-heading { order:2; }
  .page-quotes .workspace-costs-hotel:has(.costrow) .workspace-cost-heading-title > strong { display:none; }
  .page-quotes .workspace-costs-hotel:has(.costrow) .workspace-cost-note { order:3; }
  .page-quotes .workspace-costs-hotel:has(.costrow) [data-workspace-hotel-review] { order:-1; }
  .page-quotes .workspace-cost-heading { margin:6px 0; }
  .page-quotes .workspace-cost-heading-title { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-width:0; }
  .page-quotes .workspace-hotel-plan-action { max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .page-quotes .workspace-cost-heading .btn { min-height:26px; height:26px; padding:3px 8px; font-size:11px; }
  .page-quotes .workspace-costs .cost-entry-heading { padding:6px 12px; }
  .page-quotes .workspace-costs .cost-entry-body { padding:12px; gap:10px; }
  .page-quotes .workspace-costs .hotel-primary-grid .manual-cost-note { display:none; }
  .page-quotes .workspace-costs .hotel-primary-grid .cost-category-field { display:none; }
  .page-quotes .workspace-costs .costrow.hotel-costrow .hotel-primary-grid .hotel-library-picker-field { grid-column:span 6; }
  .page-quotes .workspace-costs .hotel-primary-grid > label { display:flex; align-items:center; gap:8px; white-space:nowrap; }
  .page-quotes .workspace-costs .hotel-primary-grid > label > :last-child { flex:1; min-width:0; }
  .page-quotes .workspace-costs .hotel-primary-grid input { min-width:0; height:34px; }
  .page-quotes .workspace-costs .hotel-cost-room-details { padding:10px; gap:8px; border-radius:8px; }
  .page-quotes .workspace-costs .hotel-cost-room-details-head small { display:none; }
  .page-quotes .workspace-costs .hotel-cost-room-line { padding:6px; border:0; border-radius:5px; }
  .page-quotes .workspace-costs .hotel-cost-room-line input:not([type=checkbox]),.page-quotes .workspace-costs .hotel-cost-room-line select { height:32px; min-height:32px; }
  .page-quotes .workspace-costs .cost-advanced-settings > summary { padding:8px 10px; }
  .page-quotes .workspace-costs .cost-advanced-settings:not([open]) .cost-advanced-heading small,.page-quotes .workspace-costs .cost-advanced-settings:not([open]) .cost-advanced-guide { display:none; }
  .page-quotes .workspace-costs .cost-advanced-settings:not([open]) .cost-setting-chips { display:none; }
  .page-quotes .workspace-costs .cost-advanced-settings:not([open]) > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 10px; }
  .page-quotes .workspace-cost-note { margin:5px 0 0; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-quick-grid { margin-top:10px; }
}
@container quote-workspace-main (max-width:1100px) {
  .page-quotes .quoteedit-itinerary .quote-itinerary-workbench { grid-template-columns:210px minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .itinerary-focus-summary { flex-wrap:wrap; }
  .page-quotes .quoteedit-itinerary .itinerary-text-label { grid-template-columns:minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .itinerary-day-images:not(:has(.itinerary-image-thumbnails)) { grid-column:1; grid-row:2; justify-self:end; }
}
@container quote-workspace-main (max-width:750px) {
  .page-quotes .quoteedit-itinerary .quote-itinerary-workbench { grid-template-columns:minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid { grid-template-columns:120px minmax(0,1fr); }
  .page-quotes .quoteedit-itinerary .itinerary-core-grid > label.wide:not(.itinerary-attractions-field) { grid-column:1/-1; }
  .page-quotes .quoteedit-itinerary .itinerary-resource-section > .itinerary-section-heading small { display:none; }
}

/* Every resource uses the same overview row and keeps its plan beside its costs. */
.page-quotes .workspace-resource-list { display:grid; gap:4px; min-width:0; margin:4px 0 10px; container:resource-list / inline-size; }
html:lang(en) .page-quotes .workspace-resource-list { --resource-label-width:190px; }
.page-quotes .workspace-resource-card { min-width:0; border:1px solid #e2e8f1; border-radius:10px; background:#fff; }
.page-quotes .workspace-resource-toggle { display:grid; grid-template-columns:var(--resource-label-width,130px) minmax(0,1fr) 170px max-content; align-items:center; gap:12px; width:100%; min-height:44px; padding:6px 12px; border:0; border-radius:10px; background:#f8fafd; color:#253858; font:inherit; text-align:left; cursor:pointer; }
.page-quotes .workspace-resource-toggle:hover { background:#f0f3fd; }
.page-quotes .workspace-resource-toggle:focus-visible { outline:2px solid #5268d4; outline-offset:2px; }
.page-quotes .workspace-resource-card.is-open > .workspace-resource-toggle { border-radius:10px 10px 0 0; background:#f0f3fd; }
.page-quotes .workspace-resource-label { display:flex; align-items:center; gap:10px; min-width:0; white-space:normal; }
.page-quotes .workspace-resource-label > .ui-icon { width:20px; height:20px; color:#8191b0; flex:none; }
.page-quotes .workspace-resource-label strong { min-width:0; font-size:15px; font-weight:650; line-height:1.35; overflow-wrap:anywhere; }
.page-quotes .workspace-resource-description { display:grid; gap:1px; min-width:0; font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
.page-quotes .workspace-resource-description > span { white-space:pre-line; }
.page-quotes .workspace-resource-description small { color:#78869a; font-size:12px; line-height:1.35; }
.page-quotes .workspace-resource-amount { display:grid; gap:1px; text-align:right; font-variant-numeric:tabular-nums; }
.page-quotes .workspace-resource-amount strong { color:#253858; font-size:16px; font-weight:650; white-space:nowrap; }
.page-quotes .workspace-resource-amount small { color:#78869a; font-size:11px; }
.page-quotes .workspace-resource-unpriced { color:#8793a6; font-size:12px; font-weight:400; }
.page-quotes .workspace-resource-disclosure { display:flex; align-items:center; justify-content:flex-end; gap:6px; color:#5268d4; font-size:12px; font-weight:600; white-space:nowrap; }
.page-quotes .workspace-resource-disclosure .ui-icon { width:16px; height:16px; }
.page-quotes .workspace-resource-body { min-width:0; padding:16px; border-top:1px solid #e2e8f1; }
.page-quotes .workspace-resource-body[hidden],.page-quotes [data-resource-detail][hidden],.page-quotes [data-resource-review][hidden] { display:none; }
.page-quotes .workspace-resource-description .workspace-resource-review { color:#a66a1d; font-weight:500; }
.page-quotes .workspace-resource-subheading,.page-quotes .workspace-category-costs > .workspace-cost-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; margin:0 0 12px; min-height:28px; }
.page-quotes .workspace-resource-subheading > strong,.page-quotes .workspace-category-costs > .workspace-cost-heading > strong { color:#52627c; font-size:13px; font-weight:600; }
.page-quotes .workspace-resource-plan { min-width:0; }
.page-quotes .workspace-resource-plan + .workspace-category-costs { margin:18px 0 0; padding-top:16px; border-top:1px solid #edf0f5; }
.page-quotes .workspace-category-costs { margin:0; }
.page-quotes .workspace-category-costs .workspace-empty-costs { padding:12px 14px; border:1px dashed #e2e8f1; background:#fafbfd; color:#8793a6; font-size:12px; }
.page-quotes .workspace-resource-plan-field { display:grid; gap:8px; color:#78869a; font-size:12px; }
.page-quotes .workspace-resource-plan-field .itinerary-compact-text { min-height:76px; padding:10px 12px; font-size:14px; line-height:1.6; }
.page-quotes .workspace-resource-plan-text { margin:0; color:#52627c; font-size:14px; line-height:1.6; white-space:pre-line; }
.page-quotes .workspace-resource-body .itinerary-hotel-inline-note { white-space:normal; }
.page-quotes .quoteedit-itinerary .workspace-transport-editor { margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.page-quotes .quoteedit-itinerary .workspace-transport-editor .itinerary-transport-card-head { justify-content:flex-end; padding:0 0 10px; border:0; }
.page-quotes .quoteedit-itinerary .workspace-transport-editor .itinerary-transport-card-toggle,.page-quotes .quoteedit-itinerary .workspace-transport-editor .itinerary-transport-card-collapse { display:none; }
@container quote-workspace-main (max-width:1100px) {
  .page-quotes .workspace-resource-toggle { grid-template-columns:var(--resource-label-width,112px) minmax(0,1fr) 140px max-content; gap:10px; padding:6px 10px; }
}
/* Use the actual resource width, including when the finance panel is open. */
@container resource-list (max-width:700px) {
  .page-quotes .workspace-resource-toggle { grid-template-columns:minmax(0,1fr) auto max-content; gap:6px 12px; }
  .page-quotes .workspace-resource-label { grid-column:1; grid-row:1; }
  .page-quotes .workspace-resource-amount { grid-column:2; grid-row:1; }
  .page-quotes .workspace-resource-disclosure { grid-column:3; grid-row:1; }
  .page-quotes .workspace-resource-description { grid-column:1/-1; grid-row:2; }
}
@media (max-width:760px) {
  .page-quotes .workspace-resource-toggle { grid-template-columns:minmax(0,1fr) auto 22px; gap:6px 10px; padding:10px 12px; min-height:68px; }
  .page-quotes .workspace-resource-label { grid-column:1; grid-row:1; }
  .page-quotes .workspace-resource-label strong { font-size:14px; }
  .page-quotes .workspace-resource-amount { grid-column:2; grid-row:1; }
  .page-quotes .workspace-resource-amount strong { font-size:14px; }
  .page-quotes .workspace-resource-description { grid-column:1/-1; grid-row:2; font-size:13px; }
  .page-quotes .workspace-resource-disclosure { grid-column:3; grid-row:1; }
  .page-quotes .workspace-resource-disclosure > span { display:none; }
  .page-quotes .workspace-resource-body { padding:12px; }
  .page-quotes .workspace-category-costs > .workspace-cost-heading { flex-wrap:wrap; }
}

/* Resource details: readable room prices and a compact transport work area. */
.page-quotes .workspace-resource-body { --resource-border:#e2e8f1; --resource-soft:#f8fafd; --resource-ink:#253858; --resource-muted:#78869a; }
.page-quotes .quote-inclusions-automation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; padding:8px 16px; border-bottom:1px solid #e2e8f1; color:#78869a; font-size:12px; }
.page-quotes .quote-inclusions-automation p { margin:0; flex:1 1 220px; line-height:1.5; }
.page-quotes .quote-inclusions-missing { color:#926527; }
.page-quotes .workspace-resource-subheading { margin-bottom:8px; }
.page-quotes .workspace-plan-hint { margin:6px 0 0; color:var(--resource-muted); font-size:11px; line-height:1.5; }
.page-quotes .workspace-hotel-plan-fields .itinerary-hotel-entry { gap:10px; }
.page-quotes .workspace-hotel-plan-fields .itinerary-hotel-entry-input { min-height:36px; height:36px; font-size:14px; }
.page-quotes .workspace-hotel-plan-fields .itinerary-hotel-online-search { width:auto; min-height:34px; padding:6px 10px; white-space:nowrap; }
.page-quotes .workspace-category-costs .quote-cost-table { border:0; display:grid; gap:12px; }
.page-quotes .workspace-category-costs .workspace-hotel-cost-summary { display:block; padding:0; border:1px solid var(--resource-border); border-radius:8px; background:#fff; overflow:visible; }
.page-quotes .workspace-hotel-cost-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; padding:10px 12px 0; }
.page-quotes .workspace-hotel-cost-head > div:first-child { display:grid; gap:3px; min-width:0; }
.page-quotes .workspace-hotel-cost-head strong { font-size:14px; font-weight:650; color:var(--resource-ink); overflow-wrap:anywhere; }
.page-quotes .workspace-hotel-cost-head small { font-size:11px; color:var(--resource-muted); }
.page-quotes .workspace-hotel-cost-head .btn { min-height:28px; font-size:12px; }
.page-quotes .workspace-hotel-cost-head .btn.icon-only { width:28px; height:28px; padding:5px; }
.page-quotes .workspace-stay-dates { display:flex; flex-wrap:wrap; gap:10px 28px; margin:8px 12px 12px; font-size:12px; }
.page-quotes .workspace-stay-dates > div { display:flex; align-items:center; gap:8px; }
.page-quotes .workspace-stay-dates dt { color:var(--resource-muted); }
.page-quotes .workspace-stay-dates dd { margin:0; color:var(--resource-ink); font-variant-numeric:tabular-nums; }
.page-quotes .workspace-room-table-wrap { overflow-x:auto; }
.page-quotes .workspace-room-table { width:100%; margin:0; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.page-quotes .workspace-room-table th,.page-quotes .workspace-room-table td { padding:9px 12px; border:0; border-bottom:1px solid #edf0f5; color:var(--resource-ink); text-align:right; white-space:nowrap; }
.page-quotes .workspace-room-table thead th { background:var(--resource-soft); font-size:11px; color:#64748b; font-weight:500; }
.page-quotes .workspace-room-table th:first-child { width:42%; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.page-quotes .workspace-room-table tbody th { font-weight:500; }
.page-quotes .workspace-room-table tbody th small { display:block; margin-top:3px; color:var(--resource-muted); font-size:11px; }
.page-quotes .workspace-room-table td strong { font-weight:600; }
.page-quotes .workspace-stay-total { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 12px; font-size:12px; color:var(--resource-muted); }
.page-quotes .workspace-stay-total > span:last-child { display:flex; align-items:center; gap:16px; white-space:nowrap; }
.page-quotes .workspace-stay-total strong { color:var(--resource-ink); font-size:15px; font-variant-numeric:tabular-nums; }
.page-quotes .quoteedit-itinerary .workspace-transport-editor .itinerary-transport-card-head { justify-content:space-between; padding-bottom:8px; }
.page-quotes .workspace-transport-heading { color:#52627c; font-size:13px; font-weight:600; }
.page-quotes .workspace-transport-import { margin:0 0 10px; border:1px solid var(--resource-border); border-radius:6px; background:var(--resource-soft); }
.page-quotes .workspace-transport-import > summary { display:flex; align-items:center; gap:8px; padding:8px 10px; color:#5268d4; font-size:12px; font-weight:500; list-style:none; cursor:pointer; }
.page-quotes .workspace-transport-import > summary::-webkit-details-marker,.page-quotes .workspace-transport-connection > summary::-webkit-details-marker { display:none; }
.page-quotes .workspace-transport-import > summary small { color:var(--resource-muted); font-size:11px; font-weight:400; }
.page-quotes .workspace-transport-import > summary > .ui-icon:last-child { margin-left:auto; }
.page-quotes .workspace-transport-import .itinerary-transport-quick-route { margin:0; padding:10px; border:0; border-top:1px solid var(--resource-border); border-radius:0 0 6px 6px; background:transparent; grid-template-columns:minmax(0,1fr) auto; }
.page-quotes .workspace-transport-import .itinerary-transport-quick-route-head { display:none; }
.page-quotes .workspace-transport-editor .itinerary-transport-group { border-color:var(--resource-border); border-radius:8px; }
.page-quotes .workspace-transport-editor .itinerary-transport-group-head { gap:10px; padding:8px 12px; background:var(--resource-soft); }
.page-quotes .workspace-transport-group-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; min-width:0; }
.page-quotes .workspace-transport-group-title .itinerary-transport-type { font-size:13px; font-weight:600; }
.page-quotes .workspace-transport-group-title .itinerary-transport-date-bar { padding:0; border:0; background:transparent; }
.page-quotes .workspace-transport-group-title .itinerary-transport-date-summary { color:var(--resource-muted); font-size:11px; }
.page-quotes .workspace-transport-editor .itinerary-transport-group-head .btn { min-height:28px; padding:4px 8px; font-size:11px; }
.page-quotes .workspace-transport-editor .itinerary-transport-route-leg { grid-template-columns:28px minmax(84px,.6fr) minmax(140px,1.4fr) minmax(85px,.65fr) minmax(140px,1.4fr) 102px; gap:10px; padding:14px 0; }
.page-quotes .workspace-transport-editor .itinerary-transport-route-leg > * { grid-column:auto; grid-row:auto; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-marker { min-height:50px; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-marker > span { width:24px; height:24px; font-size:11px; box-shadow:none; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-number > strong { font-size:17px; font-weight:650; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-number > span { font-size:11px; font-weight:400; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-point > strong { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 6px; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-point > strong > span { font-size:15px; font-weight:650; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-point > strong > em { font-size:12px; font-weight:400; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-point > b { font-size:20px; font-weight:600; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-duration { display:grid; justify-content:center; gap:4px; text-align:center; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-duration > strong { font-size:11px; font-weight:500; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-arrival { padding-left:0; border-left:0; }
.page-quotes .workspace-transport-editor .itinerary-transport-journey-leg > .itinerary-transport-route-edit { width:auto; height:auto; min-height:30px; padding:5px 6px; font-size:11px; white-space:nowrap; }
.page-quotes .workspace-transport-editor .itinerary-transport-route-edit > span:last-child { display:inline; }
.page-quotes .workspace-transport-editor .itinerary-transport-route-baggage { display:none; }
.page-quotes .workspace-transport-extras { display:flex; align-items:flex-start; gap:12px; margin:0 12px 10px; padding-top:10px; border-top:1px solid #edf0f5; }
.page-quotes .workspace-transport-baggage { flex:1; display:flex; align-items:center; gap:8px; min-width:0; color:#64748b; font-size:12px; }
.page-quotes .workspace-transport-baggage > span { white-space:nowrap; }
.page-quotes .workspace-transport-baggage > input { flex:1; width:auto; min-width:0; min-height:34px; height:34px; font-size:13px; }
.page-quotes .workspace-transport-connection { flex:0 0 160px; min-width:0; color:#64748b; font-size:12px; }
.page-quotes .workspace-transport-connection > summary { display:flex; align-items:center; gap:6px; padding:8px 0; list-style:none; cursor:pointer; }
.page-quotes .workspace-transport-connection > label { display:grid; gap:6px; padding:4px 0; }
.page-quotes .workspace-transport-connection select { width:100%; min-width:0; min-height:34px; font-size:12px; }
.page-quotes .workspace-transport-editor .itinerary-transport-status-panel { margin:0; border:0; border-top:1px solid #e5eee8; border-radius:0 0 8px 8px; }
.page-quotes .workspace-transport-editor .itinerary-transport-status-panel .itinerary-transport-local-validation { padding:8px 12px; border-right:1px solid #dce9df; font-size:11px; }
.page-quotes .workspace-transport-editor .itinerary-transport-online-summary { padding:6px 12px; }
@container (max-width:760px) {
  .page-quotes .workspace-transport-editor .itinerary-transport-route-leg { grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 102px; gap:10px; }
  .page-quotes .workspace-transport-editor .itinerary-transport-journey-marker { grid-column:1; grid-row:1; min-height:24px; }
  .page-quotes .workspace-transport-editor .itinerary-transport-journey-number { grid-column:2; grid-row:1; }
  .page-quotes .workspace-transport-editor .itinerary-transport-journey-duration { grid-column:3; grid-row:1; }
  .page-quotes .workspace-transport-editor .itinerary-transport-journey-departure { grid-column:2; grid-row:2; }
  .page-quotes .workspace-transport-editor .itinerary-transport-journey-arrival { grid-column:3/5; grid-row:2; }
  .page-quotes .workspace-transport-editor .itinerary-transport-journey-leg > .itinerary-transport-route-edit { grid-column:4; grid-row:1; }
  .page-quotes .workspace-transport-extras { flex-wrap:wrap; }
  .page-quotes .workspace-transport-baggage { flex-basis:100%; }
  .page-quotes .workspace-transport-group-title { gap:4px; }
  .page-quotes .workspace-room-table th,.page-quotes .workspace-room-table td { padding:8px; }
}

/* Flat controls keep repeated resource actions from looking like nested cards. */
.page-quotes .quoteedit .btn { border-radius:4px; box-shadow:none; }
.page-quotes .quoteedit .btn.quiet:not(.primary):not(.danger),
.page-quotes .quoteedit .workspace-hotel-plan-fields .itinerary-hotel-online-search {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.page-quotes .quoteedit .btn.quiet:not(.primary):not(.danger):hover:not(:disabled):not(.disabled),
.page-quotes .quoteedit .workspace-hotel-plan-fields .itinerary-hotel-online-search:hover:not(:disabled):not(.disabled) {
  border-color:transparent;
  background:#eef2fc;
  color:#4055ba;
}
.page-quotes .quoteedit .workspace-resource-body .btn.soft:where(:not(.primary):not(.danger)) {
  border-color:transparent;
  background:#eef2fc;
}
.page-quotes .quoteedit .workspace-resource-body .btn.soft:where(:not(.primary):not(.danger)):hover:not(:disabled):not(.disabled) {
  border-color:transparent;
  background:#e4eafa;
}
.page-quotes .quoteedit .btn:focus-visible {
  outline:2px solid #5268d4;
  outline-offset:2px;
}
