/* Shared table frame, density and action controls. */
:root{--list-bg:#fafcf7;--list-hover:#f1f7e9}
.data-table-wrap{--table-line:#b9c3d0;border:1px solid var(--table-line);border-radius:6px;overflow-x:auto;overflow-y:hidden;background:var(--list-bg)}
.data-table{--table-text-gap:6px;border-collapse:separate;border-spacing:0;width:100%;font-size:14px}
.data-table th{height:26px;padding:3px 8px;text-align:left;font-size:13px;font-weight:400;white-space:nowrap;background:#f6e7e2;color:#4d607b}
.data-table td{height:44px;padding:5px 8px;vertical-align:middle;line-height:1.4;background:var(--list-bg)}
.data-table th,.data-table td{border:0;border-bottom:1px solid var(--table-line)}
.data-table th:not(:last-child),.data-table td:not(:last-child):not(.responsive-leading){border-right:1px solid var(--table-line)}
.data-table tbody tr:hover td{background:var(--list-hover)}
.data-table td small{display:block;margin-top:var(--table-text-gap);font-size:12px;line-height:1.4;color:#6c7f96}
.data-table td:has(.list-action){width:1%;padding:3px;white-space:nowrap}
.list-actions{display:flex;justify-content:flex-end;gap:3px}
.list-action.button{flex:none;min-width:48px;border-radius:5px;background:#fff;color:var(--action-color);border-color:var(--action-color)}
.list-action--primary{--action-color:#4154f1}
.list-action--success{--action-color:#198754}
.list-action--secondary{--action-color:#536483}
.list-action--danger{--action-color:#aa4b4b}
.list-action:has(.list-action-error){position:relative}
.list-action-error{position:absolute;right:3px;top:3px;width:8px;height:8px;border-radius:50%;background:#d54949;box-shadow:0 0 0 2px #fff;pointer-events:none}
.list-action:disabled:has(.list-action-error){filter:none;--action-color:#86909b}
.list-action:disabled:has(.list-action-error):hover{background:#fff;color:var(--action-color)}
.list-action.button:hover{background:var(--action-color);color:#fff;text-decoration:none}
.list-action[data-list-disclosure][aria-expanded=true]{background:#eaf3e3;color:#315f47;border-color:#71917a}
.data-table .is-expanded>td{background:#f4f6ed}
.data-table .list-disclosure-row>td{height:auto;padding:0;border-right:0}
.collapse-panel{overflow:hidden}
.list-disclosure-detail{padding:14px 16px;border-bottom:2px solid var(--orange,#f19354);background:#fff}

body[data-density=comfortable] .data-table tr:not(.responsive-detail-row):not(.list-disclosure-row)>td{height:54px;padding-top:10px;padding-bottom:10px}

.responsive-toggle{display:none}
.responsive-detail-row{display:table-row}
.responsive-data-table .responsive-primary{overflow-wrap:anywhere}
.responsive-data-table.has-leading-column th:first-child,.responsive-data-table .responsive-leading{width:44px;text-align:center;border-right:0}
.responsive-data-table .responsive-detail-row>td{height:auto;width:auto;padding:0;border:0;white-space:normal}
.list-status-filter{display:inline-flex;max-width:100%;isolation:isolate}
.list-status-filter.is-scrollable{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.toolbar>.list-status-filter.is-scrollable{flex:1 1 0}
.list-status-filter.is-scrollable>.button{flex:0 0 auto;min-width:76px}
.list-status-filter.is-scrollable>.button>span:first-child{max-width:170px;overflow:hidden;text-overflow:ellipsis}
.toolbar>.list-status-filter{gap:0}
.button.is-stacked,.list-status-filter>.button{flex:0 1 auto;height:54px;min-height:54px;padding:2px 6px;gap:6px;flex-direction:column;font-size:12px}
.list-status-filter>.button{border-radius:0;background:#fff}
.list-status-filter>.button+.button{margin-left:-1px}
.list-status-filter>.button:first-child{border-radius:5px 0 0 5px}
.list-status-filter>.button:last-child{border-radius:0 5px 5px 0}
.list-status-filter>.button[aria-pressed=true]{background:#edf5e7;border-color:#71917a;color:#315f47;z-index:1}
.list-status-filter>.button:focus-visible{z-index:2}
.list-status-count{display:inline-flex;gap:5px;align-items:center;font-variant-numeric:tabular-nums}
.kanban.is-filtered{grid-template-columns:minmax(0,1fr)}
@media(max-width:650px){
  .toolbar:has(>.list-status-filter){flex-wrap:nowrap;align-items:stretch;gap:4px}
  .toolbar>.list-status-filter{width:auto;min-width:0;flex:0 1 auto;align-items:stretch}
  .list-status-filter>.button{flex:0 1 auto;padding-inline:2px;white-space:nowrap}
  .toolbar:has(>.list-status-filter)>.button.is-icon-only{flex:0 0 44px;width:44px;min-width:44px;min-height:54px;padding:0;justify-content:center}
}
@media(max-width:360px){.button.is-stacked,.list-status-filter>.button{font-size:11px}}
.responsive-data-table tbody tr:nth-last-child(2)>td{border-bottom:0}
.responsive-inline-actions{display:flex;justify-content:flex-end;align-items:center;gap:3px}
.responsive-mobile-details{display:none}
.responsive-detail-content{min-width:0;padding:14px 16px;background:#fff}
.responsive-record-details{min-width:0;overflow-wrap:anywhere}
/* Expanded details retain their band; closed rows have one separator and no gap. */
.responsive-data-table>tbody>.responsive-detail-row:not(:last-child):has(>.responsive-detail:not([hidden]))>td{border-bottom:4px solid #f6e7e2}
.responsive-data-table>tbody>.responsive-detail-row>td>.responsive-detail>.responsive-detail-content{border-bottom:2px solid var(--orange,#f19354)}
.responsive-data-table tbody tr:nth-last-child(2).is-responsive-open:has(+.has-record-detail)>td{border-bottom:1px solid var(--table-line)}
.data-table tbody tr:last-child>:is(th,td),.data-table tbody tr:has(+tr:last-child[hidden])>:is(th,td){border-bottom:0}
@media(min-width:651px){.responsive-detail-row:not(.has-record-detail) .responsive-detail{display:none}}
@media(max-width:650px){
  .responsive-data-table{table-layout:fixed}
  .responsive-data-table th{white-space:normal}
  .responsive-data-table th:not(:first-child):not(:last-child),.responsive-data-table .responsive-auxiliary,.responsive-data-table .responsive-inline-actions{display:none}
  .responsive-data-table.has-leading-column th:nth-child(2){display:table-cell}
  .responsive-data-table.has-leading-column th:first-child,.responsive-data-table .responsive-leading{width:40px;padding-inline:5px}
  .responsive-data-table th:last-child,.responsive-data-table .responsive-actions{width:56px}
  .responsive-data-table th:last-child{padding-inline:3px;font-size:12px}
  .responsive-data-table .responsive-primary{white-space:normal;word-break:normal}
  .responsive-toggle{display:flex;justify-content:center}
  .responsive-toggle .icon{stroke-width:3;transform:rotate(90deg)}
  .responsive-toggle [data-responsive-view] .icon{transform:none;stroke-width:1.8}
  .responsive-detail-content{min-width:0;padding:10px;background:#f5f8f0}
  .responsive-mobile-details{display:block}
  .responsive-record-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--table-line)}
  .responsive-detail-content dl{margin:0 0 10px;display:grid;gap:8px}
  .responsive-detail-content dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .responsive-detail-content dt{font-size:12px;color:var(--muted)}
  .responsive-detail-content dd{margin:0;min-width:0;overflow-wrap:anywhere}
  .responsive-detail-content .list-actions{flex-wrap:wrap}
  .is-responsive-open>td{background:#f1f7e9}
  .responsive-toggle [aria-expanded=true]{background:#eaf3e3;border-color:#71917a;color:#315f47}
  .responsive-data-table tbody tr:nth-last-child(2).is-responsive-open>td{border-bottom:1px solid var(--table-line)}
}
