/* ======================================================================
   TRIPLOOM 15.2 · Desktop Integrity
   Canonical bundle generated in TRIPLOOM L2 refactor.
   Source order is preserved exactly to keep cascade compatibility.
   ====================================================================== */

/* ---- source: trip-desktop-fix-v242.css ---- */
/* TRIPLOOM v2.42 · Desktop-only integrity fixes
   Scope: >=1025px only. Mobile/Tablet remain untouched. */
@media (min-width:1025px){
  /* 01 — Remove the artificial bottom gap after the legal footer. */
  body .content:has(> .app-legal-footer-wrap){
    padding-bottom:18px!important;
  }
  body .content > .app-legal-footer-wrap{
    margin-bottom:0!important;
  }

  /* 02 — Task list action rail: keep edit/delete centered and identical in every row. */
  body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card:has(.task-v46-manage-below) .task-v27-copy{
    padding-right:84px!important;
  }
  body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions.task-v46-manage-below{
    position:absolute!important;
    top:50%!important;
    right:12px!important;
    z-index:3!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }
  body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions .task-v27-icon-btn{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
  }
  body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions .task-v27-icon-btn svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
  }
  body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions > form{
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
  }

  /* 03 — Canonical Desktop uploader for Documents / Booking / Gallery.
     Neutralises legacy .upload-box > span rules that collapsed the new wrapper
     into a 48px icon and caused text/button overlap. */
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader]{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    text-align:left!important;
    box-sizing:border-box!important;
    isolation:auto!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader]::before,
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader]::after{
    content:none!important;
    display:none!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > input[type="file"]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty]{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) 142px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"icon title action" "icon desc action"!important;
    align-items:center!important;
    column-gap:14px!important;
    row-gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:112px!important;
    margin:0!important;
    padding:16px 18px!important;
    overflow:hidden!important;
    border:1.5px dashed #ACD8D4!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#F4FCFB 0%,#F4FCFB 100%)!important;
    box-shadow:0 8px 22px rgba(31,91,96,.04)!important;
    color:#1F3B4D!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader]:hover > [data-trip-media-empty],
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader]:focus-within > [data-trip-media-empty]{
    border-color:#67C5BD!important;
    background:linear-gradient(180deg,#fff 0%,#DDF7F4 100%)!important;
    box-shadow:0 0 0 4px rgba(47,183,173,.07),0 12px 28px rgba(31,91,96,.06)!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty][hidden]{
    display:none!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115{
    grid-area:icon!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    display:grid!important;
    place-items:center!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #C4E8E4!important;
    border-radius:16px!important;
    background:#E6F8F5!important;
    color:#249D98!important;
    box-shadow:none!important;
    font-size:0!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115 svg{
    display:block!important;
    width:23px!important;
    height:23px!important;
    margin:0!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115 > i{
    position:absolute!important;
    right:6px!important;
    bottom:5px!important;
    margin:0!important;
    padding:0!important;
    font-style:normal!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > b{
    grid-area:title!important;
    align-self:end!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#1F3B4D!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.3!important;
    text-align:left!important;
    white-space:normal!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > small{
    grid-area:desc!important;
    align-self:start!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#6F8792!important;
    font-size:10px!important;
    font-weight:650!important;
    line-height:1.45!important;
    text-align:left!important;
    white-space:normal!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{
    grid-area:action!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:142px!important;
    max-width:142px!important;
    min-width:142px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 14px!important;
    overflow:hidden!important;
    border:1px solid #9FD6D1!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#249D98!important;
    box-shadow:none!important;
    font-size:10.5px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115 svg{
    display:block!important;
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    min-height:16px!important;
    margin:0!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-selected]{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:8px 0 0!important;
    padding:12px!important;
    overflow:hidden!important;
    border:1px solid #C6ECE8!important;
    border-radius:15px!important;
    background:#F4FCFB!important;
    box-shadow:none!important;
    color:#1F3B4D!important;
    box-sizing:border-box!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-selected][hidden]{
    display:none!important;
  }

  /* Preserve the existing dark theme while fixing the Desktop uploader geometry. */
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty]{
    border-color:#31545A!important;
    background:linear-gradient(180deg,#132A33 0%,#1F3B4D 100%)!important;
    color:#DDF7F4!important;
    box-shadow:none!important;
  }
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115{
    border-color:#315B5B!important;
    background:#1F3B4D!important;
    color:#69D7D0!important;
  }
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > b{color:#DDF7F4!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > small{color:#9DB5BB!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{
    border-color:#315B5B!important;
    background:#1F3B4D!important;
    color:#69D7D0!important;
  }
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box.trip-uploader-v205[data-trip-media-uploader] > [data-trip-media-selected]{
    border-color:#1F3B4D!important;
    background:#1F3B4D!important;
    color:#DDF7F4!important;
  }

}

/* TRIPLOOM v2.43 · Desktop deterministic task + media integrity
   These rules intentionally do not depend on JS-added uploader classes. */
@media (min-width:1025px){
  /* Normalize every task action cluster before applying card-specific positioning. */
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v47-action-cluster{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v47-action-cluster > form{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v47-action-cluster :is(.task-v47-status-btn,.task-v27-status-btn,.task-v27-icon-btn){
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 32px!important;
    line-height:1!important;
  }

  /* Task cards without assignees: every action cluster occupies the same right rail,
     including completed items that only have Edit/Delete. */
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-manage-actions.task-v46-manage-below{
    position:absolute!important;
    top:50%!important;
    right:12px!important;
    bottom:auto!important;
    left:auto!important;
    z-index:5!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:translateY(-50%)!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card:has(.task-v46-manage-below) .task-v27-copy{
    padding-right:84px!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card:has(.task-v46-manage-below .task-v27-status-btn) .task-v27-copy{
    padding-right:154px!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions.task-v46-manage-below > form,
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions.task-v46-manage-below > button{
    flex:0 0 auto!important;
    margin:0!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions.task-v46-manage-below :is(.task-v27-status-btn,.task-v27-icon-btn){
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    max-width:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    line-height:1!important;
  }
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions.task-v46-manage-below .task-v27-status-btn span{display:none!important;}
  html body[data-page="trip"][data-trip-tab="tasks"] .task-v45-manage-actions.task-v46-manage-below :is(.task-v27-status-btn,.task-v27-icon-btn) svg{
    display:block!important;width:14px!important;height:14px!important;margin:0!important;
  }

  /* Desktop uploader: direct markup is the contract. Do not require trip-uploader-v205,
     because legacy/runtime JS may fail before adding that helper class. */
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader]{
    position:relative!important;inset:auto!important;float:none!important;clear:both!important;transform:none!important;
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    text-align:left!important;box-sizing:border-box!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader]::before,
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader]::after{content:none!important;display:none!important;}
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > input[type="file"]{
    position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;
    margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;border:0!important;clip:rect(0 0 0 0)!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty]{
    position:relative!important;inset:auto!important;float:none!important;transform:none!important;
    display:grid!important;grid-template-columns:56px minmax(0,1fr) 148px!important;grid-template-rows:auto auto!important;
    grid-template-areas:"icon title action" "icon desc action"!important;align-items:center!important;justify-items:stretch!important;
    column-gap:14px!important;row-gap:4px!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:112px!important;max-height:none!important;
    margin:0!important;padding:16px 18px!important;overflow:hidden!important;box-sizing:border-box!important;
    border:1.5px dashed #ACD8D4!important;border-radius:18px!important;background:linear-gradient(180deg,#F4FCFB 0%,#F4FCFB 100%)!important;
    box-shadow:0 8px 22px rgba(31,91,96,.04)!important;color:#1F3B4D!important;text-align:left!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty][hidden]{display:none!important;}
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115{
    grid-area:icon!important;position:relative!important;inset:auto!important;transform:none!important;display:grid!important;place-items:center!important;
    width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;max-width:56px!important;max-height:56px!important;
    margin:0!important;padding:0!important;border:1px solid #C4E8E4!important;border-radius:16px!important;background:#E6F8F5!important;color:#249D98!important;box-shadow:none!important;font-size:0!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115 svg{display:block!important;width:23px!important;height:23px!important;margin:0!important;}
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115 > i{
    position:absolute!important;right:6px!important;bottom:5px!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
    font-style:normal!important;font-size:13px!important;font-weight:900!important;line-height:1!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > b{
    grid-area:title!important;align-self:end!important;display:block!important;position:static!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#1F3B4D!important;
    font-size:13px!important;font-weight:900!important;line-height:1.3!important;text-align:left!important;white-space:normal!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > small{
    grid-area:desc!important;align-self:start!important;display:block!important;position:static!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#6F8792!important;
    font-size:10px!important;font-weight:650!important;line-height:1.45!important;text-align:left!important;white-space:normal!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{
    grid-area:action!important;position:static!important;inset:auto!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
    width:148px!important;max-width:148px!important;min-width:148px!important;height:42px!important;min-height:42px!important;max-height:42px!important;
    margin:0!important;padding:0 14px!important;overflow:hidden!important;border:1px solid #9FD6D1!important;border-radius:13px!important;background:#fff!important;color:#249D98!important;
    box-shadow:none!important;font-size:10.5px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;text-align:center!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115 svg{display:block!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;}
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-selected]{
    position:relative!important;inset:auto!important;transform:none!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:8px 0 0!important;padding:12px!important;overflow:hidden!important;border:1px solid #C6ECE8!important;border-radius:15px!important;background:#F4FCFB!important;box-shadow:none!important;color:#1F3B4D!important;box-sizing:border-box!important;
  }
  html[data-theme] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-selected][hidden]{display:none!important;}

  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty]{border-color:#31545A!important;background:linear-gradient(180deg,#132A33 0%,#1F3B4D 100%)!important;color:#DDF7F4!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115{border-color:#315B5B!important;background:#1F3B4D!important;color:#69D7D0!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > b{color:#DDF7F4!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > small{color:#9DB5BB!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{border-color:#315B5B!important;background:#1F3B4D!important;color:#69D7D0!important;}
  html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add)
    label.upload-box[data-trip-media-uploader] > [data-trip-media-selected]{border-color:#1F3B4D!important;background:#1F3B4D!important;color:#DDF7F4!important;}
}

/* ---- source: trip-desktop-final-v244.css ---- */
/* TRIPLOOM v2.44 / V15.1.89 — FINAL Desktop-only task action + route uploader geometry.
       Loaded last under a new filename so stale cached rules cannot win.
       Scope starts at 1025px, so Tablet/Mobile are untouched. */
    @media (min-width:1025px){
      /* TASKS — every available action lives on one fixed right rail. */
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card{
        position:relative!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v27-copy{
        min-width:0!important;
        padding-right:84px!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card:has(.task-v47-action-cluster .task-v27-status-btn) .task-v27-copy{
        padding-right:158px!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-person-action-row{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        margin-top:7px!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-person-action-row > .task-v45-person-slot{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        padding-right:0!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v47-action-cluster,
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-manage-actions.task-v46-manage-below{
        position:absolute!important;
        top:50%!important;
        right:12px!important;
        bottom:auto!important;
        left:auto!important;
        z-index:8!important;
        transform:translateY(-50%)!important;
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:flex-end!important;
        gap:6px!important;
        width:auto!important;
        min-width:0!important;
        max-width:none!important;
        height:32px!important;
        min-height:32px!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v47-action-cluster > form,
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-manage-actions.task-v46-manage-below > form{
        display:flex!important;
        flex:0 0 32px!important;
        align-items:center!important;
        justify-content:center!important;
        width:32px!important;
        height:32px!important;
        min-width:32px!important;
        min-height:32px!important;
        margin:0!important;
        padding:0!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v47-action-cluster :is(.task-v27-status-btn,.task-v27-icon-btn),
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-manage-actions.task-v46-manage-below :is(.task-v27-status-btn,.task-v27-icon-btn){
        box-sizing:border-box!important;
        display:grid!important;
        place-items:center!important;
        flex:0 0 32px!important;
        width:32px!important;
        min-width:32px!important;
        max-width:32px!important;
        height:32px!important;
        min-height:32px!important;
        max-height:32px!important;
        margin:0!important;
        padding:0!important;
        border-radius:10px!important;
        line-height:1!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v47-action-cluster .task-v27-status-btn span,
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-manage-actions.task-v46-manage-below .task-v27-status-btn span{
        display:none!important;
      }
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v47-action-cluster :is(.task-v27-status-btn,.task-v27-icon-btn) svg,
      html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card .task-v45-manage-actions.task-v46-manage-below :is(.task-v27-status-btn,.task-v27-icon-btn) svg{
        display:block!important;
        width:14px!important;
        height:14px!important;
        margin:0!important;
      }

      /* UPLOAD — direct DOM contract. Reset every legacy 48x48 rule on the empty wrapper. */
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader]{
        position:relative!important;
        inset:auto!important;
        float:none!important;
        clear:both!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        transform:none!important;
        text-align:left!important;
        box-sizing:border-box!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader]::before,
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader]::after{
        content:none!important;
        display:none!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > input[type="file"]{
        position:absolute!important;
        left:0!important;
        top:0!important;
        width:1px!important;
        min-width:1px!important;
        max-width:1px!important;
        height:1px!important;
        min-height:1px!important;
        max-height:1px!important;
        margin:0!important;
        padding:0!important;
        opacity:0!important;
        pointer-events:none!important;
        overflow:hidden!important;
        border:0!important;
        clip:rect(0 0 0 0)!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty]{
        position:relative!important;
        inset:auto!important;
        float:none!important;
        clear:both!important;
        transform:none!important;
        display:grid!important;
        grid-template-columns:56px minmax(0,1fr) 148px!important;
        grid-template-rows:auto auto!important;
        grid-template-areas:"uploadIcon uploadTitle uploadAction" "uploadIcon uploadDesc uploadAction"!important;
        align-items:center!important;
        justify-items:stretch!important;
        column-gap:14px!important;
        row-gap:4px!important;
        box-sizing:border-box!important;
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
        height:auto!important;
        min-height:112px!important;
        max-height:none!important;
        margin:0!important;
        padding:16px 18px!important;
        overflow:hidden!important;
        border:1.5px dashed #ACD8D4!important;
        border-radius:18px!important;
        background:linear-gradient(180deg,#F4FCFB 0%,#F4FCFB 100%)!important;
        box-shadow:0 8px 22px rgba(31,91,96,.04)!important;
        color:#1F3B4D!important;
        text-align:left!important;
        white-space:normal!important;
        font-size:initial!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty][hidden]{display:none!important;}
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-cloud-v15115{
        grid-area:uploadIcon!important;
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        display:grid!important;
        place-items:center!important;
        box-sizing:border-box!important;
        width:56px!important;
        min-width:56px!important;
        max-width:56px!important;
        height:56px!important;
        min-height:56px!important;
        max-height:56px!important;
        margin:0!important;
        padding:0!important;
        border:1px solid #C4E8E4!important;
        border-radius:16px!important;
        background:#E6F8F5!important;
        color:#249D98!important;
        box-shadow:none!important;
        font-size:0!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-cloud-v15115 svg{
        display:block!important;width:23px!important;height:23px!important;margin:0!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-cloud-v15115 > i{
        position:absolute!important;right:6px!important;bottom:5px!important;width:auto!important;height:auto!important;
        margin:0!important;padding:0!important;border:0!important;background:transparent!important;
        font-style:normal!important;font-size:13px!important;font-weight:900!important;line-height:1!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > b{
        grid-area:uploadTitle!important;
        align-self:end!important;
        display:block!important;
        position:static!important;
        width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
        margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
        color:#1F3B4D!important;font-size:13px!important;font-weight:900!important;line-height:1.3!important;text-align:left!important;white-space:normal!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > small{
        grid-area:uploadDesc!important;
        align-self:start!important;
        display:block!important;
        position:static!important;
        width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
        margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
        color:#6F8792!important;font-size:10px!important;font-weight:650!important;line-height:1.45!important;text-align:left!important;white-space:normal!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-choose-v15115{
        grid-area:uploadAction!important;
        align-self:center!important;
        justify-self:end!important;
        position:static!important;
        inset:auto!important;
        transform:none!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:7px!important;
        box-sizing:border-box!important;
        width:148px!important;min-width:148px!important;max-width:148px!important;
        height:42px!important;min-height:42px!important;max-height:42px!important;
        margin:0!important;padding:0 14px!important;overflow:hidden!important;
        border:1px solid #9FD6D1!important;border-radius:13px!important;background:#fff!important;color:#249D98!important;box-shadow:none!important;
        font-size:10.5px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;text-align:center!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-choose-v15115 svg{
        display:block!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-selected]{
        position:relative!important;inset:auto!important;transform:none!important;display:block!important;
        box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
        margin:8px 0 0!important;padding:12px!important;overflow:hidden!important;border:1px solid #C6ECE8!important;border-radius:15px!important;
        background:#F4FCFB!important;box-shadow:none!important;color:#1F3B4D!important;
      }
      html body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-selected][hidden]{display:none!important;}

      html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty]{border-color:#31545A!important;background:linear-gradient(180deg,#132A33 0%,#1F3B4D 100%)!important;color:#DDF7F4!important;}
      html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-cloud-v15115{border-color:#315B5B!important;background:#1F3B4D!important;color:#69D7D0!important;}
      html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > b{color:#DDF7F4!important;}
      html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > small{color:#9DB5BB!important;}
      html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-empty] > .trip-media-choose-v15115{border-color:#315B5B!important;background:#1F3B4D!important;color:#69D7D0!important;}
      html[data-theme="dark"] body[data-page="trip"] :is(#vault-document-modal,#booking-add-modal,#booking-edit-modal,#photo-add,#journal-add)
        label.upload-box[data-trip-media-uploader] > span[data-trip-media-selected]{border-color:#1F3B4D!important;background:#1F3B4D!important;color:#DDF7F4!important;}
    }

/* ---- source: trip-desktop-uploader-v253.css ---- */
/* TRIPLOOM v2.53 · Desktop-only canonical media uploader
   Purpose: neutralise legacy upload-box descendant rules that shrink the
   content wrapper to icon size on Desktop. Mobile/Tablet are intentionally
   untouched. Applies to every current data-trip-media-uploader surface:
   province/place/trip covers, gallery, booking, vault documents and journal. */
@media (min-width:1025px) and (pointer:fine){
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader]{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    clear:both!important;
    transform:none!important;
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    grid-auto-flow:initial!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#1F3B4D!important;
    text-align:left!important;
    cursor:pointer!important;
    isolation:isolate!important;
    container-type:inline-size!important;
  }

  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader]::before,
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader]::after{
    content:none!important;
    display:none!important;
  }

  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > input[type="file"][data-trip-media-input]{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:1px!important;
    min-width:1px!important;
    max-width:1px!important;
    height:1px!important;
    min-height:1px!important;
    max-height:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
    border:0!important;
    clip:rect(0 0 0 0)!important;
  }

  /* Empty state — this is the wrapper legacy span rules used to collapse. */
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty]{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    clear:both!important;
    transform:none!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) 148px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"tuIcon tuTitle tuAction" "tuIcon tuDesc tuAction"!important;
    align-items:center!important;
    justify-items:stretch!important;
    column-gap:15px!important;
    row-gap:4px!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:116px!important;
    max-height:none!important;
    margin:0!important;
    padding:17px 18px!important;
    overflow:hidden!important;
    border:1.5px dashed #ACD8D4!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#F4FCFB 0%,#F4FCFB 100%)!important;
    box-shadow:0 8px 22px rgba(31,91,96,.045)!important;
    color:#1F3B4D!important;
    text-align:left!important;
    white-space:normal!important;
    font-size:initial!important;
    line-height:normal!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty][hidden]{display:none!important;}

  /* Keep the trip-cover surface aligned with the note field on the route form. */
  html[data-theme] body[data-page="trip_form"][data-page] label.upload-box.route-cover-upload-v35[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty]{
    min-height:142px!important;
  }

  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader]:hover > [data-trip-media-empty],
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader]:focus-within > [data-trip-media-empty],
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader].is-dragging > [data-trip-media-empty]{
    border-color:#62C3BC!important;
    background:linear-gradient(180deg,#fff 0%,#EEFAF8 100%)!important;
    box-shadow:0 0 0 4px rgba(47,183,173,.07),0 12px 28px rgba(31,91,96,.06)!important;
  }

  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115{
    grid-area:tuIcon!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:1px solid #C4E8E4!important;
    border-radius:16px!important;
    background:#E6F8F5!important;
    color:#249D98!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:1!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115 svg{
    display:block!important;
    width:23px!important;
    min-width:23px!important;
    height:23px!important;
    min-height:23px!important;
    margin:0!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115 > i{
    position:absolute!important;
    right:6px!important;
    bottom:5px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#249D98!important;
    font-style:normal!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > b{
    grid-area:tuTitle!important;
    align-self:end!important;
    position:static!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#1F3B4D!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.3!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > small{
    grid-area:tuDesc!important;
    align-self:start!important;
    position:static!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#6F8792!important;
    font-size:10px!important;
    font-weight:650!important;
    line-height:1.45!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{
    grid-area:tuAction!important;
    align-self:center!important;
    justify-self:end!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    box-sizing:border-box!important;
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 14px!important;
    overflow:hidden!important;
    border:1px solid #9FD6D1!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#249D98!important;
    box-shadow:none!important;
    font-size:10.5px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115 svg{
    display:block!important;
    width:16px!important;
    min-width:16px!important;
    max-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    max-height:16px!important;
    margin:0!important;
  }

  /* Selected state — reset the same legacy span sizing for generated preview DOM. */
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-selected]{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    clear:both!important;
    transform:none!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:10px 0 0!important;
    padding:12px!important;
    overflow:hidden!important;
    border:1px solid #C6ECE8!important;
    border-radius:16px!important;
    background:#F4FCFB!important;
    box-shadow:none!important;
    color:#1F3B4D!important;
    text-align:left!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-selected][hidden]{display:none!important;}

  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-selected] :where(span){
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:inherit!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-selected-head-v15115{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-selected-head-v15115 > span{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-selected-head-v15115 b{
    display:block!important;
    margin:0!important;
    color:#315159!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:1.3!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-selected-head-v15115 small{
    display:block!important;
    margin-top:3px!important;
    color:#7F959B!important;
    font-size:9px!important;
    font-weight:650!important;
    line-height:1.4!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-reselect-v15115{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    box-sizing:border-box!important;
    min-width:104px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 11px!important;
    border:1px solid #B7DCDA!important;
    border-radius:11px!important;
    background:#F4FCFB!important;
    color:#249D98!important;
    box-shadow:none!important;
    font-size:9px!important;
    font-weight:850!important;
    line-height:1!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-reselect-v15115 svg{
    width:14px!important;
    height:14px!important;
    margin:0!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-grid-v15115{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    margin:10px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-grid-v15115.is-single{
    grid-template-columns:minmax(0,1fr)!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-v15115{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:126px!important;
    min-height:126px!important;
    max-height:126px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #D4E6E6!important;
    border-radius:13px!important;
    background:#EEF6F6!important;
    box-shadow:none!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-grid-v15115.is-single .trip-media-tile-v15115{
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-v15115 > img{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    object-fit:cover!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-actions-v15115{
    position:absolute!important;
    top:7px!important;
    right:7px!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-actions-v15115 > button{
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.92)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.96)!important;
    color:#42767B!important;
    box-shadow:0 4px 12px rgba(22,54,60,.12)!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-actions-v15115 > button.is-remove{
    color:#B83B49!important;
    background:#FFF6F7!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-actions-v15115 svg{
    width:14px!important;
    height:14px!important;
    margin:0!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-v15115.is-file{
    height:104px!important;
    min-height:104px!important;
    max-height:none!important;
    padding:12px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    background:#F4FCFB!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-icon-v15115{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    border-radius:11px!important;
    background:#E7F7F4!important;
    color:#249D98!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-icon-v15115 svg{
    width:19px!important;
    height:19px!important;
    margin:0!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-copy-v15115{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0 74px 0 0!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-copy-v15115 b{
    display:block!important;
    margin:0!important;
    color:#315159!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:1.25!important;
  }
  html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-copy-v15115 small{
    display:block!important;
    max-width:100%!important;
    margin-top:3px!important;
    overflow:hidden!important;
    color:#7F959B!important;
    font-size:8.5px!important;
    line-height:1.35!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Small desktop modal/card widths still keep readable copy and a usable action. */
  @container (max-width:460px){
    html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty]{
      grid-template-columns:54px minmax(0,1fr)!important;
      grid-template-rows:auto auto auto!important;
      grid-template-areas:"tuIcon tuTitle" "tuIcon tuDesc" "tuAction tuAction"!important;
    }
    html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{
      justify-self:stretch!important;
      width:100%!important;
      min-width:0!important;
      max-width:none!important;
      margin-top:7px!important;
    }
    html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-grid-v15115{
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    html[data-theme] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-grid-v15115.is-single{
      grid-template-columns:minmax(0,1fr)!important;
    }
  }

  /* Dark theme mirrors the same geometry without changing the page layout. */
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty]{
    border-color:#31545A!important;
    background:linear-gradient(180deg,#132A33 0%,#1F3B4D 100%)!important;
    color:#DDF7F4!important;
  }
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-cloud-v15115{
    border-color:#315B5B!important;
    background:#1F3B4D!important;
    color:#69D7D0!important;
  }
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > b{color:#DDF7F4!important;}
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > small{color:#9DB5BB!important;}
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty] > .trip-media-choose-v15115{
    border-color:#315B5B!important;
    background:#1F3B4D!important;
    color:#69D7D0!important;
  }
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-selected]{
    border-color:#1F3B4D!important;
    background:#1F3B4D!important;
    color:#DDF7F4!important;
  }
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-selected-head-v15115 b,
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-copy-v15115 b{color:#DDF7F4!important;}
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-selected-head-v15115 small,
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-copy-v15115 small{color:#9DB5BB!important;}
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-reselect-v15115{
    border-color:#31545A!important;
    background:#163339!important;
    color:#72D5CE!important;
  }
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-v15115,
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-tile-v15115.is-file{
    border-color:#1F3B4D!important;
    background:#132A33!important;
  }
  html[data-theme="dark"] body[data-page] label.upload-box[data-trip-media-uploader][data-trip-media-uploader] .trip-media-file-icon-v15115{
    background:#1F3B4D!important;
    color:#69D7D0!important;
  }
}

/* TRIPLOOM v2.54 · Route form note/cover balance
   Keep the two fields visually symmetrical and preserve existing mobile/tablet stacking. */
body[data-page="trip_form"] .route-cover-grid-v254{align-items:stretch!important;}
body[data-page="trip_form"] .route-cover-field-v254{min-width:0!important;display:flex!important;flex-direction:column!important;gap:6px!important;}
body[data-page="trip_form"] .route-cover-label-v254{display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#44534C!important;font-size:10px!important;font-weight:700!important;line-height:1.35!important;text-align:left!important;}
html[data-theme="dark"] body[data-page="trip_form"] .route-cover-label-v254{color:#C7D6D9!important;}

@media (min-width:1025px) and (pointer:fine){
  body[data-page="trip_form"] .route-cover-grid-v254{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  body[data-page="trip_form"] .route-cover-grid-v254 > .route-cover-field-v254{width:100%!important;height:100%!important;}
  body[data-page="trip_form"] .route-cover-grid-v254 > label.route-cover-field-v254 textarea{height:142px!important;min-height:142px!important;max-height:142px!important;}
  html[data-theme] body[data-page="trip_form"] .route-cover-media-field-v254 > label.upload-box.route-cover-upload-v35[data-trip-media-uploader][data-trip-media-uploader]{height:142px!important;min-height:142px!important;max-height:142px!important;}
  html[data-theme] body[data-page="trip_form"] .route-cover-media-field-v254 > label.upload-box.route-cover-upload-v35[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-empty],
  html[data-theme] body[data-page="trip_form"] .route-cover-media-field-v254 > label.upload-box.route-cover-upload-v35[data-trip-media-uploader][data-trip-media-uploader] > [data-trip-media-selected]{height:142px!important;min-height:142px!important;max-height:142px!important;}
}
