.tt-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 0;color:#475569;font:12px/1.5 system-ui,sans-serif;text-align:left}.tt-bar button,.tt-dialog button,.tt-projection>button{background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:6px;padding:5px 9px;cursor:pointer;font:inherit}.tt-count{margin-right:auto}.tt-chips:empty{display:none}.tt-chips{display:flex;gap:5px;flex-wrap:wrap;flex-basis:100%}.tt-chips button{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.tt-scope{flex-basis:100%;font-size:11px}.tt-panel:not([hidden]){display:flex;gap:6px;flex-wrap:wrap;flex-basis:100%;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.tt-panel input,.tt-panel select,.tt-dialog input,.tt-dialog select{padding:6px;border:1px solid #cbd5e1;border-radius:5px;min-width:100px;max-width:100%;font:inherit}.tt-table{border-collapse:separate!important;border-spacing:0;width:100%;font-size:13px;line-height:1.5}.tt-table>thead>tr>th{position:sticky;top:0;z-index:2;background:#f1f5f9;padding:9px 16px 9px 9px!important;border-bottom:1px solid #cbd5e1;text-align:left;white-space:nowrap}.tt-table>tbody>tr>td{padding:8px 9px;border-bottom:1px solid #edf0f4}.tt-table>tbody>tr:hover>td{background-color:#f8fafc}.tt-sort{border:0;background:transparent;color:#64748b;cursor:pointer;font:inherit;padding:2px 4px;margin-left:5px}.tt-resize{position:absolute;right:0;top:0;width:8px;height:100%;cursor:col-resize;touch-action:none}.tt-resize:hover{background:#cbd5e1}.tt-filtered,.tt-col-hidden{display:none!important}.tt-dialog{border:1px solid #cbd5e1;border-radius:12px;padding:22px;width:min(660px,92vw);max-height:85vh;overflow:auto;color:#1e293b;box-shadow:0 12px 60px #0f172a33}.tt-dialog::backdrop{background:#0f172a66}.tt-dialog h3{margin:0 0 14px;font-size:18px}.tt-dialog>div{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.tt-column{display:flex;align-items:center;gap:6px;padding:5px 0}.tt-column label{min-width:170px;flex:1}.tt-column input{min-width:0}.tt-projection{border:1px solid #cbd5e1;border-radius:8px;padding:12px}.tt-projection>p{font-size:12px;color:#475569}.tt-sort:focus-visible,.tt-bar button:focus-visible,.tt-resize:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media print{.tt-bar,.tt-sort,.tt-resize,.tt-dialog{display:none!important}.tt-table>thead>tr>th{position:static}}
/* Column filters, nested groups and totals use the same layout in both apps. */
.tt-column-filter{display:block!important;width:100%;min-width:85px;max-width:100%;box-sizing:border-box;margin-top:7px;padding:6px!important;border:1px solid #cbd5e1!important;border-radius:4px;font:12px system-ui!important;background:white!important;color:#1d2b3a!important}
.tt-group>td{background:#eaf1f8!important;border-top:1px solid #cbd5e1;font-weight:600}.tt-group-toggle{border:0;background:transparent;color:#003878;font:inherit;text-align:left;cursor:pointer;padding:5px;white-space:normal}
.tt-group-hidden{display:none!important}.tt-sum>td{background:#f1f5f9!important;border-top:1px solid #cbd5e1;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.tt-sum>td:first-child{text-align:left}
.tt-table>tfoot>tr>td{padding:9px;border-top:1px solid #cbd5e1;background:#edf3f9;font-weight:600;white-space:nowrap}
.tt-editor-totals{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px;background:#edf3f9;border:1px solid #dfe5ec;font:13px system-ui}
.tt-records{max-width:100%;overflow:auto}.tt-records table{min-width:900px}.tt-view-toggle{margin:8px 0;padding:7px 12px;background:white;color:#003878;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer}
.tt-group-toggle:focus-visible,.tt-column-filter:focus-visible{outline:2px solid #e69926;outline-offset:2px}
[hidden].tt-records,[hidden].tt-editor-totals{display:none!important}
@media print{.tt-column-filter,.tt-view-toggle{display:none!important}.tt-group-toggle{color:#000}}

.tt-table .tt-native-total{display:none!important}
/* Excel-like viewport: one original header, independent vertical/horizontal scrolling. */
@media screen {
 .tt-viewport{max-width:100%;min-width:0;max-height:70vh;overflow:auto;position:relative;isolation:isolate;overscroll-behavior-x:contain;border:1px solid #dfe5ec;border-radius:6px;scrollbar-gutter:stable}
 .tt-viewport>table{border-collapse:separate!important;border-spacing:0;width:100%;margin:0!important}
 .tt-viewport .tt-sticky-heading{position:sticky!important;top:0!important;z-index:5!important;background:#f1f5f9!important;box-shadow:0 1px #cbd5e1}
 .tt-viewport .tt-frozen{position:sticky!important;left:var(--tt-frozen-left)!important;z-index:2;background:#fff}
 .tt-viewport .tt-sticky-heading.tt-frozen{z-index:7!important;background:#f1f5f9!important}
 .tt-viewport .tt-frozen-edge{box-shadow:2px 0 0 #94a3b8,4px 0 6px #0f172a12}
 .tt-freeze-control{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.tt-freeze-control select{padding:5px 8px;border:1px solid #cbd5e1;border-radius:5px;background:white;color:#334155;max-width:260px;font:inherit}
 .tt-viewport:focus-visible{outline:2px solid #e69926;outline-offset:2px}
 .tt-records{overflow:visible}
}
@media print{.tt-viewport{overflow:visible;max-height:none;border:0}.tt-freeze-control{display:none!important}.tt-frozen,.tt-sticky-heading{position:static!important;box-shadow:none!important}}
