:root{--rtbl-bg: #ffffff;--rtbl-fg: #18181b;--rtbl-border: #e4e4e7;--rtbl-header-bg: #f4f4f5;--rtbl-header-fg: #18181b;--rtbl-stripe-bg: #fafafa;--rtbl-hover-bg: #f0f9ff;--rtbl-selected-bg: #eff6ff;--rtbl-selected-border: #bfdbfe;--rtbl-primary: #6366f1;--rtbl-primary-light: #e0e7ff;--rtbl-radius: 8px;--rtbl-font-size-sm: .78rem;--rtbl-font-size-md: .875rem;--rtbl-font-size-lg: 1rem;--rtbl-cell-pad-sm: .3rem .6rem;--rtbl-cell-pad-md: .55rem .9rem;--rtbl-cell-pad-lg: .8rem 1.1rem;--rtbl-skeleton-bg: #e4e4e7;--rtbl-skeleton-shine: #f4f4f5;--rtbl-pagination-gap: .25rem;--rtbl-input-bg: #ffffff;--rtbl-input-border: #d4d4d8;--rtbl-input-fg: #18181b;--rtbl-input-focus: #6366f1;--rtbl-mark-bg: rgba(250, 204, 21, .45);--rtbl-mark-fg: inherit;--rtbl-footer-bg: #f4f4f5;--rtbl-footer-fg: #18181b;--rtbl-density-active-bg: #e4e4e7;--rtbl-density-active-fg: #18181b;--rtbl-menu-bg: #ffffff;--rtbl-menu-fg: #18181b;--rtbl-menu-border: #e4e4e7;--rtbl-menu-shadow: 0 8px 24px rgba(0, 0, 0, .1);--rtbl-focus-ring: rgba(99, 102, 241, .35);--rtbl-sort-index-bg: rgba(99, 102, 241, .15);--rtbl-sort-index-fg: #4338ca}.rtbl-root{font-size:var(--rtbl-font-size-md);color:var(--rtbl-fg);display:flex;flex-direction:column;gap:.6rem}.rtbl-root[data-size=sm]{font-size:var(--rtbl-font-size-sm)}.rtbl-root[data-size=lg]{font-size:var(--rtbl-font-size-lg)}.rtbl-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rtbl-filter-label{font-size:.8em;font-weight:500;color:var(--rtbl-fg);opacity:.7;white-space:nowrap}.rtbl-filter{flex:1;max-width:280px;padding:.35rem .65rem;font-size:.875em;border:1px solid var(--rtbl-input-border);border-radius:6px;background:var(--rtbl-input-bg);color:var(--rtbl-input-fg);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.rtbl-filter:focus{border-color:var(--rtbl-input-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rtbl-input-focus) 20%,transparent)}.rtbl-scroll-wrap{overflow-x:auto;border-radius:var(--rtbl-radius);border:1px solid var(--rtbl-border)}.rtbl-table{width:100%;border-collapse:collapse;background:var(--rtbl-bg);border-spacing:0}.rtbl-caption{caption-side:top;text-align:left;padding:.5rem .9rem;font-size:.85em;font-weight:600;color:var(--rtbl-fg);opacity:.7}.rtbl-thead{background:var(--rtbl-header-bg);color:var(--rtbl-header-fg)}.rtbl-table[data-sticky-header=true] .rtbl-thead{position:sticky;top:0;z-index:1}.rtbl-th{text-align:left;padding:var(--rtbl-cell-pad-md);font-weight:600;border-bottom:2px solid var(--rtbl-border);white-space:nowrap;user-select:none}.rtbl-root[data-size=sm] .rtbl-th{padding:var(--rtbl-cell-pad-sm)}.rtbl-root[data-size=lg] .rtbl-th{padding:var(--rtbl-cell-pad-lg)}.rtbl-th--sortable{cursor:pointer}.rtbl-th--sortable:hover{background:color-mix(in srgb,var(--rtbl-header-bg) 80%,var(--rtbl-border))}.rtbl-th--check,.rtbl-td--check{width:2.5rem;text-align:center}.rtbl-th-inner{display:inline-flex;align-items:center;gap:.35rem}.rtbl-sort-icon{font-size:.7em;opacity:.4;transition:opacity .12s ease}.rtbl-sort-icon[data-active=true]{opacity:1;color:var(--rtbl-primary)}.rtbl-tbody .rtbl-tr{border-bottom:1px solid var(--rtbl-border);transition:background .12s ease}.rtbl-tbody .rtbl-tr:last-child{border-bottom:none}.rtbl-root[data-hoverable=true] .rtbl-tbody .rtbl-tr:hover{background:var(--rtbl-hover-bg)}.rtbl-root[data-striped=true] .rtbl-tbody .rtbl-tr:nth-child(2n){background:var(--rtbl-stripe-bg)}.rtbl-root[data-striped=true][data-hoverable=true] .rtbl-tbody .rtbl-tr:nth-child(2n):hover{background:var(--rtbl-hover-bg)}.rtbl-tbody .rtbl-tr[data-selected=true]{background:var(--rtbl-selected-bg);outline:1px solid var(--rtbl-selected-border);outline-offset:-1px}.rtbl-td{padding:var(--rtbl-cell-pad-md);vertical-align:middle}.rtbl-root[data-size=sm] .rtbl-td{padding:var(--rtbl-cell-pad-sm)}.rtbl-root[data-size=lg] .rtbl-td{padding:var(--rtbl-cell-pad-lg)}.rtbl-root[data-bordered=true] .rtbl-th,.rtbl-root[data-bordered=true] .rtbl-td{border:1px solid var(--rtbl-border)}.rtbl-td--empty{text-align:center;padding:2.5rem 1rem;color:var(--rtbl-fg);opacity:.45;font-style:italic}.rtbl-skeleton{display:block;height:.85em;border-radius:4px;background:linear-gradient(90deg,var(--rtbl-skeleton-bg) 25%,var(--rtbl-skeleton-shine) 50%,var(--rtbl-skeleton-bg) 75%);background-size:200% 100%;animation:rtbl-shimmer 1.4s infinite}@keyframes rtbl-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rtbl-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--rtbl-primary)}.rtbl-pagination{display:flex;align-items:center;gap:var(--rtbl-pagination-gap);justify-content:flex-end}.rtbl-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .4rem;border:1px solid var(--rtbl-border);border-radius:5px;background:var(--rtbl-bg);color:var(--rtbl-fg);font-size:.875em;cursor:pointer;transition:background .12s ease,border-color .12s ease;line-height:1}.rtbl-page-btn:hover:not(:disabled){background:var(--rtbl-header-bg);border-color:var(--rtbl-primary)}.rtbl-page-btn:disabled{opacity:.35;cursor:not-allowed}.rtbl-root[data-tone=primary] .rtbl-page-btn:not(:disabled):focus-visible{outline:2px solid var(--rtbl-primary);outline-offset:2px}.rtbl-page-info{font-size:.85em;padding:0 .4rem;color:var(--rtbl-fg);opacity:.7;white-space:nowrap}.rtbl-root[data-tone=primary] .rtbl-th--sortable:hover{background:color-mix(in srgb,var(--rtbl-primary-light) 60%,var(--rtbl-header-bg))}.rtbl-root[data-tone=primary] .rtbl-filter:focus{border-color:var(--rtbl-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--rtbl-primary) 20%,transparent)}[data-theme=dark] .rtbl-root{--rtbl-bg: #18181b;--rtbl-fg: #fafafa;--rtbl-border: #3f3f46;--rtbl-header-bg: #27272a;--rtbl-header-fg: #fafafa;--rtbl-stripe-bg: #1c1c1f;--rtbl-hover-bg: #1e293b;--rtbl-selected-bg: #1e3a5f;--rtbl-selected-border: #3b82f6;--rtbl-primary: #818cf8;--rtbl-primary-light: #312e81;--rtbl-skeleton-bg: #3f3f46;--rtbl-skeleton-shine: #52525b;--rtbl-input-bg: #27272a;--rtbl-input-border: #52525b;--rtbl-input-fg: #fafafa;--rtbl-input-focus: #818cf8}[data-sticky=left]{position:sticky;left:0;z-index:2;background:var(--rtbl-bg, #fff)}[data-sticky=right]{position:sticky;right:0;z-index:2;background:var(--rtbl-bg, #fff)}[data-theme=dark] [data-sticky=left],[data-theme=dark] [data-sticky=right]{background:var(--rtbl-dark-bg, #18181b)}.rtbl-table tbody tr[data-clickable=true]{cursor:pointer}.rtbl-col-filter{display:block;width:100%;margin-top:4px;padding:2px 6px;font-size:.75rem;border:1px solid var(--rtbl-border, #e5e7eb);border-radius:4px;background:var(--rtbl-bg, #fff);color:inherit;outline:none}.rtbl-col-filter:focus{border-color:var(--rtbl-accent, #6366f1)}.rtbl-mark{background:var(--rtbl-mark-bg);color:var(--rtbl-mark-fg);padding:0 1px;border-radius:2px}.rtbl-tfoot{background:var(--rtbl-footer-bg);color:var(--rtbl-footer-fg);font-weight:600}.rtbl-table[data-sticky-footer=true] .rtbl-tfoot{position:sticky;bottom:0;z-index:2}.rtbl-td--footer{border-top:1px solid var(--rtbl-border)}.rtbl-td--state{text-align:center;padding:1.2rem}.rtbl-tr--error .rtbl-td--state{color:#ef4444;font-weight:500}.rtbl-density{display:inline-flex;border:1px solid var(--rtbl-input-border);border-radius:6px;overflow:hidden}.rtbl-density-btn{border:none;background:transparent;color:inherit;padding:.3rem .55rem;font-size:.72rem;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:background .12s ease,color .12s ease}.rtbl-density-btn[data-active=true]{background:var(--rtbl-density-active-bg);color:var(--rtbl-density-active-fg)}.rtbl-density-btn:not([data-active=true]):hover{background:var(--rtbl-stripe-bg)}.rtbl-page-size{display:inline-flex;align-items:center;gap:.35rem;margin-right:auto;font-size:.85em}.rtbl-page-size-label{opacity:.7}.rtbl-page-size-select{padding:.2rem .4rem;border:1px solid var(--rtbl-input-border);border-radius:4px;background:var(--rtbl-input-bg);color:var(--rtbl-input-fg);font-size:inherit;font-family:inherit;cursor:pointer}.rtbl-page-size-select:focus{outline:none;border-color:var(--rtbl-input-focus)}@media(prefers-reduced-motion:reduce){.rtbl-skeleton{animation:none;background:var(--rtbl-skeleton-bg)}.rtbl-page-btn,.rtbl-tbody .rtbl-tr,.rtbl-filter{transition:none}}[data-theme=dark] .rtbl-root{--rtbl-mark-bg: rgba(250, 204, 21, .32);--rtbl-footer-bg: #18181b;--rtbl-footer-fg: #fafafa;--rtbl-density-active-bg: #3f3f46;--rtbl-density-active-fg: #fafafa}.rtbl-th--expand,.rtbl-td--expand{width:36px;min-width:36px;text-align:center;padding:0}.rtbl-expand-btn{appearance:none;background:transparent;border:none;width:28px;height:28px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--rtbl-fg-muted, currentColor);cursor:pointer;transition:background .12s ease}.rtbl-expand-btn:hover{background:var(--rtbl-row-hover-bg, rgba(99, 102, 241, .08))}.rtbl-expand-btn:focus-visible{outline:2px solid var(--rtbl-accent, #6366f1);outline-offset:1px}.rtbl-expand-chevron{transition:transform .2s cubic-bezier(.22,1,.36,1)}.rtbl-expand-chevron[data-open]{transform:rotate(-180deg)}.rtbl-tr--expanded>.rtbl-td--expanded-content{padding:.75rem 1rem;background:var(--rtbl-row-alt-bg, rgba(99, 102, 241, .03));border-top:1px solid var(--rtbl-border, #e5e7eb)}.rtbl-th--resizable{position:relative}.rtbl-resize-handle{position:absolute;right:0;top:25%;bottom:25%;width:6px;cursor:col-resize;user-select:none;touch-action:none;background:transparent;transition:background .12s ease}.rtbl-th--resizable:hover .rtbl-resize-handle,.rtbl-resize-handle:hover{background:var(--rtbl-accent, #6366f1);opacity:.5}.rtbl-resize-handle:active{background:var(--rtbl-accent, #6366f1);opacity:.9}@media(prefers-reduced-motion:reduce){.rtbl-expand-chevron,.rtbl-expand-btn,.rtbl-resize-handle{transition:none}}.rtbl-col-menu{position:relative;display:inline-block}.rtbl-col-menu-btn,.rtbl-export-btn{appearance:none;border:1px solid var(--rtbl-input-border);background:var(--rtbl-input-bg);color:var(--rtbl-input-fg);border-radius:6px;padding:.3rem .65rem;font-size:.8em;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.rtbl-col-menu-btn:hover,.rtbl-export-btn:hover{border-color:var(--rtbl-primary);background:color-mix(in srgb,var(--rtbl-primary) 8%,var(--rtbl-input-bg))}.rtbl-col-menu-popup{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;z-index:5;background:var(--rtbl-menu-bg);color:var(--rtbl-menu-fg);border:1px solid var(--rtbl-menu-border);border-radius:8px;box-shadow:var(--rtbl-menu-shadow);padding:.4rem;display:flex;flex-direction:column;gap:.15rem}.rtbl-col-menu-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .45rem;border-radius:5px;cursor:pointer;font-size:.85em;transition:background .12s ease}.rtbl-col-menu-item:hover{background:var(--rtbl-stripe-bg)}.rtbl-export{display:inline-flex;gap:.3rem}.rtbl-sort-index{display:inline-flex;align-items:center;justify-content:center;margin-left:.2rem;min-width:1em;padding:0 .25em;font-size:.75em;font-weight:600;border-radius:999px;background:var(--rtbl-sort-index-bg);color:var(--rtbl-sort-index-fg);line-height:1.4}.rtbl-td-data[data-focused=true]{outline:2px solid var(--rtbl-primary);outline-offset:-2px;box-shadow:inset 0 0 0 2px var(--rtbl-focus-ring)}.rtbl-td-data:focus,.rtbl-td-data:focus-visible{outline:2px solid var(--rtbl-primary);outline-offset:-2px}[data-theme=dark] .rtbl-root{--rtbl-menu-bg: #27272a;--rtbl-menu-fg: #fafafa;--rtbl-menu-border: #3f3f46;--rtbl-menu-shadow: 0 8px 24px rgba(0, 0, 0, .45);--rtbl-focus-ring: rgba(129, 140, 248, .45);--rtbl-sort-index-bg: rgba(129, 140, 248, .22);--rtbl-sort-index-fg: #c7d2fe}@media(prefers-reduced-motion:reduce){.rtbl-col-menu-btn,.rtbl-export-btn,.rtbl-col-menu-item{transition:none}}:root{--rtbl-group-header-bg: #f0f0f4}[data-theme=dark] .rtbl-root{--rtbl-group-header-bg: #2a2a2f}.rtbl-row--group-header{position:sticky;top:0;z-index:1}.rtbl-td--group-header{background:var(--rtbl-group-header-bg);font-weight:600;font-size:.82em;letter-spacing:.02em;padding:.3rem .9rem;border-bottom:1px solid var(--rtbl-border)}.rtbl-group-toggle{appearance:none;background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-weight:600;color:inherit;padding:0}.rtbl-group-count{font-weight:400;opacity:.6;font-size:.9em}.rtbl-cell-editable{display:block;width:100%;cursor:text;border-radius:3px;transition:background .12s ease}.rtbl-cell-editable:hover,.rtbl-cell-editable:focus{background:color-mix(in srgb,var(--rtbl-primary) 8%,transparent);outline:none}.rtbl-cell-editable[data-pending=true]{opacity:.6}.rtbl-td[data-pending=true]{opacity:.7}.rtbl-cell-editor{width:100%;padding:.2rem .4rem;font:inherit;font-size:inherit;border:1px solid var(--rtbl-input-focus);border-radius:4px;background:var(--rtbl-input-bg);color:var(--rtbl-input-fg);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--rtbl-input-focus) 20%,transparent)}[data-theme=dark] .rtbl-cell-editor{background:var(--rtbl-input-bg);color:var(--rtbl-input-fg)}@media(prefers-reduced-motion:reduce){.rtbl-cell-editable{transition:none}}:root{--rtbl-bulk-bar-bg: #eef2ff;--rtbl-bulk-bar-border: #c7d2fe;--rtbl-bulk-bar-fg: #312e81;--rtbl-bulk-btn-danger-fg: #b91c1c;--rtbl-bulk-btn-danger-bg: #fee2e2}[data-theme=dark] .rtbl-root{--rtbl-bulk-bar-bg: #1e1b4b;--rtbl-bulk-bar-border: #3730a3;--rtbl-bulk-bar-fg: #c7d2fe;--rtbl-bulk-btn-danger-fg: #fca5a5;--rtbl-bulk-btn-danger-bg: rgba(239, 68, 68, .15)}.rtbl-bulk-bar{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--rtbl-bulk-bar-bg);border:1px solid var(--rtbl-bulk-bar-border);border-radius:6px;color:var(--rtbl-bulk-bar-fg);font-size:.85em;animation:rtbl-bulk-in .15s ease-out}@keyframes rtbl-bulk-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rtbl-bulk-count{font-weight:600;margin-right:.25rem}.rtbl-bulk-btn{appearance:none;border:1px solid var(--rtbl-bulk-bar-border);background:transparent;color:var(--rtbl-bulk-bar-fg);border-radius:5px;padding:.25rem .65rem;font:inherit;font-size:.85em;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:background .12s ease}.rtbl-bulk-btn:hover{background:color-mix(in srgb,var(--rtbl-bulk-bar-border) 35%,transparent)}.rtbl-bulk-btn--danger{color:var(--rtbl-bulk-btn-danger-fg);border-color:color-mix(in srgb,var(--rtbl-bulk-btn-danger-fg) 40%,transparent)}.rtbl-bulk-btn--danger:hover{background:var(--rtbl-bulk-btn-danger-bg)}.rtbl-bulk-btn-icon{display:inline-flex;align-items:center}@media(prefers-reduced-motion:reduce){.rtbl-bulk-bar{animation:none}.rtbl-bulk-btn{transition:none}}
