/* Executive reporting inherits the operation's type, spacing and semantic colors. */
.view-executive { max-width: 1650px; }
.view-executive > *, .exec-overview > *, .exec-two-columns > *, .exec-filters > *, .exec-settings > *, .exec-review > *, .exec-rule > * { min-width: 0; }
.view-executive .section-heading > *, .exec-active-filters li, .exec-period > div, .exec-rule-heading > *, .exec-review-context, .exec-review-facts { min-width: 0; overflow-wrap: anywhere; }
.exec-settings, .exec-review, .exec-rule { grid-template-columns: minmax(0, 1fr); }
.exec-settings .form-grid > * { min-width: 0; }
.exec-settings .check > span, .exec-review .check > span { min-width: 0; overflow-wrap: anywhere; }
.exec-settings :is(input, select, textarea), .exec-review :is(input, select, textarea) { max-width: 100%; }
.view-executive .page-heading .actions { justify-content: flex-end; }
.exec-filter-disclosure { margin-bottom: var(--space-4); border: 1px solid var(--line); background: var(--paper); }
.exec-filter-disclosure > summary { min-height: 44px; padding: var(--space-3) var(--space-4); cursor: pointer; color: var(--green); font-size: var(--text-label); font-weight: 550; }
.exec-filter-disclosure > .exec-filters { border: 0; border-top: 1px solid var(--line); }
.exec-active-filters { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4); margin-bottom: var(--space-3); }
.exec-active-filters ul { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); list-style: none; padding: 0; margin: 0; }
.exec-active-filters li { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-meta); }
.exec-active-filters li span { color: var(--ink); }
.exec-active-filters .button.text { font-size: var(--text-meta); min-height: 32px; padding: 0; }
.exec-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: var(--space-4); background: var(--paper); border: 1px solid var(--line); padding: var(--space-5) var(--space-6); }
.exec-filters .field > label { font-size: var(--text-meta); }
.exec-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); min-width: 0; }
.exec-filter-actions .button { flex: 1 1 auto; }
.exec-filter-actions .button.text { flex: 0 1 auto; font-size: var(--text-meta); }
.exec-filters .form-error { grid-column: 1 / -1; }
.exec-period { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding: 0 0 var(--space-3); color: var(--subtle); font-size: var(--text-meta); font-variant-numeric: tabular-nums; }
.exec-period > div { display: flex; align-items: center; gap: var(--space-4); }
.exec-period .exec-period-scope { gap: var(--space-2) var(--space-4); flex-wrap: wrap; }
.exec-period-scope strong { color: var(--ink); font-weight: 600; }
.exec-period .button { font-size: var(--text-meta); }
.exec-overview { display: grid; grid-template-columns: minmax(0, 2.5fr) minmax(235px, 1fr); gap: var(--space-6); margin-bottom: var(--space-6); }
.exec-overview > .section { margin-bottom: 0; }
.exec-attention { padding: var(--space-5) 0 var(--space-5) var(--space-5); border-left: 1px solid var(--line); }
.exec-attention h2 { margin-bottom: var(--space-5); }
.exec-attention ul { margin: 0; padding: 0; list-style: none; }
.exec-attention li { padding: 0 0 var(--space-4); margin-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.exec-attention li:last-child { margin-bottom: var(--space-3); }
.exec-attention li strong, .exec-attention li span { display: block; }
.exec-attention li strong { font-size: var(--text-label); font-weight: 600; }
.exec-attention li span { color: var(--subtle); font-size: var(--text-meta); line-height: 1.65; margin-top: var(--space-1); }
.exec-attention .button { font-size: var(--text-meta); min-height: 36px; }
.exec-help { font-size: var(--text-meta); color: var(--subtle); line-height: 1.7; max-width: 75ch; }
.exec-table-scroll { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-color: #9bb0a1 var(--surface); scrollbar-width: thin; min-width: 0; max-width: 100%; }
.exec-table-scroll:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.exec-table { width: 100%; border-collapse: collapse; text-align: left; font-size: var(--text-label); font-variant-numeric: tabular-nums; }
.exec-table th, .exec-table td { padding: var(--space-4) var(--space-5); vertical-align: top; border-bottom: 1px solid var(--line); }
.exec-table thead th { background: var(--surface); color: var(--subtle); font-size: var(--text-meta); font-weight: 600; white-space: nowrap; }
.exec-table tbody th { font-weight: 500; min-width: 140px; }
.exec-table tbody td { color: var(--ink); }
.exec-table tbody tr:last-child > * { border-bottom: 0; }
.exec-table tbody tr:hover { background: var(--surface); }
.exec-table tbody th .button { text-align: left; justify-content: flex-start; }
.exec-table .button.text { padding: 0; min-height: 28px; font-weight: 500; }
.exec-scoreboard { table-layout: fixed; }
.exec-scoreboard th:first-child { width: 35%; }
.exec-scoreboard th:nth-child(2) { width: 28%; }
.exec-scoreboard tbody th { font-weight: 550; }
.exec-scoreboard tbody td:last-child { color: var(--subtle); font-size: var(--text-meta); }
.exec-cell-value strong { display: block; color: var(--ink); font-size: 1.125rem; font-weight: 600; line-height: 1.4; }
.exec-cell-value small { display: block; margin-top: var(--space-1); font-size: var(--text-meta); }
.exec-cell-value .exec-mobile-basis { display: none; }
.exec-footnote { margin: 0; padding: var(--space-4) var(--space-6); color: var(--subtle); font-size: var(--text-meta); border-top: 1px solid var(--line); line-height: 1.65; }
.exec-two-columns { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-6); }
.exec-two-columns > .section { min-width: 0; }
.exec-chart-wrap { padding: var(--space-5) var(--space-5) 0; }
.exec-chart { display: block; width: 100%; min-height: 190px; overflow: visible; }
.exec-chart-grid { stroke: var(--line); stroke-width: 1; }
.exec-chart-label { fill: var(--subtle); font-size: 12px; font-family: var(--font); font-variant-numeric: tabular-nums; }
.exec-chart-bar { fill: var(--green); }
.exec-chart-bar:hover { fill: var(--dark); }
.exec-chart-wrap > .disclosure { margin-top: var(--space-2); }
.exec-chart-wrap .exec-table-scroll { max-height: 360px; overflow: auto; }
.exec-composition { padding: var(--space-5) var(--space-6); }
.exec-composition-row { margin-bottom: var(--space-4); }
.exec-composition-row > div { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); font-size: var(--text-label); }
.exec-composition-row strong { font-weight: 500; }
.exec-composition-row span { color: var(--subtle); white-space: nowrap; font-size: var(--text-meta); font-variant-numeric: tabular-nums; }
.exec-composition-row meter { display: block; width: 100%; height: 10px; margin-top: var(--space-2); border: 0; background: var(--green-soft); border-radius: 0; }
.exec-composition-row meter::-webkit-meter-bar { border: 0; border-radius: 0; background: var(--green-soft); height: 7px; }
.exec-composition-row meter::-webkit-meter-optimum-value { background: var(--green); border-radius: 0; }
.exec-composition-row meter::-moz-meter-bar { background: var(--green); border-radius: 0; }
.exec-composition-human meter::-webkit-meter-optimum-value { background: var(--blue); }
.exec-composition-mixed meter::-webkit-meter-optimum-value { background: var(--amber); }
.exec-composition-unanswered meter::-webkit-meter-optimum-value { background: var(--subtle); }
.exec-composition-human meter::-moz-meter-bar { background: var(--blue); }
.exec-composition-mixed meter::-moz-meter-bar { background: var(--amber); }
.exec-composition-unanswered meter::-moz-meter-bar { background: var(--subtle); }
.exec-message-totals, .exec-detail-list { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-5); margin: var(--space-5) 0 0; font-size: var(--text-label); font-variant-numeric: tabular-nums; }
.exec-message-totals { border-top: 1px solid var(--line); padding-top: var(--space-4); }
.exec-message-totals dt, .exec-detail-list dt { color: var(--subtle); }
.exec-message-totals dd, .exec-detail-list dd { margin: 0; font-weight: 550; text-align: right; }
.exec-message-totals > *, .exec-detail-list > * { min-width: 0; overflow-wrap: anywhere; }
.exec-satisfaction { padding: var(--space-5) var(--space-6); }
.exec-satisfaction-summary { font-size: 1rem; line-height: 1.6; max-width: 45ch; }
.exec-satisfaction > .exec-help { margin-top: var(--space-5); }
.exec-grouping { display: flex; gap: var(--space-6); padding: 0 var(--space-6); border-bottom: 1px solid var(--line); }
.exec-grouping .button { padding: var(--space-4) 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--subtle); }
.exec-grouping .button.selected { color: var(--green); border-bottom-color: var(--green); }
.exec-grouping .button:hover { background: transparent; color: var(--green); }
.exec-sessions { min-width: 1020px; }
.exec-sessions td:nth-child(3) { max-width: 230px; }
.exec-sessions td:last-child { width: 100px; }
.exec-block { display: block; margin-top: var(--space-1); }
.exec-tag { display: inline-block; font-size: var(--text-meta); color: var(--ink); padding: 2px 0; }
.exec-overdue { color: var(--red); }
.exec-pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-6); border-top: 1px solid var(--line); color: var(--subtle); font-size: var(--text-meta); }
.exec-methods { max-width: 90ch; font-size: var(--text-label); line-height: 1.75; }
.exec-methods > p { color: var(--ink); }
.exec-methods > ul { padding-left: var(--space-5); margin-top: var(--space-5); }
.exec-methods li + li { margin-top: var(--space-2); }
.exec-coverage-warnings { color: var(--amber); }
.exec-methods .exec-detail-list { max-width: 65ch; margin-bottom: var(--space-5); }
.exec-settings > h3:not(:first-child) { padding-top: var(--space-5); border-top: 1px solid var(--line); }
.exec-rule { padding: var(--space-5) 0; border-bottom: 1px solid var(--line); display: grid; gap: var(--space-3); }
.exec-rule:first-child { padding-top: 0; }
.exec-rule-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.exec-rule-heading h3 { font-size: var(--text-label); overflow-wrap: anywhere; }
.exec-rule-heading .button { font-size: var(--text-meta); min-height: 28px; padding: 0; flex-shrink: 0; }
.exec-review-context { padding-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.exec-review-context p { margin-top: var(--space-1); font-size: var(--text-label); color: var(--subtle); }
.exec-review-context small { display: block; margin-top: var(--space-1); }
.exec-review-facts { display: grid; gap: var(--space-2); color: var(--subtle); font-size: var(--text-label); }
.exec-review .note { margin-bottom: 0; }

@media (max-width: 1250px) {
    .exec-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .exec-filter-actions { grid-column: span 2; justify-content: flex-end; }
    .exec-filter-actions .button { flex: 0 1 auto; }
    .exec-overview { grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); }
    .exec-two-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .exec-scoreboard th, .exec-scoreboard td { padding: var(--space-4); }
}
@media (max-width: 1000px) {
    .exec-overview { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .exec-attention { border-left: 0; padding: var(--space-5) 0 0; }
    .exec-attention ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-6); }
    .exec-two-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .exec-chart { min-height: 0; }
}
@media (max-width: 760px) {
    .view-executive .page-heading { display: block; }
    .view-executive .page-heading .actions { margin-top: var(--space-4); justify-content: flex-start; }
    .exec-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--space-4); gap: var(--space-3); }
    .exec-filters .field > label { font-size: var(--text-label); }
    .exec-filters select, .exec-filters input { font-size: 16px; }
    .exec-filter-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .exec-filter-actions .button { flex: 1 1 auto; min-height: 44px; }
    .exec-period { display: block; padding-bottom: var(--space-4); }
    .exec-period > div { margin-top: var(--space-1); justify-content: space-between; gap: var(--space-2); }
    .exec-period .exec-period-scope { justify-content: flex-start; }
    .exec-active-filters .button.text { min-height: 44px; }
    .exec-scoreboard { min-width: 0; }
    .exec-scoreboard th:first-child { width: 44%; min-width: 0; }
    .exec-scoreboard th:nth-child(2) { width: 56%; }
    .exec-scoreboard tr > :nth-child(3) { display: none; }
    .exec-scoreboard th, .exec-scoreboard td { overflow-wrap: anywhere; }
    .exec-cell-value .exec-mobile-basis { display: block; margin-top: var(--space-2); color: var(--subtle); line-height: 1.5; }
    .exec-table th, .exec-table td { padding: var(--space-3) var(--space-4); }
    .exec-attention ul { display: block; }
    .exec-attention .button { min-height: 44px; }
    .exec-chart-wrap { padding: var(--space-4) var(--space-3) 0; }
    .exec-composition, .exec-satisfaction { padding: var(--space-4); }
    .exec-footnote { padding: var(--space-4); }
    .exec-grouping { padding: 0 var(--space-4); }
    .exec-grouping .button { min-height: 44px; }
    .exec-table .button.text { min-height: 44px; }
    .exec-pagination { padding: var(--space-4); align-items: flex-start; flex-direction: column; }
    .exec-pagination .actions { width: 100%; justify-content: space-between; }
    .exec-message-totals, .exec-detail-list { column-gap: var(--space-3); }
    .exec-rule-heading .button { min-height: 44px; }
    .exec-rule-heading { flex-wrap: wrap; }
    .exec-rule-heading .button { flex-shrink: 1; }
}
@media (max-width: 380px) {
    .exec-filters { grid-template-columns: minmax(0, 1fr); }
    .exec-filter-actions { grid-column: auto; }
}
.exec-composition > .exec-help:last-child { margin-top: var(--space-4); }
.exec-comparison-quality { padding: 0 var(--space-6); }
.exec-comparison-quality > .disclosure { border-top: 0; }
@media (max-width: 760px) { .exec-comparison-quality { padding: 0 var(--space-4); } }
