/* GLOBAL stylesheet. Multiple analysis surroundings only.
   Preserve existing grid/numeric/badge styles and business logic. */
.ff-multiple-analysis {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 460px;
    padding: 26px;
    border: 1px solid #dfe8e5;
    border-radius: 10px;
    background: #fff;
    /* No inherited typography/color overrides reaching either grid. */
}
.ff-multiple-analysis > .ff-ma-notices {
    --notice-text: #465264;
    --notice-title: #253241;
    --notice-info: #116471;
    --notice-info-bg: #f5f8f9;
    --notice-warning: #905411;
    --notice-warning-bg: #fff7eb;
    --notice-danger: #a93650;
    --notice-danger-bg: #fff1f4;
    --notice-success: #276d47;
    --notice-success-bg: #eff7f2;
    --notice-focus: #116471;
}
.ff-multiple-analysis > .ff-ma-notices:has(> .rz-alert) { margin-bottom: 20px; }
/* Only this RadzenTabs navigation is styled, not nested grid headers. */
.ff-multiple-analysis > .ff-ma-tabs { min-width: 0; width: 100%; }
    .ff-multiple-analysis > .ff-ma-tabs > .rz-tabview-nav {
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        overflow-x: auto;
        overflow-y: hidden;
        margin: 0 0 22px;
        padding: 0;
        border: 0;
        border-bottom: 1px solid #dfe8e5;
        background: transparent;
    }

.rz-tabview.rz-tabview-top > .rz-tabview-panels {
    border-top: none;
}

.ff-ma-tabs > .rz-tabview-nav > li {
    flex: 0 0 auto;
    min-width: 95px;
    margin: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    box-shadow: none;
}
.ff-ma-tabs > .rz-tabview-nav > li > a {
    display: block;
    padding: 12px 20px;
    color: #607579;
    background: transparent;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
}
.ff-ma-tabs > .rz-tabview-nav > li:not(.rz-state-disabled):hover { background: #fafbfc; }
.ff-ma-tabs > .rz-tabview-nav > li.rz-tabview-selected { border-bottom-color: #116471; }
.ff-ma-tabs > .rz-tabview-nav > li.rz-tabview-selected > a { color: #116471; font-weight: 600; }
.ff-ma-tabs > .rz-tabview-nav > li.rz-state-disabled { opacity: .5; cursor: not-allowed; }
.ff-ma-tabs > .rz-tabview-panels { padding: 0; min-width: 0; }
.ff-ma-tabs > .rz-tabview-panels > .rz-tabview-panel { padding: 0; min-width: 0; }
/* Child component classes are independently scoped for its other uses. */
.ff-ma-single { min-width: 0; width: 100%; }
.ff-ma-single > .ff-ma-controls {
    container: ff-ma-controls / inline-size;
    box-sizing: border-box;
    min-width: 0;
    padding: 21px 22px;
    margin-bottom: 25px;
    border: 1px solid #dfe8e5;
    border-radius: 7px;
    background: #fafbfc;
    color: #203c40;
}
.ff-ma-controls .ff-ma-control-top { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.ff-ma-controls .ff-ma-control-copy { min-width: 0; }
.ff-ma-controls .ff-ma-control-heading { display: flex; align-items: center; gap: 9px; margin: 0 0 8px; }
.ff-ma-controls .ff-ma-section-number {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 23px;
    height: 23px;
    box-sizing: border-box;
    border: 1px solid #ccdfd2;
    border-radius: 4px;
    font-size: 10px;
    color: #557566;
}
.ff-ma-controls .ff-ma-control-heading h3 { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.6; color: #203c40; }
.ff-ma-controls .ff-ma-control-copy > p { margin: 0; font-size: 12px; color: #607579; line-height: 1.75; }
.ff-ma-controls .ff-ma-toggles { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.ff-ma-controls .ff-ma-switch-line { display: flex; align-items: center; gap: 10px; }
.ff-ma-controls .ff-ma-switch-line > .rz-switch { flex-shrink: 0; }
.ff-ma-controls .ff-ma-switch-line > .rz-label { font-size: 12px; line-height: 1.6; }
.ff-ma-controls .ff-ma-range {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 18px 22px;
    border-top: 1px solid #d9e4df;
    padding-top: 18px;
    margin-top: 19px;
    max-width: 100%;
}
.ff-ma-controls .ff-ma-range-field { flex: 0 0 100px; min-width: 0; }
.ff-ma-controls .ff-ma-range-caption { display: block; font-size: 11px; color: #607579; line-height: 1.6; margin-bottom: 7px; }
.ff-ma-controls .ff-ma-slider-host {
    display: flex;
    align-items: center;
    flex: 1 1 130px;
    max-width: 340px;
    min-width: 100px;
    min-height: var(--rz-input-height, 40px);
    padding-inline: 8px;
    box-sizing: border-box;
}
/* No numeric input or slider visual resets: keep the installed theme. */
.ff-ma-single > .ff-ma-grid-slot { min-width: 0; }
.ff-ma-single > .ff-ma-grid-slot + .ff-ma-grid-slot { margin-top: 27px; }
.ff-ma-grid-slot > .ff-ma-grid-heading { margin: 0 0 12px; font-size: 13px; line-height: 1.6; font-weight: 600; color: #29494b; }
/* Borders above belong to page/controls/tab navigation only. No grid frame,
   row/cell border, grid typography, checkbox or badge overrides are added. */
.ff-ma-tabs > .rz-tabview-nav > li > a:focus-visible,
.ff-ma-controls :focus-visible { outline: 2px solid #946348; outline-offset: 3px; }
@container ff-ma-controls (max-width: 850px) {
    .ff-ma-controls .ff-ma-control-top { align-items: flex-start; flex-direction: column; gap: 19px; }
}
@container ff-ma-controls (max-width: 400px) {
    .ff-ma-controls .ff-ma-toggles { flex-direction: column; align-items: flex-start; }
    .ff-ma-controls .ff-ma-range { display: grid; grid-template-columns: 100px minmax(0, 1fr) 100px; gap: 16px 0; }
    .ff-ma-controls .ff-ma-range-field:first-child { grid-column: 1; grid-row: 1; }
    .ff-ma-controls .ff-ma-range-field:last-child { grid-column: 3; grid-row: 1; }
    .ff-ma-controls .ff-ma-slider-host { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none; }
}
@media (max-width: 650px) {
    .ff-multiple-analysis { padding: 15px 12px; }
    .ff-ma-single > .ff-ma-controls { padding: 18px; }
    .ff-ma-controls .ff-ma-control-top { align-items: flex-start; flex-direction: column; gap: 19px; }
    .ff-ma-tabs > .rz-tabview-nav > li { min-width: 80px; }
    .ff-ma-tabs > .rz-tabview-nav > li > a { padding: 12px 15px; }
}
