/* Screen-only workspace layout. Printed statements keep their original geometry. */
@media screen {
  #app-view {
    max-width: 100%;
    grid-template-columns: 250px minmax(0, 1fr);
  }

  #app-view .workspace,
  #workspace-content,
  #workspace-content :is(.panel, .member-admin-sections, .member-admin-section,
    .content-status-section, .cards-list, .operation-card, .purchase-editor,
    .purchase-list, .route-admin-list, .route-admin-editor) {
    min-width: 0;
    max-width: 100%;
  }

  #workspace-content {
    container: workspace / inline-size;
  }

  /* Explicit zero-minimum tracks prevent a search row or long address from
     widening every card in the list beyond the panel's clipped right edge. */
  #workspace-content :is(.cards-list, .member-admin-sections, .content-status-section) {
    grid-template-columns: minmax(0, 1fr);
  }

  #workspace-content .operation-card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  #workspace-content .operation-card > :not(.operation-card-actions):not(.card-selection) {
    flex: 1 1 20rem;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  #workspace-content .operation-card-actions {
    flex: 0 1 auto;
    flex-wrap: wrap;
    justify-content: flex-start;
    min-width: 0;
    max-width: 100%;
  }

  #app-view :is(.topbar, .topbar-actions),
  #workspace-content :is(.panel-header, .panel-header-actions, .toolbar,
    .dialog-actions, .purchase-toolbar, .purchase-heading) {
    flex-wrap: wrap;
    min-width: 0;
  }

  #app-view .topbar-actions {
    max-width: 100%;
    justify-content: flex-end;
  }

  #workspace-content :is(.panel-header, .member-admin-section > header,
    .content-status-section > header, .route-editor-section > header) > div {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  #workspace-content :is(.panel-header h2, .operation-card h3,
    .operation-card p, .route-admin-item b, .route-admin-item code) {
    overflow-wrap: anywhere;
  }

  #workspace-content .toolbar {
    align-items: center;
  }

  #workspace-content .toolbar > :is(input, .submitted-search) {
    flex: 1 1 14rem;
    width: auto;
    min-width: 0;
    max-width: 100%;
  }

  #workspace-content .toolbar > select {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
  }

  #workspace-content .toolbar > :is(button, small) {
    flex: 0 0 auto;
    max-width: 100%;
  }

  #workspace-content .submitted-search {
    flex-wrap: wrap;
  }

  #workspace-content .submitted-search > input {
    flex: 1 1 10rem;
    width: auto;
    min-width: 0;
  }

  #workspace-content :is(.operation-card-actions, .panel-header-actions,
    .toolbar, .dialog-actions) button {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Dense cargo and purchase tables retain their columns, but scrolling is
     contained in the table rather than pushing the surrounding screen out. */
  #workspace-content :is(.data-table-wrap, .table-scroll, .purchase-table-wrap) {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
  }

  #workspace-content .data-table:has(> tbody > tr > td:last-child .row-action-buttons) > :is(thead, tbody) > tr > :last-child:not([colspan]) {
    position: sticky;
    right: 0;
    z-index: 2;
    background: #fff;
    box-shadow: -1px 0 var(--line);
  }

  #workspace-content .data-table:has(> tbody > tr > td:last-child .row-action-buttons) > thead > tr > :last-child:not([colspan]) {
    z-index: 3;
    background: #f0f4f8;
  }

  #workspace-content .stats-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  }

  #workspace-content :is(.form-grid, .purchase-fields, .route-form-grid) > label {
    min-width: 0;
  }

  #workspace-content :is(.form-grid, .purchase-fields, .route-form-grid) :is(input, select, textarea) {
    min-width: 0;
    max-width: 100%;
  }

  #workspace-content .route-admin-workspace {
    grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
  }

  @container workspace (max-width: 60rem) {
    #workspace-content .route-admin-workspace { grid-template-columns: minmax(0, 1fr); }
    #workspace-content .route-admin-list { border-right: 0; border-bottom: 1px solid var(--line); }
  }

  @container workspace (max-width: 48rem) {
    #workspace-content .purchase-layout { grid-template-columns: minmax(0, 1fr); }
    #workspace-content .purchase-list { position: static; max-height: 240px; overflow: auto; }
    #workspace-content .excel-run-bar { grid-template-columns: minmax(0, 1fr); }
  }
}

@media screen {
  /* Keep both scrollbars within the visible cargo editing area. */
  #workspace-content .data-table-wrap:has(> .cargo-sheet),
  #workspace-content .excel-bulk-table-wrap {
    max-height: 60dvh;
    overflow: auto;
    overflow-x: scroll;
    scrollbar-gutter: stable;
  }
  #workspace-content input[data-measurement-checked][aria-invalid="true"] {
    border-color: #c62828;
    background-color: #fff5f5;
    box-shadow: inset 0 0 0 1px #c62828;
  }
}

/* Match workbook delivery fills on the Notes cell, including an empty editor. */
[data-delivery-note][data-delivery-colored]{background-color:var(--delivery-note-fill)!important;color:var(--delivery-note-ink);print-color-adjust:exact;-webkit-print-color-adjust:exact}
[data-delivery-note][data-delivery-colored] input,[data-delivery-note][data-delivery-colored] textarea{background-color:var(--delivery-note-fill)!important;color:var(--delivery-note-ink)!important}

.cargo-number-search{display:flex;align-items:center;gap:6px;flex:0 1 240px;min-width:170px}.cargo-number-input{display:flex;align-items:center;flex:1;min-width:0;gap:4px}.cargo-number-input input{width:100%;min-width:85px}.cargo-number-input b:empty{display:none}
@media(min-width:761px){@supports(grid-template-rows:subgrid){
 .member-lookup-grid{grid-template-rows:repeat(9,auto)}
 .member-lookup-card{grid-row:span 9}
 .member-lookup-card :is(.member-cargo-filters,.domestic-statement-search){grid-row:4/span 5}
 .member-lookup-card :is(.member-cargo-filters,.domestic-statement-search)>button{grid-row:5}
 .member-lookup-feedback{grid-row:9}
}}
