/* RTS Connect 12.5.8.55 — module detail and responsive layer.
   Screen only: issued documents, print layouts and PDF assets are untouched.
   The shared shell/palette is owned by ui55-system.css; no financial behavior lives here. */
@media screen {
  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability) {
    --ui55-module-line: #214a60;
    --ui55-module-muted: #a9c7d8;
    --ui55-module-surface: #071f2e;
    --ui55-module-field: #051a28;
    min-width: 0;
  }

  /* Field labels stay above their controls, even inside dense imported forms. */
  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability)
      :is(label, legend) {
    max-width: 100%;
    min-width: 0;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 550;
    line-height: 1.5 !important;
    text-transform: none;
    letter-spacing: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }

  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability)
      :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=file]), select, textarea) {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #2d5369 !important;
    border-radius: 11px !important;
    color: #edf8ff !important;
    background: var(--ui55-module-field, #051a28) !important;
    box-shadow: inset 0 1px 2px #00000020;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 450;
    line-height: 1.45 !important;
    color-scheme: dark;
  }

  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability)
      :is(input, select, textarea):focus-visible {
    border-color: #32d7e9 !important;
    outline: 3px solid #20cee526 !important;
    outline-offset: 2px;
  }

  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability)
      :is(input, textarea)::placeholder { color: #83a4b8 !important; opacity: 1; }

  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability)
      :is(input, select, textarea)[aria-invalid=true] {
    border-color: #ff7885 !important;
    outline-color: #ff78852b !important;
  }

  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability) textarea {
    min-height: 110px;
    resize: vertical;
  }

  :is(#rts-finance-app, .rts-resource-directory, .rts-documents-app, .rts-operations,
      .rts-calculator, .rts-freight, .rts-company-profile, .rts-availability) input[type=file] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 9px;
    border: 1px dashed #2d6a82;
    border-radius: 11px;
    color: #c4dce9;
    background: #071f2e;
    font: inherit;
    font-size: 13px;
  }

  :is(#rts-finance-app, .rts-resource-directory, .rts-documents-app, .rts-operations,
      .rts-calculator, .rts-freight, .rts-company-profile, .rts-availability) input[type=file]::file-selector-button {
    margin-right: 10px;
    padding: 9px 12px;
    border: 1px solid #367b94;
    border-radius: 8px;
    color: #baf7ff;
    background: #0c3549;
    font: inherit;
    cursor: pointer;
  }

  /* Finance — complete filters instead of 40px columns and clipped labels. */
  #rts-finance-app :is(.rts-finance-review-filters, .rts-coherence-filters, .rts-bank-filter-row) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    align-items: end;
    gap: 14px;
    min-width: 0;
  }
  #rts-finance-app :is(.rts-finance-review-filters, .rts-coherence-filters, .rts-bank-filter-row) > label {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
    color: #bdd9e7;
    white-space: normal;
    overflow-wrap: normal;
  }
  #rts-finance-app :is(.rts-finance-review-filters, .rts-coherence-filters, .rts-bank-filter-row) :is(select, input) { width: 100%; }
  #rts-finance-app .rts-bank-filter-row > label:last-of-type { max-width: none; }
  #rts-finance-app :is(.rts-finance-review-filter-actions, .rts-bank-filter-actions) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    grid-column: 1 / -1;
  }
  #rts-finance-app .rts-finance-review-filter-actions .rts-button { flex: 0 1 auto; min-width: 140px; }
  #rts-finance-app :is(.rts-finance-review-list > article, .rts-expense-row) {
    border-color: var(--ui55-module-line);
    padding-block: 16px;
    min-width: 0;
  }
  #rts-finance-app .rts-finance-review-list > article > div { min-width: 0; }
  #rts-finance-app :is(.rts-finance-review-list, .rts-finance-operation-copy) :is(strong, p) { overflow-wrap: anywhere; }
  #rts-finance-app .rts-finance-review-amount {
    display: grid;
    justify-items: end;
    align-content: start;
    gap: 10px;
  }
  #rts-finance-app .rts-finance-review-amount > strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid #2b7183;
    border-radius: 15px;
    background: linear-gradient(125deg, #0a3442, #071f31);
  }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 0;
  }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dl > div {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid #245369;
    border-radius: 10px;
    background: #041c2aa6;
    min-width: 0;
  }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dt { color: #a8cbd9; font-size: 13px; }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dd {
    margin: 0;
    color: #edfbff;
    font-size: 21px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
  }
  #rts-finance-app :is(.rts-settlement-line, .rts-expense-fields, .rts-finance-fields, .rts-qonto-grid) { gap: 16px; }
  #rts-finance-app :is(.rts-settlement-line, [data-finance-change]) :is(input, select, textarea) { width: 100%; }
  #rts-finance-app :is([data-finance-change], .rts-coherence-history article) > strong { overflow-wrap: anywhere; }
  #rts-finance-app :is(.rts-change-preview, .rts-settlement-preview) { border-radius: 13px; border-color: #31788d; }
  #rts-finance-app :is(.rts-change-preview, .rts-settlement-preview, .rts-coherence-history) table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    font-size: 14px;
  }
  #rts-finance-app :is(.rts-change-preview, .rts-settlement-preview) :is(th, td) { padding: 10px 12px; white-space: nowrap; }
  #rts-finance-app .rts-bank-row-evidence { border-radius: 12px; }
  #rts-finance-app .rts-bank-counterparty-copy strong { font-weight: 650; }
  #rts-finance-app .rts-bank-table td { padding-block: 15px; }
  #rts-finance-app .rts-bank-category-badge { border-radius: 9px; }
  #rts-finance-app :is(.rts-expense-drop, .rts-invoice-dropzone, .rts-import-dropzone) {
    border: 1px dashed #39839a;
    border-radius: 16px;
    background: linear-gradient(135deg, #0b3141, #071f2e);
  }
  #rts-finance-app :is(.rts-expense-source-summary, .rts-expense-category-grid) :is(span, small) { font-size: 13px; line-height: 1.5; }
  #rts-finance-app .rts-expense-candidate > summary { gap: 13px; padding: 17px; }
  #rts-finance-app .rts-expense-badge { font-size: 12px; border-radius: 8px; }
  #rts-finance-app .rts-invoice-profile-item-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; }
  #rts-finance-app .rts-invoice-profile-item-meta > * { min-width: 0; overflow-wrap: anywhere; }
  #rts-finance-app .rts-invoice-profile-lines > div { gap: 12px; align-items: start; }
  #rts-finance-app :is(.rts-monthly-flow-chart, .rts-monthly-bars) {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #2b708a #051b28;
    padding-bottom: 14px;
  }
  #rts-finance-app .rts-monthly-day-flow { flex: 0 0 96px; min-width: 96px; }
  #rts-finance-app .rts-monthly-day-flow :is(b, small) { white-space: nowrap; font-variant-numeric: tabular-nums; }
  #rts-finance-app .rts-monthly-bars > div { flex: 0 0 106px; min-width: 106px; }

  /* Modules share flexible content grids, rather than inherited minimum widths. */
  .rts-app :is(.rts-resource-fields, .rts-operations-fields, .rts-operations-fields-2,
      .rts-calculator-fields, .rts-freight-form-grid, .rts-fields-2, .rts-summary-grid) > * { min-width: 0; }
  .rts-app :is(.rts-resource-form, .rts-optimizer-form, .rts-campaign-form, .rts-calculator-inputs,
      .rts-freight-create, .rts-availability-form, .rts-directory-form-card, .rts-form-section) {
    min-width: 0;
  }
  .rts-app :is(.rts-resource-fields, .rts-operations-fields, .rts-operations-fields-2,
      .rts-calculator-fields, .rts-freight-form-grid, .rts-fields-2) {
    gap: 16px;
    align-items: start;
  }
  .rts-app :is(.rts-resource-tabs, .rts-operations-tabs, .rts-communication-tabs,
      .rts-availability-tabs, .rts-freight-view-tabs, .rts-calculator-mode-nav) {
    gap: 8px;
    min-width: 0;
  }
  .rts-app :is(.rts-resource-tabs, .rts-operations-tabs, .rts-communication-tabs,
      .rts-availability-tabs, .rts-freight-view-tabs) a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1.4;
  }
  .rts-app :is(.rts-resource-stats, .rts-documents-kpis, .rts-vehicle-kpis, .rts-availability-hero-stats) {
    gap: 12px;
    min-width: 0;
  }
  .rts-app :is(.rts-resource-stats span, .rts-documents-kpis article, .rts-vehicle-kpis article) {
    border-color: #27546b;
    border-radius: 13px;
    font-size: 12px;
    line-height: 1.5;
  }
  .rts-app :is(.rts-resource-stats b, .rts-documents-kpis strong, .rts-vehicle-kpis strong) {
    font-size: 26px;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
  }
  .rts-resource-directory .rts-resource-card :is(dt, small, p) { font-size: 13px; line-height: 1.5; }
  .rts-resource-directory .rts-resource-card :is(dd, strong) { overflow-wrap: anywhere; }
  .rts-resource-directory :is(.rts-resource-status, .rts-client-roles span, .rts-resource-tags span) {
    padding: 5px 9px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.4;
  }
  .rts-resource-directory :is(.rts-resource-form-actions, .rts-contact-row-heading, .rts-fleet-heading-actions) { flex-wrap: wrap; gap: 10px; }
  .rts-resource-directory .rts-resource-card dl > div { min-width: 0; padding: 12px; }
  .rts-resource-directory .rts-studio-workspace > *, .rts-resource-directory .rts-studio-main { min-width: 0; }
  .rts-resource-directory :is(.rts-studio-product-nav, .rts-studio-section-nav) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }
  .rts-resource-directory :is(.rts-studio-product-nav, .rts-studio-section-nav) button { min-height: 44px; font-size: 13px; }
  .rts-resource-directory .rts-fleet-history-events :is(small, time, p) { font-size: 13px; line-height: 1.5; }
  .rts-resource-directory .rts-fleet-editor { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; }

  /* Operations, calculator, transport editor and real map controls. */
  .rts-app .rts-table-wrap { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .rts-app .rts-table-wrap table { min-width: 680px; border-collapse: collapse; }
  .rts-app .rts-table-wrap :is(td, th) { padding: 13px 12px; font-size: 13px; line-height: 1.5; }
  .rts-operations :is(.rts-route-point-content, .rts-campaign-layout > *, .rts-campaign-preview-grid > *) { min-width: 0; }
  .rts-operations .rts-route-point-content :is(label, input) { width: 100%; }
  .rts-operations :is(.rts-switch-row, .rts-optimizer-submit, .rts-contact-tools) { flex-wrap: wrap; gap: 12px; }
  .rts-operations .rts-campaign-contacts { max-height: 460px; overflow-y: auto; scrollbar-width: thin; }
  .rts-calculator .rts-field-with-unit input { padding-right: 76px !important; }
  .rts-calculator .rts-field-with-unit > b { font-size: 12px; color: #7ce9f3; }
  .rts-calculator :is(.rts-calculator-offer, .rts-calculator-metric-grid, .rts-calculator-scenario-list) small { font-size: 12px; line-height: 1.5; }
  .rts-calculator :is(.rts-calculator-metric-grid, .rts-calculator-scenario-list) span { font-size: 13px; line-height: 1.5; }
  .rts-calculator :is(.rts-calculator-cost-bars, .rts-calculator-form-actions, .rts-calculator-history) :is(small, article > div, button) { font-size: 13px; }
  .rts-calculator .rts-calculator-history article > b { white-space: nowrap; font-variant-numeric: tabular-nums; }
  .rts-calculator .rts-calculator-history article button { min-height: 44px; }
  .rts-calculator :is(.rts-calculator-smart-copy textarea, .rts-calculator-price-fields input) { width: 100%; }
  #rts-ldv-app :is(.rts-stepper, .rts-record-tabs) { scrollbar-width: thin; overscroll-behavior-x: contain; }
  #rts-ldv-app .rts-record :is(strong, span) { font-size: 14px; line-height: 1.45; }
  #rts-ldv-app .rts-record :is(small, .rts-record-created) { font-size: 12px; line-height: 1.5; }
  #rts-ldv-app :is(.rts-stage-heading, .rts-section-title, .rts-signature-heading, .rts-capacity-head) { flex-wrap: wrap; gap: 12px; }
  #rts-ldv-app :is(.rts-sidebar, .rts-document, .rts-workspace) { min-width: 0; }
  #rts-ldv-app .rts-party-grid { gap: 16px; }
  #rts-ldv-app :is(.rts-summary-grid, .rts-capacity-metrics) { gap: 12px; }
  #rts-ldv-app .rts-stage-actions { gap: 12px; flex-wrap: wrap; }
  .rts-app :is(.rts-signature, .rts-photo-card) :is(label, h3, .rts-photo-copy) { color: #173c54 !important; }
  .rts-app :is(.rts-signature, .rts-photo-card) canvas { max-width: 100%; }
  .rts-app :is(.rts-confirm-overlay, .rts-resource-delete-dialog) { padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
  .rts-app :is(.rts-confirm-card, .rts-resource-delete-dialog > div) { width: min(100%, 560px); max-height: calc(100dvh - 32px); overflow-y: auto; }
  .rts-tournee-app :is(.rts-tournee-list-panel, .rts-tournee-stop-panel, .rts-tournee-layout) { min-width: 0; }
  .rts-tournee-app :is(.rts-stop-eta-control, .rts-tournee-toolbar, .rts-photo-controls) { gap: 12px; flex-wrap: wrap; }
  .rts-tournee-app .rts-summary-grid :is(strong, span) { overflow-wrap: anywhere; }

  /* Library, conversations and availability retain full text on narrow screens. */
  .rts-documents-app .rts-document-row > * { min-width: 0; }
  .rts-documents-app .rts-document-row strong { font-size: 14px; overflow-wrap: anywhere; }
  .rts-documents-app .rts-document-row :is(small, time) { font-size: 13px; line-height: 1.5; }
  .rts-documents-app .rts-document-row > time { display: block; }
  .rts-documents-app .rts-icon-action { min-width: 44px; min-height: 44px; }
  .rts-documents-app .rts-documents-toolbar { align-items: center; gap: 12px; padding: 16px; }
  .rts-documents-app .rts-documents-toolbar > label { min-width: 0; }
  .rts-communication :is(.rts-messenger-layout, .rts-messenger-thread, .rts-messenger-reply, .rts-notification-list) { min-width: 0; }
  .rts-communication .rts-messenger-list :is(strong, small) { white-space: normal; overflow-wrap: anywhere; }
  .rts-communication .rts-messenger-messages :is(p, span, a) { overflow-wrap: anywhere; font-size: 14px; line-height: 1.55; }
  .rts-communication :is(.rts-messenger-thread-actions, .rts-notification-actions) :is(button, a) { min-height: 44px; font-size: 13px; }
  .rts-communication .rts-messenger-reply textarea { min-height: 90px; }
  .rts-communication .rts-messenger-thread-actions { gap: 12px; flex-wrap: wrap; }
  .rts-communication .rts-messenger-closed-note { color: #adcbdc; background: #0a2d40; border-color: #2b5268; font-size: 13px; }
  .rts-company-profile :is(.rts-summary-item, .rts-company-document-list > *) { min-width: 0; }
  .rts-company-profile .rts-summary-item :is(strong, span) { overflow-wrap: anywhere; }
  .rts-company-profile .rts-company-document-list :is(small, time, p) { font-size: 13px; line-height: 1.5; }
  .rts-availability :is(.rts-availability-day, .rts-availability-slot, .rts-availability-vehicle-form, .rts-availability-form) {
    background: #092535 !important;
    color: #e7f6ff !important;
    border-color: #2a5268;
  }
  .rts-availability .rts-availability-slot-body :is(p, small), .rts-availability .rts-availability-slot-time span { color: #accbda; font-size: 13px; line-height: 1.5; }
  .rts-availability .rts-availability-slot-body small { background: #11384a; }
  .rts-availability .rts-availability-slot form button { min-width: 44px; min-height: 44px; }
  .rts-availability .rts-availability-slot-body { min-width: 0; }
  .rts-freight :is(.rts-freight-card-top, .rts-freight-card-bottom, .rts-freight-detail-header, .rts-freight-bid-actions) { flex-wrap: wrap; gap: 10px; }
  .rts-freight :is(.rts-freight-card, .rts-freight-facts, .rts-freight-route) :is(strong, p, dd) { overflow-wrap: anywhere; }
  .rts-freight :is(.rts-freight-tags span, .rts-freight-status, .rts-freight-timeline small) { font-size: 12px; line-height: 1.5; }
  .rts-freight .rts-freight-price { white-space: nowrap; font-variant-numeric: tabular-nums; }

  /* Scan: chrome and safe areas only. No video/canvas geometry or processing changes. */
  .rts-scan-v2 :is(.rts-scan-meta label, .rts-scan-submit [data-scan-status], .rts-scan-filter-row button, .rts-scan-tool-row button) { font-size: 13px; line-height: 1.45; }
  .rts-scan-v2 :is(.rts-scan-filter-row, .rts-scan-tool-row) button { min-height: 44px; flex: 0 0 auto; }
  .rts-scan-v2 .rts-scan-page-order button, .rts-scan-v2 .rts-scan-page > [data-page-remove] { width: 36px; height: 36px; }
  .rts-scan-v2 .rts-scan-meta :is(input, select) { font: inherit; font-size: 16px; min-width: 0; }
  .rts-scan-v2 .rts-scan-footer { padding-bottom: max(14px, env(safe-area-inset-bottom)); }

  /* Public/private route projections keep their existing data scope and map. */
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability) {
    --ui55-module-field: #051a28;
    color: #e4f5ff;
  }
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability)
      :is(.rts-route-panel, .rts-route-inquiry, .rts-tracking-result, .rts-tracking-search, .rts-public-route) {
    min-width: 0;
    border-color: #27546b;
    border-radius: 16px;
  }
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability)
      :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid #2d5369;
    border-radius: 11px;
    color: #eefaff;
    background: #051a28;
    font: inherit;
    font-size: 16px;
    line-height: 1.45;
    color-scheme: dark;
  }
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability) label {
    min-width: 0;
    font-size: 14px;
    line-height: 1.5;
  }
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability) :is(input, select, textarea):focus-visible {
    border-color: #32d7e9;
    outline: 3px solid #20cee526;
    outline-offset: 2px;
  }
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability)
      :is(.rts-route-schedule, .rts-route-private-itinerary, .rts-public-stops, .rts-public-timeline) :is(small, time, p) {
    font-size: 13px;
    line-height: 1.55;
  }
  :is(.rts-route-shell, .rts-tracking-page, .rts-public-availability)
      :is(.rts-route-hero, .rts-route-panel, .rts-public-route, .rts-tracking-result) :is(h1, h2, h3, strong, dd) {
    overflow-wrap: anywhere;
  }
  .rts-route-shell :is(.rts-route-grid, .rts-route-side, .rts-route-form-grid, .rts-route-form-grid > *, .rts-route-form-actions) { min-width: 0; }
  .rts-route-shell .rts-route-document-list a { min-height: 44px; padding-block: 11px; overflow-wrap: anywhere; }
  .rts-public-availability .rts-public-request { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; }
  .rts-public-availability .rts-public-request-backdrop { padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
}

@media screen and (max-width: 1120px) {
  .rts-resource-directory .rts-resource-layout { grid-template-columns: minmax(0, 1fr); }
  .rts-resource-directory .rts-resource-form { position: static; }
  .rts-operations .rts-campaign-layout { grid-template-columns: minmax(0, 1fr); }
  .rts-documents-app .rts-document-row { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 12px; }
  .rts-documents-app .rts-document-row > time { grid-column: 2; }
  .rts-documents-app .rts-document-row > .rts-document-badge { grid-column: 2; justify-self: start; }
  .rts-documents-app .rts-document-row > :last-child { grid-column: 3; grid-row: 1 / 3; align-self: start; }
  .rts-company-profile .rts-company-profile-layout { grid-template-columns: minmax(0, 1fr); }
  .rts-freight .rts-freight-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 760px) {
  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability)
      :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=file]), select, textarea) {
    font-size: 16px !important;
    min-height: 48px;
  }
  :is(#rts-finance-app, #rts-ldv-app, .rts-resource-directory, .rts-documents-app,
      .rts-operations, .rts-tournee-app, .rts-calculator, .rts-freight,
      .rts-communication, .rts-company-profile, .rts-availability) input[type=file] {
    font-size: 16px !important;
  }
  #rts-finance-app :is(.rts-finance-review-filters, .rts-coherence-filters, .rts-bank-filter-row) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
  }
  #rts-finance-app :is(.rts-finance-review-filter-actions, .rts-bank-filter-actions) { display: grid; grid-template-columns: 1fr; }
  #rts-finance-app :is(.rts-finance-review-filter-actions, .rts-bank-filter-actions) > * { width: 100%; justify-content: center; }
  #rts-finance-app .rts-finance-review-list > article { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 16px; }
  #rts-finance-app .rts-finance-review-amount { display: flex; justify-content: space-between; justify-items: start; align-items: center; flex-wrap: wrap; }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) { padding: 16px; }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dl { grid-template-columns: minmax(0, 1fr); }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dl > div { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 8px; }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dd { font-size: 18px; }
  #rts-finance-app :is(.rts-settlement-line, .rts-expense-fields, .rts-finance-fields, .rts-qonto-grid, .rts-expense-source-summary) { grid-template-columns: minmax(0, 1fr); }
  #rts-finance-app :is([data-finance-change], .rts-coherence-form) .rts-button { width: 100%; }
  #rts-finance-app .rts-bank-table td { padding-block: 0; }
  #rts-finance-app .rts-bank-table tr { border: 1px solid #28566b; border-radius: 14px; padding: 16px; margin-bottom: 12px; background: #082331; }
  #rts-finance-app .rts-bank-counterparty-copy strong { font-size: 14px; }
  #rts-finance-app .rts-bank-row-details > summary { align-items: start; gap: 10px; }
  #rts-finance-app .rts-bank-amount { font-size: 16px; }
  #rts-finance-app :is(.rts-expense-controls, .rts-expense-source-title) { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  #rts-finance-app .rts-expense-controls label { min-width: 0; width: 100%; }
  #rts-finance-app .rts-invoice-profile-item-meta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #rts-finance-app .rts-invoice-profile-item-main { gap: 10px; }
  #rts-finance-app .rts-invoice-profile-lines > div { grid-template-columns: minmax(0, 1fr); }
  #rts-finance-app .rts-finance-calendar { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  #rts-finance-app :is(.rts-finance-weekdays, .rts-finance-calendar-grid) { min-width: 580px; }
  #rts-finance-app .rts-finance-day { min-height: 88px; padding: 9px; }
  #rts-finance-app .rts-finance-day :is(strong, em) { font-size: 12px; }
  #rts-finance-app .rts-finance-day > b { font-size: 13px; }
  #rts-finance-app .rts-finance-operation-main { gap: 12px; align-items: start; }
  #rts-finance-app .rts-finance-operation-main > b { grid-column: 2 / -1; justify-self: start; white-space: normal; }
  #rts-finance-app .rts-finance-operation-copy { min-width: 0; }
  #rts-finance-app .rts-finance-operation-tools { display: flex; flex-wrap: wrap; gap: 8px; }
  #rts-finance-app .rts-monthly-day-flow { flex-basis: 96px; min-width: 96px; }
  .rts-app :is(.rts-resource-fields, .rts-operations-fields, .rts-operations-fields-2,
      .rts-calculator-fields, .rts-freight-form-grid, .rts-fields-2,
      .rts-party-grid, .rts-signature-pair, .rts-signature-grid, .rts-summary-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px;
  }
  .rts-app :is(.rts-resource-tabs, .rts-operations-tabs, .rts-communication-tabs,
      .rts-availability-tabs, .rts-freight-view-tabs) {
    display: flex;
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    padding-bottom: 8px;
  }
  .rts-app :is(.rts-resource-tabs, .rts-operations-tabs, .rts-communication-tabs,
      .rts-availability-tabs, .rts-freight-view-tabs) a { flex: 0 0 auto; padding: 11px 16px; white-space: nowrap; }
  .rts-resource-directory :is(.rts-resource-main, .rts-resource-layout, .rts-resource-panel) { min-width: 0; }
  .rts-resource-directory .rts-resource-stats { min-width: 0; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rts-resource-directory .rts-resource-stats span { padding: 12px 10px; font-size: 11px; }
  .rts-resource-directory .rts-resource-search { width: 100%; max-width: none; }
  .rts-resource-directory .rts-resource-card { padding: 17px; }
  .rts-resource-directory .rts-resource-card > header { gap: 12px; flex-wrap: wrap; }
  .rts-resource-directory .rts-resource-card dl { grid-template-columns: minmax(0, 1fr); }
  .rts-resource-directory .rts-resource-card footer { display: flex; gap: 10px; flex-wrap: wrap; }
  .rts-resource-directory .rts-resource-card footer > :is(button, a) { flex: 1 1 130px; min-height: 44px; font-size: 13px; }
  .rts-resource-directory .rts-contact-row { grid-template-columns: minmax(0, 1fr); }
  .rts-resource-directory .rts-contact-row-heading > button { min-width: 44px; min-height: 44px; }
  .rts-resource-directory .rts-studio-appbar { gap: 10px; flex-wrap: wrap; }
  .rts-resource-directory .rts-studio-appbar-meta { width: 100%; flex-wrap: wrap; }
  .rts-resource-directory .rts-fleet-heading-actions { width: 100%; }
  .rts-resource-directory .rts-fleet-heading-actions > * { flex: 1 1 140px; min-width: 0; }
  .rts-operations .rts-route-point { grid-template-columns: 32px minmax(0, 1fr); padding: 14px; gap: 10px; }
  .rts-operations .rts-route-point > button { grid-column: 2; justify-self: end; min-width: 44px; min-height: 44px; }
  .rts-operations .rts-campaign-preview-grid { grid-template-columns: minmax(0, 1fr); }
  .rts-operations .rts-contact-tools > * { flex: 1 1 180px; }
  .rts-calculator :is(.rts-calculator-hero-result, .rts-calculator-card, .rts-calculator-decision, .rts-calculator-smart) { min-width: 0; }
  .rts-calculator .rts-calculator-smart-actions { align-items: stretch; flex-direction: column; }
  .rts-calculator .rts-calculator-smart-actions > * { width: 100%; }
  .rts-calculator :is(.rts-calculator-price-fields, .rts-calculator-offer-actions) { grid-template-columns: minmax(0, 1fr); }
  .rts-calculator .rts-calculator-cost-bars article > div { flex-wrap: wrap; gap: 7px 14px; }
  #rts-ldv-app .rts-workspace { grid-template-columns: minmax(0, 1fr); }
  #rts-ldv-app .rts-sidebar { position: static; max-height: none; padding: 16px; }
  #rts-ldv-app .rts-document { padding-inline: 14px; }
  #rts-ldv-app .rts-form-section { padding: 17px; }
  #rts-ldv-app .rts-stage-actions > :is(button, a), #rts-ldv-app .rts-stage-actions > div { flex: 1 1 100%; width: 100%; }
  #rts-ldv-app .rts-mobile-dock { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  #rts-ldv-app :is(.rts-stepper, .rts-record-tabs) { display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; }
  #rts-ldv-app .rts-stepper button { flex: 0 0 auto; min-width: 112px; min-height: 48px; font-size: 13px; }
  .rts-tournee-app .rts-tournee-layout { grid-template-columns: minmax(0, 1fr); }
  .rts-tournee-app :is(.rts-tournee-list-panel, .rts-tournee-stop-panel) { padding: 17px; }
  .rts-tournee-app .rts-stop-eta-control { display: grid; grid-template-columns: minmax(0, 1fr); }
  .rts-documents-app .rts-documents-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); }
  .rts-documents-app .rts-documents-toolbar > div { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .rts-documents-app .rts-documents-toolbar button { min-height: 44px; flex: 0 0 auto; font-size: 13px; }
  .rts-documents-app .rts-document-row { padding: 15px; grid-template-columns: 40px minmax(0, 1fr); gap: 10px; }
  .rts-documents-app .rts-document-icon { width: 40px; height: 40px; }
  .rts-documents-app .rts-document-row > :last-child { grid-column: 2; grid-row: auto; justify-self: start; display: flex; flex-wrap: wrap; gap: 8px; }
  .rts-communication .rts-messenger-layout { grid-template-columns: minmax(0, 1fr); }
  .rts-communication .rts-messenger-thread > header { flex-wrap: wrap; align-items: start; gap: 10px; }
  .rts-communication .rts-messenger-reply { gap: 10px; }
  .rts-communication .rts-messenger-reply textarea { min-height: 96px; }
  .rts-communication .rts-notification-heading-actions { flex-wrap: wrap; gap: 10px; }
  .rts-availability .rts-availability-day { grid-template-columns: minmax(0, 1fr); }
  .rts-availability .rts-availability-day > header { display: flex; align-items: baseline; gap: 9px; padding: 12px 16px; }
  .rts-availability .rts-availability-slot { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 16px; }
  .rts-availability .rts-availability-slot-time { grid-column: 1; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
  .rts-availability .rts-availability-slot-body { grid-column: 1 / -1; }
  .rts-availability .rts-availability-slot > form { grid-column: 2; grid-row: 1; }
  .rts-availability .rts-availability-request-grid { grid-template-columns: minmax(0, 1fr); }
  .rts-freight :is(.rts-freight-detail-header, .rts-freight-submit) { align-items: start; flex-direction: column; }
  .rts-freight .rts-freight-detail-header > *, .rts-freight .rts-freight-submit > * { max-width: 100%; }
  .rts-freight .rts-freight-route { gap: 16px; }
  .rts-freight .rts-freight-bid-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .rts-scan-v2 .rts-scan-footer { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rts-scan-v2 .rts-scan-meta { grid-template-columns: minmax(0, 1fr); }
  .rts-scan-v2 .rts-scan-submit { flex-wrap: wrap; align-items: stretch; justify-content: stretch; }
  .rts-scan-v2 .rts-scan-submit [data-scan-status] { flex-basis: 100%; max-width: none; text-align: left; }
  .rts-scan-v2 .rts-scan-submit > button { flex: 1 1 140px; min-height: 48px; }
  .rts-route-shell :is(.rts-route-grid, .rts-route-form-grid) { grid-template-columns: minmax(0, 1fr); }
  .rts-route-shell .rts-route-hero { gap: 16px; flex-wrap: wrap; }
  .rts-route-shell .rts-route-map { min-height: 300px; }
  .rts-route-shell .rts-route-form-actions { flex-wrap: wrap; gap: 12px; }
  .rts-route-shell .rts-route-form-actions > :is(button, a) { flex: 1 1 180px; }
  .rts-tracking-page .rts-tracking-search { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rts-tracking-page .rts-tracking-search > button { width: 100%; min-height: 48px; }
  .rts-public-availability .rts-public-availability-grid { grid-template-columns: minmax(0, 1fr); }
  .rts-public-availability .rts-public-route { padding: 18px; }
  .rts-public-availability .rts-public-request .rts-fields-2 { grid-template-columns: minmax(0, 1fr); }
}

@media screen and (max-width: 430px) {
  #rts-finance-app .rts-bank-table tr { grid-template-columns: minmax(0, 1fr); }
  #rts-finance-app .rts-bank-table :is(.rts-bank-counterparty, .rts-bank-amount-cell, .rts-bank-date-cell,
      .rts-bank-method-cell, .rts-bank-category-cell, .rts-bank-doc-cell, .rts-bank-tax-cell) {
    grid-column: 1 !important;
    grid-row: auto !important;
    text-align: left;
  }
  #rts-finance-app .rts-bank-amount { font-size: 20px; }
  #rts-finance-app .rts-bank-amount-cell { padding-block: 3px 7px; }
  #rts-finance-app .rts-bank-table tr:has(.rts-bank-row-details[open]) :is(td) { grid-column: 1 !important; grid-row: auto !important; }
  #rts-finance-app :is(.rts-finance-filtered-totals, .rts-expense-filtered-summary) dl > div { grid-template-columns: minmax(0, 1fr); }
  #rts-finance-app .rts-expense-candidate > summary { padding: 14px; }
  #rts-finance-app .rts-expense-candidate summary b { margin-left: 0; width: 100%; font-size: 18px; }
  .rts-calculator :is(.rts-calculator-metric-grid, .rts-calculator-scenario-list) { grid-template-columns: minmax(0, 1fr); }
  .rts-resource-directory .rts-resource-stats { grid-template-columns: minmax(0, 1fr); }
  .rts-resource-directory .rts-resource-stats span { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .rts-resource-directory .rts-resource-stats b { font-size: 25px; }
  .rts-freight .rts-freight-facts { grid-template-columns: minmax(0, 1fr); }
  .rts-route-shell .rts-route-dimensions { grid-template-columns: minmax(0, 1fr); }
}

@media screen and (prefers-reduced-motion: reduce) {
  .rts-app :is(.rts-resource-card, .rts-finance-day, .rts-document-row, .rts-freight-card) { transition: none; }
}
/* Readable report columns: the container scrolls, never the whole page. */
@media screen {
 #rts-finance-app .rts-report-preview {min-width:0;max-width:100%;overflow:hidden}
 #rts-finance-app .rts-report-breakdown {display:block;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 #rts-finance-app .rts-report-breakdown table {display:table!important;table-layout:auto!important;min-width:680px!important;width:max-content!important;max-width:none!important;border-collapse:collapse}
 #rts-finance-app .rts-report-breakdown :is(th,td) {width:auto!important;min-width:100px!important;max-width:360px;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;font-size:14px!important;line-height:1.6!important;padding:12px!important;vertical-align:top}
 #rts-finance-app .rts-report-breakdown :is(th,td).is-amount {min-width:120px!important;white-space:nowrap!important;font-variant-numeric:tabular-nums;text-align:right}
 #rts-finance-app .rts-report-breakdown :is(th,td):first-child {min-width:105px!important;white-space:nowrap!important}
 #rts-finance-app .rts-report-breakdown :is(th,td):nth-child(3) {min-width:170px!important}
 #rts-finance-app .rts-report-breakdown :is(th,td):nth-child(4) {min-width:260px!important;overflow-wrap:break-word!important}
 #rts-finance-app .rts-report-breakdown:focus-visible {outline:2px solid #31d9ed;outline-offset:3px}
 #rts-finance-app .rts-report-scroll-help {font-size:13px!important;line-height:1.6!important;color:#b8d4e2;margin:14px 0 8px}
}

@media screen {
 #rts-finance-app .rts-finance-controls {margin-top:20px;min-width:0}
 #rts-finance-app .rts-finance-controls>details {border-top:1px solid #285367;padding:15px 0}
 #rts-finance-app .rts-finance-controls summary {font-size:15px;line-height:1.6;min-height:40px;cursor:pointer;color:#def4ff;overflow-wrap:break-word}
 #rts-finance-app .rts-finance-controls .rts-plan-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 #rts-finance-app .rts-finance-controls :is(input,select,textarea) {box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:16px;min-height:46px}
 #rts-finance-app .rts-coverage-table {min-width:1700px!important;table-layout:auto!important;font-size:13px}
 #rts-finance-app .rts-coverage-table :is(th,td) {min-width:110px;padding:12px;line-height:1.5;white-space:normal;word-break:normal;overflow-wrap:normal;vertical-align:top}
 #rts-finance-app .rts-coverage-table th:first-child {min-width:230px}
 #rts-finance-app .rts-coverage-table small {display:block;font-size:12px;overflow-wrap:break-word}
 #rts-finance-app .rts-bank-balance .rts-table-wrap {max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
 @media(max-width:680px){#rts-finance-app .rts-finance-controls .rts-plan-fields {grid-template-columns:minmax(0,1fr)}#rts-finance-app .rts-finance-controls .rts-invoice-state {grid-template-columns:minmax(0,1fr)}}
}
#rts-vat-preparation dd small{display:block;margin-top:6px;font-size:.85em;font-weight:400;line-height:1.55}
