.data-table-toolbar{position:relative;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-main)}
.data-table-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;padding:.55rem .75rem .55rem 1rem}
.data-table-heading{display:flex;align-items:baseline;gap:.65rem;min-width:0}
.data-table-title{font-size:.9rem;font-weight:750;white-space:nowrap}
.data-table-range,.data-table-updated{color:var(--text-muted);font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.data-table-updated:empty{display:none}
.data-table-actions{position:relative;display:flex;align-items:center;gap:.25rem}
.data-table-pager{width:auto;min-height:40px;margin-right:.15rem}
.data-table-toolbar .client-tab-pager .spk-pager-range{display:none}
.data-table-pager .spk-pager-button{width:36px;height:36px}
.data-table-action{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-width:40px;height:40px;padding:0 .7rem;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:650;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}
.data-table-action:hover,.data-table-action:focus-visible,.data-table-action[aria-expanded="true"]{border-color:var(--border-subtle);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text-main);outline:0}
.data-table-action.is-loading i{animation:dataTableSpin .7s linear infinite}
.data-table-more{width:40px;padding:0}
.data-table-menu{position:absolute;z-index:1060;top:calc(100% + .35rem);right:0;width:max-content;min-width:210px;padding:.35rem;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated);box-shadow:0 18px 42px rgba(0,0,0,.24)}
.data-table-menu[hidden]{display:none!important}
.data-table-menu button{display:flex;align-items:center;gap:.65rem;width:100%;min-height:38px;padding:.5rem .65rem;border:0;border-radius:7px;background:transparent;color:var(--text-main);font-size:.84rem;text-align:left}
.data-table-menu button:hover,.data-table-menu button:focus-visible{background:color-mix(in srgb,var(--accent) 9%,transparent);outline:0}
.data-table-menu i{width:1rem;color:var(--accent-soft)}
.data-table-mobile-sort{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--border-subtle)}
.data-table-menu-label{padding:.35rem .65rem .2rem;color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.data-table-menu button.is-active{color:var(--accent-soft);font-weight:750}
.data-table-selection{display:flex;align-items:center;gap:.75rem;min-height:52px;padding:.45rem .75rem .45rem 1rem;border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}
.data-table-selection[hidden]{display:none!important}
.data-table-selection-summary{display:flex;align-items:baseline;gap:.35rem;min-width:6rem}
.data-table-selection-summary strong{font-size:1rem;color:var(--accent-soft)}
.data-table-selection-summary span,.data-table-selection-link{font-size:.78rem;color:var(--text-muted)}
.data-table-selection-link{padding:.35rem;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px}
.data-table-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-left:auto}
.data-table-bulk-action,.data-table-bulk-close{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.4rem .62rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-main);font-size:.78rem;font-weight:700}
.data-table-bulk-action:hover,.data-table-bulk-action:focus-visible,.data-table-bulk-close:hover,.data-table-bulk-close:focus-visible{border-color:var(--border-strong);background:color-mix(in srgb,var(--accent) 9%,var(--bg-elevated));outline:0}
.data-table-bulk-action.is-danger{color:#fb7185;border-color:color-mix(in srgb,#fb7185 35%,var(--border-subtle))}
.data-table-bulk-action.is-warning{color:#f59e0b;border-color:color-mix(in srgb,#f59e0b 35%,var(--border-subtle))}
.data-table-bulk-close{width:36px;padding:0}
.data-table-select-cell{width:42px!important;min-width:42px!important;max-width:42px!important;text-align:center!important}
.data-table-select-cell .form-check-input{float:none;width:1.1rem;height:1.1rem;margin:0;border-radius:50%;cursor:pointer}
table.is-selecting tbody>tr{cursor:pointer;user-select:none;-webkit-user-select:none}
table.is-selecting tbody>tr:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:-2px}
.data-table-row-selected>td{background-color:color-mix(in srgb,var(--accent) 12%,var(--table-row-bg,var(--bg-elevated)))!important}
.data-table-row-selected>.data-table-select-cell{box-shadow:inset 3px 0 0 var(--accent)!important}
body[data-theme="light"] .data-table-toolbar{background:#fff}
body[data-theme="light"] .data-table-menu{background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.15)}
body[data-theme="light"] .data-table-action:hover,body[data-theme="light"] .data-table-action:focus-visible,body[data-theme="light"] .data-table-action[aria-expanded="true"]{background:#eef2ff;color:#3730a3}
@keyframes dataTableSpin{to{transform:rotate(360deg)}}
@media(max-width:767.98px){
  thead .data-table-select-cell{display:none!important}
  .data-table-toolbar-main{min-height:52px;padding:.4rem .35rem .4rem .7rem}
  .data-table-heading{display:grid;grid-template-columns:auto 1fr;gap:.08rem .45rem;align-items:center}
  .data-table-title{font-size:.86rem}
  .data-table-range{grid-column:1/-1;font-size:.72rem}
  .data-table-updated{display:none!important}
  .data-table-action{width:42px;height:42px;padding:0}
  .data-table-pager{order:-1;gap:.1rem}
  .data-table-pager .spk-pager-button{width:36px;height:42px;border:0}
  .data-table-pager .text-muted{display:none}
  .data-table-action>span{display:none}
  .data-table-menu{position:absolute;z-index:1080;left:auto;right:.35rem;top:calc(100% + .35rem);bottom:auto;width:min(327px,calc(100vw - 24px));max-height:min(70vh,500px);overflow:auto;padding:.5rem;border-radius:13px}
  .data-table-menu button{min-height:46px;font-size:.9rem}
  .data-table-selection{position:sticky;z-index:1030;bottom:8px;flex-wrap:wrap;gap:.35rem .55rem;margin:.35rem;border:1px solid var(--border-strong);border-radius:12px;padding:.55rem .65rem;box-shadow:0 14px 32px rgba(0,0,0,.25)}
  .data-table-selection-summary{width:100%;min-width:0}
  .data-table-selection-summary span{white-space:normal}
  .data-table-selection-link{display:inline-flex;align-items:center;min-height:34px;padding:.3rem .1rem}
  .data-table-selection-actions{width:100%;margin-left:0;justify-content:flex-end;overflow-x:auto}
  .data-table-bulk-action{min-width:40px;height:40px;padding:0 .55rem}
  .data-table-bulk-action span{display:none}
  .data-table-bulk-action i{font-size:1rem}
  body .app-content table.is-selecting tbody tr{position:relative}
  body .app-content table.is-selecting tbody tr:not(.ui-list-empty):not(.mobile-table-empty)>td.data-table-select-cell{display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;left:.7rem;right:auto;top:.72rem;z-index:2;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;padding:0!important;border:0!important;background:transparent!important}
  body .app-content table.is-selecting tbody tr>td.data-table-select-cell::before{display:none!important}
  body .app-content table.is-selecting tbody tr:not(.ui-list-empty):not(.mobile-table-empty)>td.data-table-select-cell+td{padding-left:3rem!important}
}

.data-table-size-control{display:grid;gap:.5rem;padding:.65rem .75rem;margin-bottom:.3rem;border-bottom:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted)}
.data-table-size-control select{width:100%;min-height:36px;padding:.4rem .6rem;background:var(--bg-elevated);color:var(--text-main);border:1px solid var(--border-subtle);border-radius:6px}
.data-table-size-control select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.data-table-menu:not([hidden]){transform-origin:top right;animation:tableMenuEnter .16s ease-out}
.data-table-selection:not([hidden]){animation:tableSelectionEnter .2s ease-out}
table.is-selecting tbody>tr>td{transition:background-color .18s ease,box-shadow .18s ease}
.data-table-row-selected .data-table-row-select{animation:tableCheckEnter .18s ease-out}
@keyframes tableMenuEnter{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}
@keyframes tableSelectionEnter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes tableCheckEnter{from{transform:scale(.85)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.data-table-menu,.data-table-selection,.data-table-row-select{animation:none!important}table.is-selecting tbody>tr>td{transition:none}}

@media(min-width:768px){table.has-selection-columns{table-layout:fixed;width:100%}table.has-selection-columns th,table.has-selection-columns td{overflow-wrap:anywhere}table.has-selection-columns col.data-table-select-col{width:42px}}
.data-table-menu{max-width:calc(100vw - 24px)}
.data-table-selection{flex-wrap:wrap}
