/* DustinLabs — readable worklists with secondary information available on demand. */
.se-portal--admin.se-portal { font-size: 14px; line-height: 1.5; }
.se-portal--admin.se-portal .se-portal-main { padding: 18px 24px 36px; }
.se-portal--admin.se-portal .se-portal-pagehead { margin-bottom: 18px; padding-bottom: 12px; }
.se-portal--admin.se-portal .se-portal-pagehead h1 { font-size: 25px; line-height: 1.3; }
.se-portal--admin.se-portal .se-panel { margin-top: 16px; border-radius: 6px; }
.se-portal--admin.se-portal .se-panel-head { min-height: 54px; padding: 12px 16px; gap: 12px; flex-wrap: wrap; }
.se-portal--admin.se-portal .se-panel-head h2 { font-size: 17px; line-height: 1.4; }
.se-portal--admin.se-portal :is(.se-panel-head span, .se-muted, .se-form-hint, .se-panel-note) { font-size: 13px; line-height: 1.5; }
.se-portal--admin.se-portal .se-panel-note { padding: 12px 16px; }
.se-portal--admin.se-portal :is(.se-panel-actions, .se-form-actions) { gap: 8px; flex-wrap: wrap; }
.se-portal--admin.se-portal .se-portal-nav a { min-height: 37px; padding-top: 8px; padding-bottom: 8px; font-size: 14px; }
.se-portal--admin.se-portal .se-portal-nav__section { font-size: 10px; margin-top: 16px; }
.se-portal--admin.se-portal .se-admin-global-search :is(input, button) { min-height: 36px; height: 36px; font-size: 13px; }
.se-portal--admin.se-portal .se-admin-global-search label > span { font-size: 12px; }

.se-portal--admin.se-portal :is(button, .se-action-button, .se-erp-button, .se-button-link):not(:where(.se-workspace-control, .se-workspace-task, [class*="leaflet-"], .se-portal-topbar *)) {
  min-height: 36px; padding: 7px 11px !important; font-size: 13px !important; line-height: 1.4; border-radius: 4px !important;
}
.se-portal--admin.se-portal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { min-height: 38px; font-size: 14px; line-height: 1.5; border-radius: 4px; }
.se-portal--admin.se-portal :is(.se-edit-form, .se-admin-order-form, .se-setup-fields, .se-setup-notes, .se-map-filters) { gap: 16px; padding: 18px; }
.se-portal--admin.se-portal :is(.se-edit-form label, .se-admin-order-form label, .se-setup-fields label, .se-map-filters label, .se-route-settings label) { gap: 6px; font-size: 13px; }
.se-portal--admin.se-portal :is(.se-management-search, .se-project-search) { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
.se-portal--admin.se-portal :is(.se-management-search, .se-project-search) > label { flex: 1 1 150px; min-width: 130px; max-width: 330px; font-size: 13px; gap: 5px; }
.se-portal--admin.se-portal :is(.se-management-search, .se-project-search) label :is(input, select) { width: 100%; min-width: 0; }
.se-portal--admin.se-portal :is(.se-extra-filters, .se-filter-details) { flex: 1 1 180px; }
.se-portal--admin.se-portal :is(.se-extra-filters, .se-filter-details)[open] { flex-basis: 100%; }
.se-portal--admin.se-portal :is(.se-extra-filters__fields, .se-filter-details__fields) { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 12px; }

.se-portal--admin.se-portal .se-table-wrap :is(th, td) { padding: 12px 14px; font-size: 14px; line-height: 1.5; vertical-align: top; }
.se-portal--admin.se-portal .se-table-wrap th { height: 42px; font-size: 12px; font-weight: 600; }
.se-portal--admin.se-portal .se-table-wrap .se-table-subline { margin-top: 4px; font-size: 13px; line-height: 1.5; }
.se-portal--admin.se-portal .se-table-wrap :is(.se-pill, .se-origin, .se-order-type, .se-operation-type) { font-size: 12px; padding: 3px 7px; line-height: 1.4; white-space: normal; }
.se-portal--admin.se-portal .se-table-wrap .se-action-button { min-height: 36px; padding: 7px 10px !important; font-size: 13px !important; }
.se-portal--admin.se-portal .se-table-wrap .se-action-icon { display: none; }
.se-portal--admin.se-portal .se-table-wrap table.se-compact-table { min-width: 0 !important; table-layout: auto; }
.se-portal--admin.se-portal .se-table-wrap table.se-compact-table :is(th, td) { width: auto; min-width: 0; max-width: none; white-space: normal; overflow-wrap: anywhere; text-align: left; }
.se-portal--admin.se-portal .se-compact-table td:first-child { min-width: 120px; }
.se-portal--admin.se-portal .se-compact-table :is(td > strong, td > a) { font-weight: 600; }
.se-portal--admin.se-portal .se-compact-table .se-record-link { white-space: nowrap; }
.se-portal--admin.se-portal .se-compact-table .se-pill { overflow-wrap: normal; word-break: normal; }
.se-portal--admin.se-portal .se-compact-table .se-row-details > summary { display: inline-flex; align-items: center; gap: 6px; list-style: none; overflow-wrap: normal; word-break: normal; }
.se-portal--admin.se-portal .se-compact-table .se-row-details > summary::-webkit-details-marker { display: none; }
.se-portal--admin.se-portal .se-compact-table .se-row-details > summary::before { content: '▸'; flex: 0 0 auto; }
.se-portal--admin.se-portal .se-compact-table .se-row-details[open] > summary::before { content: '▾'; }
.se-portal--admin.se-portal .se-compact-table .se-row-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 8px; }
.se-portal--admin.se-portal .se-compact-table .se-row-actions > a { min-height: 36px; display: inline-flex; align-items: center; }
.se-portal--admin.se-portal .se-row-details { max-width: 100%; font-size: 13px; }
.se-portal--admin.se-portal :is(.se-row-details, .se-extra-filters, .se-filter-details, .se-help-details) > summary {
  display: list-item; width: fit-content; max-width: 100%; min-height: 36px; padding: 7px 10px;
  border: 1px solid #cbd5df; border-radius: 4px; background: #f7f9fb; color: #315c7a;
  font-size: 13px; font-weight: 600; line-height: 1.5; cursor: pointer; list-style-position: inside;
}
.se-portal--admin.se-portal :is(.se-row-details, .se-extra-filters, .se-filter-details, .se-help-details) > summary:hover { background: #edf4fa; border-color: #9bb6ca; }
.se-portal--admin.se-portal :is(.se-row-details, .se-extra-filters, .se-filter-details, .se-help-details) > summary:focus-visible { outline: 2px solid #1768a6; outline-offset: 3px; }
.se-portal--admin.se-portal :is(.se-row-details, .se-help-details)[open] > summary { margin-bottom: 10px; }
.se-portal--admin.se-portal .se-row-details :is(.se-row-actions, .se-table-actions, .se-order-actions, .se-panel-actions) { display: flex; flex-wrap: wrap; gap: 8px; white-space: normal; }
.se-portal--admin.se-portal :is(.se-row-details, .se-help-details) > :not(summary) { max-width: 100%; overflow-wrap: anywhere; }
.se-portal--admin.se-portal .se-detail-list { display: grid; gap: 10px; margin: 10px 0; }
.se-portal--admin.se-portal .se-detail-list > div { min-width: 0; }
.se-portal--admin.se-portal .se-detail-list dt { color: #627181; font-size: 12px; }
.se-portal--admin.se-portal .se-detail-list dd { margin: 3px 0 0; font-size: 13px; line-height: 1.5; }
.se-portal--admin.se-portal .se-row-details button:is(.se-order-delete, .se-table-icon-action) { width: auto; min-width: 36px; height: auto; }
.se-portal--admin.se-portal .se-compact-table button.se-order-delete { display: inline-flex; align-items: center; gap: 7px; width: auto; min-width: 36px; height: auto; }
.se-portal--admin.se-portal .se-help-details { margin: 12px 0; }
.se-portal--admin.se-portal .se-help-details > .se-metrics { margin-top: 12px; }

/* Keep order status, payment and invoice distinct and easy to scan. */
.se-portal--admin.se-portal .se-table-wrap table.se-orders-table .se-order-finance-cell { width: 270px; min-width: 240px; }
.se-portal--admin.se-portal .se-order-finance { display: grid; gap: 14px; margin: 0; }
.se-portal--admin.se-portal .se-order-finance > div { display: grid; grid-template-columns: 86px minmax(0, 1fr); align-items: baseline; gap: 12px; }
.se-portal--admin.se-portal .se-order-finance dt { margin: 0; color: #637181; font-size: 12px; font-weight: 400; line-height: 1.6; }
.se-portal--admin.se-portal .se-order-finance dd { min-width: 0; margin: 0; font-size: 13px; line-height: 1.6; overflow-wrap: normal; word-break: normal; }
.se-portal--admin.se-portal .se-order-finance .se-pill { text-align: left; }
@media (min-width: 761px) and (max-width: 1200px) {
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table { display: block; }
  .se-portal--admin.se-portal .se-orders-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .se-portal--admin.se-portal .se-orders-table tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; padding: 14px; background: #f0f3f6; }
  .se-portal--admin.se-portal .se-orders-table tr { display: block; min-width: 0; border: 1px solid #d2dce5; border-radius: 6px; overflow: hidden; }
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table td { display: block; width: auto; min-width: 0; padding: 10px 12px; overflow-wrap: break-word; }
  .se-portal--admin.se-portal .se-orders-table td::before { content: attr(data-column-label); display: block; margin-bottom: 6px; color: #627181; font-size: 11px; font-weight: 600; line-height: 1.4; }
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table .se-order-finance-cell { width: auto; min-width: 0; }
  .se-portal--admin.se-portal .se-order-finance > div { gap: 8px; }
}
@media (max-width: 760px) {
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table .se-order-finance-cell { grid-column: 1 / -1; width: auto; min-width: 0; }
  .se-portal--admin.se-portal .se-order-finance { margin-top: 8px; }
}

/* Route columns remain selectable, with a calmer default and usable action targets. */
.se-portal--admin.se-portal .se-route-grid-table { min-width: 780px !important; table-layout: auto; }
.se-portal--admin.se-portal .se-route-grid-table :is(th, td) { width: auto; height: auto; min-width: 0; padding: 12px; font-size: 14px; white-space: normal; }
.se-portal--admin.se-portal .se-route-grid-table th > a { min-height: 32px; font-size: 12px; }
.se-portal--admin.se-portal .se-route-grid-table td[data-route-column="route"] { white-space: nowrap; }
.se-portal--admin.se-portal .se-route-grid-actions { flex-wrap: wrap; gap: 6px; white-space: normal; }
.se-portal--admin.se-portal .se-route-grid-actions .se-route-open { min-height: 36px; padding: 7px 10px !important; font-size: 13px; background: #1768a6 !important; border-color: #1768a6 !important; color: #fff !important; }
.se-portal--admin.se-portal .se-route-grid-actions .se-erp-menu > summary { min-height: 36px; font-size: 13px; }
.se-portal--admin.se-portal .se-erp-menu__content :is(a, button, label) { min-height: 38px; font-size: 13px; }
.se-portal--admin.se-portal [data-route-grid]:not([data-route-grid-ready="true"]) .se-route-grid-actions .se-erp-menu__content { position: static; margin-top: 6px; }
.se-portal--admin.se-portal .se-route-filters { gap: 12px; padding: 14px 16px; }
.se-portal--admin.se-portal .se-route-filters :is(label, input, select) { height: auto; font-size: 13px; }
.se-portal--admin.se-portal .se-route-filters :is(input, select) { min-height: 38px; }
.se-portal--admin.se-portal :is(.se-erp-toolbar, .se-route-grid-footer) { padding: 12px 16px; gap: 8px; }
.se-portal--admin.se-portal .se-route-grid-wrap { max-height: none; }
.se-portal--admin.se-portal .se-route-grid:has(.se-route-grid-detail:not([hidden])) .se-route-grid-wrap { max-height: none; }

@media (max-width: 1100px) {
  .se-portal--admin.se-portal .se-portal-main { padding: 16px; }
  .se-portal--admin.se-portal .se-table-wrap :is(th, td) { padding: 10px; }
}
@media (max-width: 760px) {
  .se-portal--admin.se-portal .se-portal-main { padding: 12px 10px 28px; }
  .se-portal--admin.se-portal .se-panel-head { padding: 12px; }
  .se-portal--admin.se-portal :is(button, .se-action-button, .se-erp-button, .se-button-link):not(:where(.se-workspace-control, .se-workspace-task, [class*="leaflet-"], .se-portal-topbar *)) { min-height: 44px; }
  .se-portal--admin.se-portal .se-table-wrap .se-action-button,
  .se-portal--admin.se-portal .se-route-grid-actions .se-route-open,
  .se-portal--admin.se-portal .se-route-grid-actions .se-erp-menu > summary { min-height: 44px; }
  .se-portal--admin.se-portal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { min-height: 44px; font-size: 16px; }
  .se-portal--admin.se-portal .se-table-wrap table.se-compact-table tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-portal--admin.se-portal .se-table-wrap table.se-compact-table td { min-width: 0; padding: 10px 12px; }
  .se-portal--admin.se-portal .se-table-wrap table.se-compact-table td:is([data-column-label="Opdracht"], [data-column-label="Bestelling"], [data-column-label="Klant"], [data-column-label="Werkadres"], [data-column-label="Locatie"], [data-column-label="Producten"], [data-column-label="Contact"], [data-column-label="Adres"], [data-column-label="Facturatie"], [data-column-label="Acties"]) { grid-column: 1 / -1; }
  .se-portal--admin.se-portal .se-table-wrap table.se-compact-table td::before { font-size: 11px; margin-bottom: 5px; line-height: 1.4; }
  .se-portal--admin.se-portal .se-compact-table .se-row-actions { flex-direction: row; flex-wrap: wrap; }
  .se-portal--admin.se-portal :is(.se-row-details, .se-extra-filters, .se-filter-details, .se-help-details) > summary { min-height: 44px; padding: 10px; }
  .se-portal--admin.se-portal .se-management-search > label { max-width: none; flex-basis: 100%; }
  .se-portal--admin.se-portal :is(.se-extra-filters__fields, .se-filter-details__fields) { grid-template-columns: minmax(0, 1fr); }
  .se-portal--admin.se-portal .se-route-grid .se-table-wrap { overflow: visible; }
  .se-portal--admin.se-portal .se-route-grid-table { display: block; min-width: 0 !important; }
  .se-portal--admin.se-portal .se-route-grid-table thead { display: block; }
  .se-portal--admin.se-portal .se-route-grid-table thead tr { display: flex; flex-wrap: wrap; padding: 8px; gap: 6px; background: #f4f7fa; }
  .se-portal--admin.se-portal .se-route-grid-table th { display: block; padding: 0 8px; border: 1px solid #d2dce5; border-radius: 4px; }
  .se-portal--admin.se-portal .se-route-grid-table th[data-route-column="actions"] { display: none; }
  .se-portal--admin.se-portal .se-route-grid-table th > a { min-height: 40px; gap: 8px; }
  .se-portal--admin.se-portal .se-route-grid-table tbody { display: grid; gap: 12px; padding: 10px; }
  .se-portal--admin.se-portal .se-route-grid-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d2dce5; border-radius: 6px; overflow: hidden; }
  .se-portal--admin.se-portal .se-route-grid-table td { display: block; padding: 10px; min-width: 0; overflow-wrap: anywhere; }
  .se-portal--admin.se-portal .se-route-grid-table td:is([data-route-column="route"], [data-route-column="region"], [data-route-column="actions"], [colspan]) { grid-column: 1 / -1; }
  .se-portal--admin.se-portal .se-route-grid-table td::before { display: block; margin-bottom: 4px; color: #627181; font-size: 11px; font-weight: 600; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="route"]::before { content: 'Route'; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="date"]::before { content: 'Datum'; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="region"]::before { content: 'Regio'; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="duration"]::before { content: 'Duur'; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="stops"]::before { content: 'Stops'; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="driver"]::before { content: 'Chauffeur'; }
  .se-portal--admin.se-portal .se-route-grid-table td[data-route-column="status"]::before { content: 'Status'; }
}
@media (max-width: 360px) {
  .se-portal--admin.se-portal .se-table-wrap table.se-compact-table tr { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table { display: table; }
  .se-portal--admin.se-portal .se-orders-table thead { display: table-header-group; position: static; width: auto; height: auto; margin: 0; clip: auto; overflow: visible; white-space: normal; }
  .se-portal--admin.se-portal .se-orders-table tbody { display: table-row-group; padding: 0; background: #fff; }
  .se-portal--admin.se-portal .se-orders-table tr { display: table-row; }
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table td { display: table-cell; }
  .se-portal--admin.se-portal .se-orders-table td::before { display: none; }
  .se-portal--admin.se-portal .se-table-wrap table.se-orders-table .se-order-finance-cell { width: 200px; min-width: 180px; }
  .se-portal--admin.se-portal .se-portal-main { padding: 0; }
  .se-portal--admin.se-portal :is(.se-management-search, .se-extra-filters, .se-filter-details, .se-row-actions) { display: none; }
  .se-portal--admin.se-portal .se-table-wrap :is(th, td) { padding: 6px; font-size: 10px; }
  .se-portal--admin.se-portal .se-row-details > summary { display: none; }
  .se-portal--admin.se-portal .se-route-grid-table { min-width: 0 !important; }
}
