/* C.1 page matrix: documentation, people/project/service tabs and existing section links. */
.eh-ux-web :is(.ux-tabs-primary,.ux-segmented,.ux-status-tabs) { display:flex; align-items:stretch; width:max-content; max-width:100%; min-width:0; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; margin:0; box-sizing:border-box; }
body.eh-ux-web .ux-tabs-primary.ux-tabs-primary { gap:0; padding:0; border:1px solid #b9cada; border-radius:8px; background:var(--eh-surface,#fff); }
body.eh-ux-web .ux-tabs-primary.ux-tabs-primary > :is(a,button) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:auto; min-width:0; min-height:44px; padding:8px 13px; margin:0; border:0; border-inline-end:1px solid #cbd7e4; border-bottom:3px solid transparent; border-radius:0; background:var(--eh-surface,#fff); box-shadow:none; font-size:14px; font-weight:600; line-height:1.35; text-decoration:none; white-space:nowrap; color:var(--eh-text,#263850); cursor:pointer; }
body.eh-ux-web .ux-tabs-primary.ux-tabs-primary > :last-child { border-inline-end:0; }
body.eh-ux-web .ux-tabs-primary.ux-tabs-primary > :is(a,button):is(.is-active,[aria-current=page],[aria-selected=true],[aria-pressed=true]) { color:#00638f; border-bottom-color:var(--eh-primary,#009fe3); background:#e2f3fc; }
body.eh-ux-web .ux-tabs-primary.ux-tabs-primary > :is(a,button):hover { color:var(--eh-text,#142137); background:#edf6fb; }
body.eh-ux-web .ux-segmented.ux-segmented { padding:2px; gap:0; border:1px solid #b9cada; border-radius:9px; background:var(--eh-surface-soft,#f2f6fa); }
body.eh-ux-web .ux-segmented.ux-segmented > :is(a,button) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:0; width:auto; min-height:40px; padding:7px 12px; border:0; border-inline-end:1px solid #cbd7e4; border-radius:0; background:transparent; color:var(--eh-text,#263850); font:inherit; font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; box-shadow:none; cursor:pointer; }
body.eh-ux-web .ux-segmented.ux-segmented > :first-child { border-radius:6px 0 0 6px; }
body.eh-ux-web .ux-segmented.ux-segmented > :last-child { border-inline-end:0; border-radius:0 6px 6px 0; }
body.eh-ux-web .ux-segmented.ux-segmented > :is(a,button):is(.is-active,[aria-current=page],[aria-selected=true],[aria-pressed=true]) { background:var(--eh-primary,#009fe3); color:#fff; }
body.eh-ux-web .ux-segmented.ux-segmented > :is(a,button):hover { box-shadow:inset 0 0 0 2px #79bbdc; }
body.eh-ux-web .ux-status-tabs.ux-status-tabs { gap:5px; padding:0; border:0; border-radius:0; background:transparent; align-items:center; }
body.eh-ux-web .ux-status-tabs.ux-status-tabs > :is(a,button) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:0; width:auto; min-height:36px; padding:6px 10px; margin:0; border:1px solid #cbd7e4; border-radius:7px; background:var(--eh-surface,#fff); color:var(--eh-muted,#53647a); box-shadow:none; font-size:13px; font-weight:500; line-height:1.35; text-decoration:none; white-space:nowrap; cursor:pointer; }
body.eh-ux-web .ux-status-tabs.ux-status-tabs > :is(a,button):is(.is-active,[aria-current=page],[aria-selected=true],[aria-pressed=true]) { color:#00638f; background:#e2f3fc; border-color:#238ebd; box-shadow:inset 0 -2px 0 #238ebd; }
body.eh-ux-web .ux-status-tabs.ux-status-tabs > :is(a,button):hover { background:#edf6fb; border-color:#79bbdc; }
.eh-ux-web .ux-filter-label { display:inline-flex; flex:none; align-items:center; min-height:36px; padding-right:3px; color:var(--eh-muted,#53647a); font-size:13px; font-weight:600; }
.eh-ux-web :is(.ux-tabs-primary,.ux-segmented,.ux-status-tabs) > :is(a,button):focus-visible { outline:3px solid #005c84; outline-offset:-4px; position:relative; z-index:1; }
.eh-ux-web :is(.ux-tabs-primary,.ux-segmented,.ux-status-tabs) > :is(:disabled,[aria-disabled=true]) { opacity:.5; cursor:not-allowed; box-shadow:none; background:var(--eh-surface-soft,#f2f6fa); }
.eh-ux-web :is(.ux-tabs-primary,.ux-segmented,.ux-status-tabs) > [hidden],.eh-ux-web :is(.ux-tabs-primary,.ux-segmented,.ux-status-tabs)[hidden] { display:none!important; }
.eh-ux-web .ux-module-context { margin:0; color:var(--eh-muted,#53647a); font-size:14px; line-height:1.5; }
.eh-ux-web .ux-c1-view-filter-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; min-width:0; }
.eh-ux-web .eh-page:has(> .ux-tabs-primary),.eh-ux-web .eh-page:has(> .ux-segmented),.eh-ux-web .eh-timesheet-review-page { gap:12px; }
.eh-ux-web .eh-page > :is(.ux-tabs-primary,.ux-segmented,.ux-status-tabs) { margin:0; }
.eh-ux-web :is(.eh-work-reports-page,.eh-checklist-list-page,.eh-material-requests-page,.eh-service-ticket-list-page,.eh-timesheet-form-page,.eh-timesheet-review-page) > .eh-page-header > .eh-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; max-width:100%; }
.eh-ux-web :is(.eh-work-reports-page,.eh-checklist-list-page,.eh-material-requests-page,.eh-service-ticket-list-page,.eh-timesheet-form-page,.eh-timesheet-review-page) > .eh-page-header > .eh-actions > :is(a,button) { flex:0 1 auto; min-width:0; max-width:100%; white-space:normal; }
body.eh-ux-web #work-reports-list-tools { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; }
body.eh-ux-web #work-reports-list-tools > .eh-field { flex:1; min-width:min(250px,100%); }
body.eh-ux-web #work-reports-loose-filter-wrap { flex:none; min-height:44px; display:flex; align-items:center; gap:7px; }
body.eh-ux-web .eh-timesheet-review-page .eh-timesheet-filter-bar .eh-filter-row { grid-template-columns:repeat(3,minmax(0,160px)); gap:10px; }

/* Explicit list-table opt-in. Calendar/planning matrices and print templates are excluded. */
@media screen {
 body.eh-ux-web .eh-table-wrap:has(> .ux-c1-table) { container:c1-data-list / inline-size; }
 body.eh-ux-web .ux-c1-table { width:100%; min-width:0; table-layout:fixed; }
 body.eh-ux-web .ux-c1-table :is(th,td) { padding:10px 9px; white-space:normal; overflow-wrap:anywhere; line-height:1.45; vertical-align:top; min-width:0; }
 body.eh-ux-web .ux-c1-table th { overflow-wrap:normal; }
 body.eh-ux-web .ux-c1-table :is(.ux-c1-identity,.eh-data-row-main-link) { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; -webkit-line-clamp:unset; max-height:none; }
 body.eh-ux-web .ux-c1-table .eh-data-row-main-link { display:block; min-height:40px; align-content:center; }
 body.eh-ux-web .ux-c1-table .eh-data-row-actions { display:flex; gap:5px; flex-wrap:wrap; align-items:center; justify-content:flex-start; }
 body.eh-ux-web .ux-c1-table .eh-data-row-actions :is(a,button) { flex:none; min-height:40px; max-width:100%; }
 body.eh-ux-web .ux-c1-table .eh-badge { white-space:normal; min-width:0; }
 body.eh-ux-web .ux-c1-table .ux-c1-row-details { margin-top:5px; color:var(--eh-muted); font-size:13px; }
 body.eh-ux-web .ux-c1-table .ux-c1-row-details summary { cursor:pointer; min-height:32px; display:list-item; width:max-content; max-width:100%; }
 body.eh-ux-web .ux-c1-table .ux-c1-row-details summary:focus-visible { outline:2px solid #005c84; outline-offset:2px; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table :is(th,td):nth-child(1) { width:21%; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table :is(th,td):nth-child(2) { width:23%; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table :is(th,td):nth-child(3) { width:13%; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table :is(th,td):nth-child(4) { width:13%; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table :is(th,td):nth-child(5) { width:14%; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table :is(th,td):nth-child(6) { width:16%; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table .eh-timesheet-admin-actions { flex-wrap:wrap; }
 body.eh-ux-web .eh-timesheet-table.ux-c1-table .eh-timesheet-status-cell { text-align:left; }
 body.eh-ux-web .ux-c1-table--reports-review :is(th,td):nth-child(1) { width:34%; }
 body.eh-ux-web .ux-c1-table--reports-review :is(th,td):nth-child(2) { width:20%; }
 body.eh-ux-web .ux-c1-table--reports-review :is(th,td):nth-child(3) { width:17%; }
 body.eh-ux-web .ux-c1-table--reports-review :is(th,td):nth-child(4) { width:15%; }
 body.eh-ux-web .ux-c1-table--reports-review :is(th,td):nth-child(5) { width:14%; }
 body.eh-ux-web :is(.ux-c1-table--reports-personal,.ux-c1-table--checklists) :is(th,td):nth-child(1) { width:45%; }
 body.eh-ux-web :is(.ux-c1-table--reports-personal,.ux-c1-table--checklists) :is(th,td):nth-child(2) { width:20%; }
 body.eh-ux-web :is(.ux-c1-table--reports-personal,.ux-c1-table--checklists) :is(th,td):nth-child(3) { width:18%; }
 body.eh-ux-web :is(.ux-c1-table--reports-personal,.ux-c1-table--checklists) :is(th,td):nth-child(4) { width:17%; }
 @container c1-data-list (max-width:700px) {
  body.eh-ux-web table.ux-c1-table,body.eh-ux-web .ux-c1-table :is(tbody,tr,td) { display:block; width:100%; min-width:0; }
  body.eh-ux-web .ux-c1-table :is(thead,colgroup) { display:none; }
  body.eh-ux-web .ux-c1-table tr { padding:10px; border-bottom:1px solid var(--eh-border); }
  body.eh-ux-web .ux-c1-table tr > td { width:100%!important; text-align:left; border:0; padding:6px; }
  body.eh-ux-web .ux-c1-table td::before { display:block; content:attr(data-label); margin-bottom:3px; font-size:12px; font-weight:600; color:var(--eh-muted); }
  body.eh-ux-web .ux-c1-table td:first-child::before { display:none; }
 }
}
@media(max-width:680px) {
 body.eh-ux-web :is(.eh-work-reports-page,.eh-checklist-list-page,.eh-material-requests-page,.eh-service-ticket-list-page,.eh-timesheet-form-page,.eh-timesheet-review-page) > .eh-page-header { flex-wrap:wrap; }
 body.eh-ux-web :is(.eh-work-reports-page,.eh-checklist-list-page,.eh-material-requests-page,.eh-service-ticket-list-page,.eh-timesheet-form-page,.eh-timesheet-review-page) > .eh-page-header > .eh-actions { width:100%; justify-content:flex-start; }
 body.eh-ux-web .eh-timesheet-review-page .eh-timesheet-filter-bar .eh-filter-row { grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); }
}

/* Material keeps its existing five-cell list and independent workflow. */
@media screen {
 body.eh-ux-web .eh-material-requests-page { container:c1-material / inline-size; }
 body.eh-ux-web .ux-c1-material-table { width:100%; min-width:0; overflow:visible; }
 body.eh-ux-web .ux-c1-material-table > :is(.eh-material-request-list-header,.ux-c1-material-row) { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1.5fr) minmax(0,2.7fr) minmax(0,1.8fr) minmax(86px,1fr); gap:10px; min-width:0; align-items:start; padding:12px; }
 body.eh-ux-web .ux-c1-material-table .ux-c1-material-row { cursor:default; }
 body.eh-ux-web .ux-c1-material-table :is(.eh-material-request-list-cell,.eh-material-request-list-cell span,.eh-material-request-list-cell strong) { min-width:0; max-width:100%; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; -webkit-line-clamp:unset; }
 body.eh-ux-web .ux-c1-material-table .eh-material-request-status-cell .eh-badge { min-width:0; white-space:normal; }
 body.eh-ux-web .ux-c1-material-table .eh-material-request-action-cell { display:flex; justify-content:flex-start; }
 body.eh-ux-web .ux-c1-material-table .eh-material-request-action-btn { min-width:0; min-height:44px; max-width:100%; white-space:normal; }
 @container c1-material (max-width:700px) {
  body.eh-ux-web .ux-c1-material-table > .eh-material-request-list-header { display:none; }
  body.eh-ux-web .ux-c1-material-table > .ux-c1-material-row { grid-template-columns:minmax(0,1fr); gap:8px; }
  body.eh-ux-web .ux-c1-material-row > [data-label]::before { display:block; content:attr(data-label); color:var(--eh-muted); font-size:12px; font-weight:600; margin-bottom:3px; }
  body.eh-ux-web .ux-c1-material-row > .ux-c1-identity::before { display:none; }
 }
}

@media screen { body.eh-ux-web .eh-work-report-list-page .ux-c1-table td:first-child { min-width:0; } }

@media screen {
 body.eh-ux-web .ux-c1-table :is(div,span).ux-c1-row-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:5px; }
 body.eh-ux-web .ux-c1-table :is(div,span).ux-c1-row-actions > :is(a,button) { flex:none; min-height:40px; max-width:100%; white-space:normal; }
}
