/* Structural adapters for report engines. Cells and controls use shared components. */
.report-embed{min-width:0}
.report-embed iframe{display:block;width:100%;border:0;min-height:320px}
.report-embed .embed-responsive{position:relative;padding:0;height:auto;overflow:visible}
.report-embed .embed-responsive-item{position:static}
body.report-dash{margin:0;padding:0;background:var(--color-canvas);color:var(--color-text)}
.report-dash .report-panel{min-width:0}
.report-dash .report-size .Select{min-width:80px}
.report-dash .dash-filter{display:none}
.report-dash .dash-spreadsheet-container .dash-spreadsheet-inner td p{margin:0}
.report-dash .dash-spreadsheet-container .dash-spreadsheet-inner .dash-cell-value{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-dash .previous-next-container{justify-content:flex-end;gap:8px;flex-wrap:wrap}
.report-dash .previous-next-container input{max-width:70px}
.report-dash .widget-content-area{min-width:0}
.report-dash .report-filters .Select{min-width:180px}
.report-dash .Select-control{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
.report-dash .Select-menu-outer{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);z-index:20}
.report-dash .Select-value-label,.report-dash .Select-placeholder{color:inherit}
.report-dash .VirtualizedSelectFocusedOption{background:var(--color-accent-soft);color:var(--color-accent-text)}
.report-dash .DateRangePickerInput{display:flex;align-items:center;gap:8px;background:var(--color-surface);border-color:var(--color-border)}
.report-dash .DateInput{background:transparent;min-width:0}
.report-dash .DateInput_input{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
@media(max-width:600px){.report-dash .report-filters .Select{min-width:0}.report-dash .DateRangePickerInput{flex-wrap:wrap}}
.report-engine{margin:0;min-width:0;background:var(--color-canvas);color:var(--color-text)}
.builder-engine .db-widget.selected .db-widget-inner{outline:2px solid var(--color-focus);outline-offset:-2px}
.builder-engine .db-canvas.editing{background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:16px 16px}
.builder-engine .db-properties,.builder-engine .db-company-menu{background:var(--color-surface);color:var(--color-text)}
.builder-engine .db-library nav{display:grid;gap:8px}
.builder-engine .db-library nav button{white-space:normal;justify-content:flex-start;text-align:left}
.builder-engine .db-library nav button small{display:block;color:var(--color-muted)}
.builder-engine .db-library nav button.active{background:var(--color-accent-soft);color:var(--color-accent-text)}
.builder-engine .db-empty{padding:32px}
.builder-engine .db-empty-art svg{max-width:280px;width:100%;height:auto}
.builder-engine .db-kpi strong{font-size:calc(28px * var(--ui-font-scale,1));line-height:1.2;font-weight:650}
.builder-engine .db-help,.builder-engine .db-empty-steps{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.builder-engine .db-help svg{width:24px;flex:none}
:is(.report-engine,.builder-engine) .apexcharts-text{fill:var(--color-muted)}
/* Apex generates inline legend ink; this engine-scoped adapter keeps theme contrast. */
:is(.report-engine,.builder-engine) .apexcharts-legend-text{color:var(--color-text)!important}
/* Bootstrap's percentage columns already include gutters; shared row gaps would wrap them. */
.pivot-engine .row{gap:0}
.pivot-engine .row>[class*="col-"]{min-width:0}
.pivot-engine .table-responsive{overflow-x:auto}
@media(max-width:760px){.pivot-engine .row>.col-3,.pivot-engine .row>.col-9{width:100%}}
:is(.report-engine,.builder-engine) .apexcharts-gridline,:is(.report-engine,.builder-engine) .apexcharts-xaxis line,:is(.report-engine,.builder-engine) .apexcharts-yaxis line{stroke:var(--color-border)}
