.rbtm{font-family:var(--rbtm-body-font);color:var(--rbtm-body-color);max-width:100%}
.rbtm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rbtm-table{width:100%;border-collapse:collapse;border-spacing:0;font:inherit;table-layout:fixed}
.rbtm-table th,.rbtm-table td{padding:.7rem .75rem;border:1px solid var(--rbtm-border);vertical-align:top;text-align:left;overflow-wrap:anywhere;word-break:normal}
.rbtm .rbtm-table th{font-family:var(--rbtm-header-font)!important;color:var(--rbtm-header-text)!important;background:var(--rbtm-header-bg)!important;font-weight:700;line-height:1.25}
.rbtm-table th[data-sortable="1"]{position:relative;padding-right:2.45rem}
.rbtm-head-label{display:block;min-width:0}
.rbtm-sort{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;position:absolute;right:.65rem;top:50%;transform:translateY(-50%);padding:.2rem;width:1rem;height:1.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;opacity:.72}
.rbtm-sort-up,.rbtm-sort-down{display:block;width:0;height:0;border-left:.32rem solid transparent;border-right:.32rem solid transparent}
.rbtm-sort-up{border-bottom:.43rem solid currentColor}.rbtm-sort-down{border-top:.43rem solid currentColor}
.rbtm-sort:hover,.rbtm-sort:focus-visible{opacity:1}.rbtm-table th[data-dir="asc"] .rbtm-sort-up,.rbtm-table th[data-dir="desc"] .rbtm-sort-down{opacity:1}.rbtm-table th[data-dir="asc"] .rbtm-sort-down,.rbtm-table th[data-dir="desc"] .rbtm-sort-up{opacity:.32}
.rbtm-details-head,.rbtm-details-cell{white-space:normal}.rbtm-details-btn{white-space:normal;max-width:100%;text-align:center;line-height:1.1}
.rbtm-details-btn,.rbtm-pagination button{border:0;border-radius:4px;background:var(--rbtm-accent);color:#fff;padding:.55rem .75rem;cursor:pointer;font:inherit}.rbtm-details-btn:hover,.rbtm-pagination button:hover{filter:brightness(.92)}
.rbtm-table-tools{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.rbtm-table-tools-top{margin-bottom:.65rem}.rbtm-table-tools-bottom{margin-top:.9rem}.rbtm-count{font-size:.95em;font-weight:600}.rbtm-pagination{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin:0}.rbtm-pagination button:disabled{opacity:.45;cursor:default;filter:none}.rbtm-page-status{font-size:.95em;white-space:nowrap}
.rbtm-empty{padding:1rem;border:1px solid var(--rbtm-border)}
.rbtm-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:2rem;background:rgba(0,0,0,.55)}.rbtm-modal[hidden]{display:none}.rbtm-modal-card{background:#fff;color:#222;width:min(1200px,100%);max-height:92vh;display:flex;flex-direction:column;border-radius:6px;box-shadow:0 12px 50px rgba(0,0,0,.3)}.rbtm-modal-head{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:0;background:var(--rbtm-accent,#078b8c);color:#fff;border-radius:6px 6px 0 0}.rbtm-modal-head h2{color:#fff!important}.rbtm-modal-close{color:#fff!important}.rbtm-modal-head h2{margin:0;font-size:1.25rem;line-height:1.2}.rbtm-modal-close{font-size:1.5rem;border:0;background:transparent;cursor:pointer;padding:.25rem .45rem;line-height:1}.rbtm-modal-body{padding:1rem 1.25rem;overflow:auto}.rbtm-detail-list{display:grid;grid-template-columns:minmax(150px,1fr) 3fr;margin:0}.rbtm-detail-list dt,.rbtm-detail-list dd{padding:.55rem;border-bottom:1px solid #eee;margin:0}.rbtm-detail-list dt{font-weight:700}

/* v1.0.5: JS applies these classes using each table's configured breakpoint. */
.rbtm.rbtm-responsive .rbtm-scroll{overflow:visible}
.rbtm.rbtm-responsive .rbtm-table,.rbtm.rbtm-responsive .rbtm-table tbody,.rbtm.rbtm-responsive .rbtm-table tr,.rbtm.rbtm-responsive .rbtm-table td{display:block;width:100%}
.rbtm.rbtm-responsive .rbtm-table{table-layout:auto;border:0}
.rbtm.rbtm-responsive .rbtm-table colgroup,.rbtm.rbtm-responsive .rbtm-table thead,.rbtm.rbtm-responsive .rbtm-mobile-hide{display:none!important}
.rbtm.rbtm-responsive .rbtm-table tr{margin:0 0 1rem;border:1px solid var(--rbtm-border);background:#fff}
.rbtm.rbtm-responsive .rbtm-table td{display:grid;grid-template-columns:minmax(7.5rem,38%) minmax(0,1fr);gap:.75rem;border:0;border-bottom:1px solid var(--rbtm-border);padding:.7rem .8rem;white-space:normal;min-width:0}
.rbtm.rbtm-responsive .rbtm-table td:last-child{border-bottom:0}
.rbtm.rbtm-responsive .rbtm-table td::before{content:attr(data-label);font-weight:700;color:var(--rbtm-body-color)}
.rbtm.rbtm-responsive .rbtm-details-cell{display:flex!important;justify-content:flex-end;align-items:center;min-width:0}
.rbtm.rbtm-responsive .rbtm-details-cell::before{margin-right:auto}
.rbtm.rbtm-responsive .rbtm-details-btn{max-width:none}
.rbtm.rbtm-responsive .rbtm-table-tools{align-items:flex-start}
.rbtm.rbtm-responsive .rbtm-table-tools .rbtm-pagination{width:auto;margin-left:auto}
.rbtm.rbtm-responsive .rbtm-table-tools-bottom .rbtm-count{display:none}
.rbtm.rbtm-responsive .rbtm-modal{padding:.75rem}
.rbtm.rbtm-responsive .rbtm-detail-list{grid-template-columns:1fr}
.rbtm.rbtm-responsive .rbtm-detail-list dt{border-bottom:0;padding-bottom:.15rem}
.rbtm.rbtm-responsive .rbtm-detail-list dd{padding-top:.15rem}
.rbtm.rbtm-narrow .rbtm-table-tools{display:block}
.rbtm.rbtm-narrow .rbtm-count{display:block;margin-bottom:.55rem}
.rbtm.rbtm-narrow .rbtm-table-tools .rbtm-pagination{width:100%;margin:0}
.rbtm.rbtm-narrow .rbtm-table td{grid-template-columns:1fr;gap:.25rem}
.rbtm.rbtm-narrow .rbtm-details-cell{display:grid!important}
.rbtm.rbtm-narrow .rbtm-details-cell::before{margin:0}
.rbtm.rbtm-narrow .rbtm-details-btn{justify-self:start}
/* Desktop table safety: never split words letter-by-letter or clip the action button. */
.rbtm:not(.rbtm-responsive) .rbtm-table th{overflow-wrap:normal;word-break:normal;hyphens:none}
.rbtm:not(.rbtm-responsive) .rbtm-head-label{overflow-wrap:normal;word-break:normal}
.rbtm:not(.rbtm-responsive) .rbtm-details-head,.rbtm:not(.rbtm-responsive) .rbtm-details-cell{min-width:0}
.rbtm:not(.rbtm-responsive) .rbtm-details-btn{min-width:0;max-width:100%;white-space:normal;text-align:center;line-height:1.1;padding:.5rem .6rem}

/* Charts - v1.1.0 */
.rbtm-chart{width:100%;font-family:inherit;color:inherit;display:flex;gap:24px;align-items:center;justify-content:center;box-sizing:border-box}
.rbtm-chart-graphic{height:var(--rbtm-chart-height,380px);width:min(100%,var(--rbtm-chart-height,380px));flex:0 1 var(--rbtm-chart-height,380px)}
.rbtm-chart-graphic svg{display:block;width:100%;height:100%;overflow:visible}
.rbtm-chart-slice{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.rbtm-chart-label{font:700 17px/1.1 sans-serif;fill:#fff;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:rgba(0,0,0,.2);stroke-width:2px;stroke-linejoin:round}
.rbtm-chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;align-items:center}
.rbtm-chart-legend-item{display:inline-flex;gap:6px;align-items:center;font-size:.95em;white-space:nowrap}
.rbtm-chart-swatch{width:12px;height:12px;border-radius:50%;flex:0 0 12px}
.rbtm-chart-legend-bottom{flex-direction:column}
.rbtm-chart-legend-bottom .rbtm-chart-legend{width:100%}
.rbtm-chart-legend-right .rbtm-chart-legend{flex:0 1 260px;flex-direction:column;align-items:flex-start}
@media(max-width:760px){.rbtm-chart{flex-direction:column}.rbtm-chart-graphic{height:min(var(--rbtm-chart-height,380px),82vw);width:min(var(--rbtm-chart-height,380px),82vw)}.rbtm-chart-legend-right .rbtm-chart-legend{flex-basis:auto;flex-direction:row;justify-content:center;align-items:center}}

/* Charts - v1.1.2 interactive tooltip */
.rbtm-chart-graphic{position:relative}
.rbtm-chart-slice{cursor:default;outline:none}
.rbtm-chart-slice:focus{stroke-width:4}
.rbtm-chart-tooltip{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 10px));display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--rbtm-tooltip-bg,#24313a);color:var(--rbtm-tooltip-text,#fff);border-radius:5px;box-shadow:0 3px 10px rgba(0,0,0,.2);font:400 13px/1.2 sans-serif;white-space:nowrap;pointer-events:none}
.rbtm-chart-tooltip[hidden]{display:none}
.rbtm-chart-tooltip-swatch{width:12px;height:12px;border-radius:50%;flex:0 0 12px}
.rbtm-chart-tooltip strong{font-weight:700}

/* v1.2.0 stacked bar charts */
.rbtm-chart-stacked .rbtm-chart-graphic{width:100%;max-width:100%;flex:1 1 100%;height:var(--rbtm-chart-height,380px)}
.rbtm-chart-stacked .rbtm-chart-graphic svg{width:100%;height:100%}
.rbtm-chart-grid{stroke:#d9d9d9;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.rbtm-chart-axis{stroke:#777;stroke-width:1;vector-effect:non-scaling-stroke}
.rbtm-chart-axis-label,.rbtm-chart-category{font:14px/1.2 sans-serif;fill:currentColor}
.rbtm-chart-bar-segment{stroke:rgba(255,255,255,.7);stroke-width:1;vector-effect:non-scaling-stroke;outline:none}
.rbtm-chart-bar-segment:focus{stroke:#222;stroke-width:2}
.rbtm-chart-stacked.rbtm-chart-legend-bottom{display:flex;flex-direction:column}
.rbtm-chart-stacked.rbtm-chart-legend-right{display:flex;flex-direction:row}
@media(max-width:760px){.rbtm-chart-stacked .rbtm-chart-graphic{width:100%;height:min(var(--rbtm-chart-height,380px),72vw)}.rbtm-chart-stacked.rbtm-chart-legend-right{flex-direction:column}}


/* v1.2.1 horizontal stacked-bar polish */
.rbtm-chart-stacked.rbtm-chart-horizontal .rbtm-chart-graphic{
    height:auto;
    min-height:0;
    aspect-ratio:auto;
}
.rbtm-chart-stacked.rbtm-chart-horizontal .rbtm-chart-graphic svg{
    display:block;
    width:100%;
    height:auto;
}
.rbtm-chart-category-horizontal{font-size:13px}
@media(max-width:760px){
    .rbtm-chart-stacked.rbtm-chart-horizontal .rbtm-chart-graphic{height:auto}
    .rbtm-chart-stacked.rbtm-chart-horizontal .rbtm-chart-graphic svg{height:auto}
}

/* v1.5.0 direct-series trend charts */
.rbtm-chart-trend{display:flex;flex-direction:column;align-items:stretch}
.rbtm-chart-trend .rbtm-chart-graphic{width:100%;max-width:100%;flex:1 1 100%;height:var(--rbtm-chart-height,380px)}
.rbtm-chart-trend .rbtm-chart-graphic svg{width:100%;height:100%}
.rbtm-chart-trend-line,.rbtm-chart-projection{vector-effect:non-scaling-stroke;fill:none}
.rbtm-chart-point,.rbtm-chart-target-marker,.rbtm-chart-projection{outline:none;cursor:default}
.rbtm-chart-point:focus,.rbtm-chart-target-marker:focus{stroke:#222;stroke-width:2;vector-effect:non-scaling-stroke}
.rbtm-chart-end-label{font:700 13px/1.2 sans-serif;fill:currentColor;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.rbtm-chart-trend .rbtm-chart-legend{width:100%}
@media(max-width:760px){.rbtm-chart-trend .rbtm-chart-graphic{height:min(var(--rbtm-chart-height,380px),72vw)}}

.rbtm-performance-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1}.rbtm-performance-icon img{display:block;max-width:100%;height:auto}

/* v1.6.0 interactive table filtering */
.rbtm-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:0 0 1rem;padding:1rem;border:1px solid var(--rbtm-border);border-radius:8px;background:#fff}
.rbtm-filter{display:flex;flex-direction:column;gap:.35rem;flex:1 1 190px;min-width:0}.rbtm-filter-search{flex:2 1 300px}.rbtm-filter label{font-weight:700}.rbtm-filter input,.rbtm-filter select{width:100%;min-height:42px;padding:.55rem .7rem;border:1px solid var(--rbtm-border);border-radius:5px;background:#fff;color:var(--rbtm-body-color);font:inherit}.rbtm-filter input:focus,.rbtm-filter select:focus{outline:2px solid var(--rbtm-accent);outline-offset:2px}.rbtm-filter-clear-wrap{display:flex;align-items:end}.rbtm-filter-clear{min-height:42px;padding:.55rem .9rem;border:1px solid var(--rbtm-accent);border-radius:5px;background:var(--rbtm-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}.rbtm-filter-clear:focus{outline:2px solid currentColor;outline-offset:2px}.rbtm-filter-select option:disabled{color:#777}.rbtm .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.rbtm-filters{display:grid;grid-template-columns:1fr}.rbtm-filter,.rbtm-filter-search{width:100%}.rbtm-filter-clear-wrap{justify-content:flex-start}}

/* v1.6.1 data actions */
.rbtm-data-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-left:auto}.rbtm-data-actions button{min-height:38px;padding:.45rem .75rem;border:1px solid var(--rbtm-accent);border-radius:5px;background:#fff;color:var(--rbtm-accent);font:inherit;font-weight:700;cursor:pointer}.rbtm-data-actions button:hover{background:var(--rbtm-accent);color:#fff}.rbtm-data-actions button:focus{outline:2px solid var(--rbtm-accent);outline-offset:2px}@media(max-width:760px){.rbtm-data-actions{width:100%;margin-left:0}}

/* v1.6.6 modal polish: global modal is appended to body, so responsive rules must not depend on a table wrapper. */
@media(max-width:760px){.rbtm-modal{padding:.5rem;align-items:flex-start}.rbtm-modal-card{width:100%;max-height:calc(100vh - 1rem);margin-top:.25rem}.rbtm-modal-head{padding:.85rem 1rem}.rbtm-modal-body{padding:.75rem 1rem}.rbtm-detail-list{display:block}.rbtm-detail-list dt{border-bottom:0;padding:.5rem 0 .05rem;font-weight:700}.rbtm-detail-list dd{padding:.05rem 0 .55rem;border-bottom:1px solid #eee;overflow-wrap:anywhere}.rbtm-modal-head h2{font-size:1.2rem}}

.rbtm-chart-tooltip>span:last-child{display:flex;flex-direction:column;gap:2px}.rbtm-chart-tooltip-definition{display:block;max-width:320px;font-weight:400;line-height:1.35;white-space:normal}

.rbtm-chart-legend-item.rbtm-chart-legend-tip{cursor:help;outline:none}.rbtm-chart-legend-item.rbtm-chart-legend-tip:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

/* v1.7.3: keep legend tooltip width stable while position shifts to remain in chart bounds. */
.rbtm-chart-tooltip.rbtm-chart-tooltip-legend{width:320px;max-width:calc(100% - 24px);box-sizing:border-box;white-space:normal}
