/* V2: operational hierarchy; native Filament behavior and focus are retained. */
.fi-main { padding-top: 1rem; }
.fi-page-header-main-ctn, .fi-page-content { gap: 1rem; }
.fi-header-heading { font-size: 1.5rem !important; }
.fi-header-subheading { font-size: .75rem; max-width: 70rem; }
.fi-ta-filters-above-content { border-bottom: 1px solid var(--fcp-line); }
.fi-ta-filters { padding: .75rem 1rem; }
.fi-ta-filters .fi-sc-has-gap { gap: .6rem; }
.fi-ta-filters .fi-fo-field-label-content { font-size: .68rem; }
.fcp-v2 .fi-page-content { row-gap: .85rem; }
.ops-toolbar { position: sticky; top: 4rem; z-index: 15; background: #fff; border: 1px solid var(--fcp-line); border-radius: 10px; padding: .7rem .85rem .5rem; box-shadow: 0 4px 12px #14262906; }
.ops-toolbar .fi-sc-has-gap { gap: .45rem .7rem; }
.ops-toolbar .fi-fo-field-label-content { font-size: .65rem; color: #52606e; }
.ops-toolbar .fi-fo-field { row-gap: .2rem; }
.ops-toolbar .fi-input-wrp { min-height: 2rem; }
.ops-toolbar .fi-select-input { font-size: .72rem; padding-block: 0; }
.ops-toolbar .fi-input { font-size: .72rem; padding-block: .3rem; }
.ops-toolbar .fi-select-input-btn { min-height: 2rem; padding-block: .25rem; font-size: .72rem; }
.ops-toolbar .fi-fo-select { font-size: .72rem; }
.ops-scope { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: space-between; align-items: center; margin-top: .5rem; padding-top: .45rem; border-top: 1px solid #eef1f4; font-size: .67rem; }
.ops-muted { color: #667085; font-size: .68rem; line-height: 1.5; }
.ops-chips { display: flex; gap: .35rem; flex-wrap: wrap; }
.ops-chips button { padding: .15rem .4rem; background: #eef7f3; color: #065f46; border-radius: 5px; }
.ops-summary { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; }
.ops-kpi { display: flex; flex-direction: column; gap: .3rem; border: 1px solid var(--fcp-line); border-radius: 10px; background: #fff; padding: .7rem .8rem; min-width: 0; }
.ops-kpi > span { color: #667085; font-size: .68rem; }
.ops-kpi > strong { color: #17242f; font-size: 1.6rem; font-weight: 650; line-height: 1.15; font-variant-numeric: tabular-nums; }
.ops-kpi strong small { color: #788590; font-size: .8rem; font-weight: 450; }
.ops-kpi strong.ops-unavailable { font-size: 1rem; line-height: 1.85; }
.ops-kpi > small { color: #667085; font-size: .61rem; line-height: 1.4; }
.ops-kpi.ops-danger { border-color: #f7d6d6; background: #fffafa; }
.ops-danger strong, .ops-text-danger { color: #b42318; }
.ops-success strong { color: #047857; }
.ops-workspace { display: grid; grid-template-columns: minmax(0,2fr) minmax(270px,1fr); gap: .85rem; align-items: start; }
.ops-panel { border: 1px solid var(--fcp-line); background: #fff; border-radius: 10px; min-width: 0; overflow: hidden; }
.ops-panel > header { display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .7rem .85rem; }
.ops-panel h2 { color: #17242f; font-size: .8rem; font-weight: 650; }
.ops-panel header p { color: #75808b; font-size: .62rem; margin-top: .2rem; }
.ops-panel header > a, .ops-panel header > button { color: #047857; font-size: .65rem; flex-shrink: 0; }
.ops-count { font-size: .63rem; background: #f2f5f7; color: #596777; padding: .15rem .4rem; border-radius: 5px; margin-left: .25rem; }
.ops-table-scroll { overflow-x: auto; }
.ops-table { width: 100%; text-align: left; border-collapse: collapse; font-size: .72rem; }
.ops-table th { padding: .45rem .75rem; color: #6b7685; background: #f8fafb; border-block: 1px solid #edf0f3; font-size: .62rem; font-weight: 500; white-space: nowrap; }
.ops-table td { padding: .55rem .75rem; border-bottom: 1px solid #eef1f4; vertical-align: top; }
.ops-table td small { display: block; color: #78828c; font-size: .59rem; margin-top: .3rem; }
.ops-table td strong { font-weight: 550; }
.ops-table a, .ops-table button { color: #047857; }
.ops-table tbody tr:last-child td { border-bottom: 0; }
.ops-table tbody tr:hover { background: #fcfdfd; }
.ops-issues td:first-child { min-width: 145px; }
.ops-issues td:nth-child(2) { min-width: 175px; }
.ops-issues td:last-child { min-width: 105px; max-width: 145px; }
.ops-severity { display: inline-block; padding: .05rem .3rem; border-radius: 4px; font-size: .58rem; }
.ops-severity--critical { color: #b42318; background: #fff0f0; }
.ops-severity--warning { color: #945f0a; background: #fff7e6; }
.ops-severity--info { color: #315b89; background: #eef5ff; }
.ops-evidence { font-size: .61rem; color: #667085; margin-top: .2rem; max-width: 30rem; }
.ops-evidence summary { cursor: pointer; }
.ops-evidence p { margin-top: .4rem; overflow-wrap: anywhere; }
.ops-paging { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; border-top: 1px solid #eef1f4; padding: .5rem .8rem; font-size: .63rem; color: #667085; }
.ops-paging > span:first-child { margin-right: auto; }
.ops-paging button { color: #047857; }
.ops-paging button:disabled { color: #a1a8b1; cursor: default; }
.ops-compare-body { padding: .2rem .85rem .75rem; }
.ops-compare-row { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; font-size: .67rem; }
.ops-compare-row span { color: #667085; overflow-wrap: anywhere; }
.ops-compare-row strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.ops-compare-bar { height: 6px; margin: .3rem 0 .65rem; background: #f1f5f4; border-radius: 3px; overflow: hidden; }
.ops-compare-bar i { display: block; height: 100%; background: #059669; }
.ops-compare-bar--prior i { background: #9aacb9; }
.ops-delta { font-size: .85rem; font-weight: 600; margin-bottom: .3rem; }
.ops-delta span { font-weight: 400; color: #667085; }
.ops-compare-body > small { display: block; margin-top: .5rem; font-size: .6rem; }
.ops-ranking td { padding-block: .45rem; font-variant-numeric: tabular-nums; }
.ops-empty { text-align: center; padding: 1.5rem .8rem !important; color: #667085; font-size: .75rem; }
.ops-details-toggle { display: flex; justify-content: space-between; gap: .5rem; color: #047857; font-size: .7rem; padding: .25rem 0; }
.ops-loading { position: fixed; bottom: 1rem; right: 1rem; padding: .6rem 1rem; background: #142629; color: white; border-radius: 8px; z-index: 40; font-size: .75rem; }
.ops-updating { opacity: .65; }
.ops-warning { font-size: .7rem; padding: .5rem .8rem; border: 1px solid #eed5a8; border-radius: 6px; background: #fffbeb; color: #855316; }
@media(min-width:1280px) { .ops-toolbar .fi-sc.fi-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) { .ops-summary { grid-template-columns: repeat(3,minmax(0,1fr)); } .ops-workspace { grid-template-columns: minmax(0,1fr); } }
@media(max-width:639px) { .ops-toolbar { position: static; } .ops-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .ops-kpi > strong { font-size: 1.4rem; } .ops-panel > header { flex-wrap: wrap; } .ops-details-toggle { flex-wrap: wrap; } }
@media(min-width:360px) and (max-width:639px) { .ops-toolbar .fi-sc.fi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
