/* Key screens, group insights: Executive dashboard, Appraisal, Settings › Rules. Tokens only. */
.si-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-4); flex-wrap: wrap; }
.si-head .t-page-title .badge { margin-left: var(--space-2); vertical-align: middle; }
.ap-page:has(.si-head) { gap: var(--space-4); padding-top: var(--space-5); padding-bottom: var(--space-4); }
.ap-list > .si-fun { padding-top: 3px !important; padding-bottom: 3px !important; }
.si-controls { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.si-exc { color: var(--color-danger-text); font-weight: var(--weight-semibold); }
.si-v { color: var(--color-primary-strong); background: var(--color-primary-soft); border-color: transparent; }

/* tiles */
.si-tile .t-figure { line-height: var(--leading-figure); }
.si-delta { display: inline-flex; align-items: center; gap: var(--space-1); font-size: var(--text-xs); line-height: var(--leading-xs); color: var(--color-muted); }
.si-delta--good { color: var(--color-success-text); }
.si-delta--bad { color: var(--color-danger-text); }

/* grids */
.si-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); align-items: stretch; }
.si-cols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.si-col { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.si-card > header { padding-bottom: var(--space-2); gap: var(--space-2); flex-wrap: wrap; }
.si-card .t-caption { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.si-pad { padding: 0 var(--space-4) var(--space-4); border-top: 1px solid var(--color-default); padding-top: var(--space-3); }
.si-card .ap-list > li { padding-top: 6px; padding-bottom: 6px; }
.si-tile { padding: var(--space-3) var(--space-4); gap: 0; }
.si-prop > li > .icon { color: var(--color-primary); }

/* stalled rule */
.si-rule { display: inline-flex; align-items: center; gap: var(--space-1); font-size: var(--text-xs); line-height: var(--leading-xs); color: var(--color-danger-text); }
.si-off .ap-list__text > span { white-space: normal; }

/* bars on tokens */
.si-bar { position: relative; display: flex; flex: none; width: 96px; height: 8px; border-radius: var(--radius-full); background: var(--color-chart-track); overflow: hidden; }
.si-bar > i { display: block; height: 100%; border-radius: var(--radius-full); background: var(--color-chart-actual); }
.si-bar--good > i { background: var(--color-success); }
.si-bar--fair > i { background: var(--color-warning); }
.si-bar--poor > i { background: var(--color-danger); }
.si-bar--ask > i { background: var(--color-chart-forecast); }
.si-bar--team > i { background: var(--color-chart-forecast); }
.si-bar--team > b { position: absolute; left: 0; top: 0; height: 100%; border-radius: var(--radius-full); background: var(--color-danger); }

/* funnel, league, team rows */
.ap-list > .si-fun { display: grid; grid-template-columns: 96px minmax(0, 1fr) 28px 36px; align-items: center; gap: var(--space-2); }
.si-fun .si-bar { width: auto; }
.si-fun__l { font-size: var(--text-label); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.si-fun__n { text-align: right; font-weight: var(--weight-medium); font-variant-numeric: tabular-nums; }
.si-fun__p { text-align: right; font-size: var(--text-xs); color: var(--color-muted); font-variant-numeric: tabular-nums; }
.si-lg__r { flex: none; width: 16px; font-size: var(--text-xs); color: var(--color-subtle); font-variant-numeric: tabular-nums; }
.si-lg .si-bar { width: 64px; }
.ap-list > .si-tm { display: grid; grid-template-columns: minmax(0, 1fr) 72px 24px 24px; align-items: center; gap: var(--space-2); }
.si-tm__n { text-align: right; font-weight: var(--weight-medium); font-variant-numeric: tabular-nums; }
.si-tm__o { text-align: right; color: var(--color-muted); font-variant-numeric: tabular-nums; }
.si-tm__o.is-over { color: var(--color-danger-text); font-weight: var(--weight-semibold); }

/* function chip */
.si-fn { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 var(--space-2); border-radius: var(--radius-sm); font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--fn); background: var(--fn-tint); white-space: nowrap; }
.si-fn > i { width: 6px; height: 6px; border-radius: var(--radius-full); background: var(--fn); }
.si-fn--land { --fn: var(--color-fn-land); --fn-tint: var(--color-fn-land-tint); }
.si-fn--partnerships { --fn: var(--color-fn-partnerships); --fn-tint: var(--color-fn-partnerships-tint); }
.si-fn--construction { --fn: var(--color-fn-construction); --fn-tint: var(--color-fn-construction-tint); }
.si-fn--backoffice { --fn: var(--color-fn-backoffice); --fn-tint: var(--color-fn-backoffice-tint); }
.si-fn--legal { --fn: var(--color-fn-legal); --fn-tint: var(--color-fn-legal-tint); }
.si-av { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: var(--weight-medium); }

/* fees chart */
.si-chart { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-2); height: 96px; align-items: end; }
.si-chart__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: var(--space-1); height: 100%; min-width: 0; }
.si-chart__v { font-size: var(--text-xs); line-height: var(--leading-xs); color: var(--color-muted); font-variant-numeric: tabular-nums; }
.si-chart__bars { display: flex; align-items: flex-end; gap: 3px; width: 100%; flex: 1; justify-content: center; min-height: 0; }
.si-chart__bars > i { display: block; width: 40%; max-width: 18px; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.si-chart__a { background: var(--color-chart-actual); }
.si-chart__f { background: var(--color-chart-forecast); }
.si-chart__m { font-size: var(--text-xs); line-height: var(--leading-xs); color: var(--color-subtle); }
.si-legend { display: flex; gap: var(--space-4); align-items: center; margin-top: var(--space-2); font-size: var(--text-xs); color: var(--color-muted); }
.si-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.si-legend .t-caption { margin-left: auto; }
.si-sw { width: 10px; height: 10px; border-radius: var(--radius-sm); }
.si-sw--a { background: var(--color-chart-actual); }
.si-sw--f { background: var(--color-chart-forecast); }

/* appraisal */
.si-inputs > li { display: block; padding: 6px var(--space-4) !important; }
.si-in__top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); }
.si-in__l { font-size: var(--text-label); color: var(--color-muted); }
.si-in__v { font-weight: var(--weight-medium); font-variant-numeric: tabular-nums; }
.si-in__bot { display: flex; align-items: center; gap: var(--space-2); margin-top: 4px; flex-wrap: wrap; }
.si-in__bot .si-dec { margin-left: auto; }
.si-in__note { flex: 1; min-width: 0; text-align: right; }
.si-in__bot .c-source__text { max-width: 140px; }
.si-in__bot { flex-wrap: nowrap; }
.si-in__bot .c-source { flex: 0 1 auto; min-width: 0; }
.si-dec { flex: none; }
.si-prop .ap-list__text > span:first-child { white-space: normal; }
.si-prop .ap-list__text > .t-caption { white-space: normal; }
.si-in.is-flag { background: var(--color-warning-soft); }
.si-in.is-flag .c-source { background: var(--color-surface); }
.si-dec .segmented__item { height: 24px; padding: 0 var(--space-2); font-size: var(--text-xs); gap: 4px; }
.si-stack th, .si-stack td { padding: 4px var(--space-3); }
.si-stack { border-top: 1px solid var(--color-default); }
.si-total td { font-weight: var(--weight-semibold); background: var(--color-surface-muted); }
.si-grade { background: var(--color-grade-heavy-tint); color: var(--color-grade-heavy-text); border-color: transparent; font-weight: var(--weight-semibold); }
.si-res { display: flex; flex-direction: column; gap: var(--space-3); padding: 0 var(--space-4) var(--space-4); }
.si-res__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.si-res__row > div { display: flex; flex-direction: column; }
.si-costs { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--color-default); }
.si-costs > div { display: flex; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid var(--color-default); font-size: var(--text-sm); }
.si-costs dt { color: var(--color-muted); }
.si-costs dd { margin: 0; font-variant-numeric: tabular-nums; }
.si-costs__sum { font-weight: var(--weight-semibold); }
.si-costs__sum dt { color: var(--color-foreground); }
.si-ask { display: flex; flex-direction: column; gap: var(--space-2); }
.si-ask__row { display: grid; grid-template-columns: 112px minmax(0, 1fr) 84px; align-items: center; gap: var(--space-2); font-size: var(--text-xs); color: var(--color-muted); }
.si-ask__row strong { text-align: right; color: var(--color-foreground); font-variant-numeric: tabular-nums; }
.si-ask .si-bar { width: auto; height: 10px; }
.si-res__note { margin: 0; white-space: normal !important; }
.si-ver > strong { flex: none; width: 24px; font-variant-numeric: tabular-nums; }
.si-ver.is-current { background: var(--color-primary-soft); }
.si-ver .ap-list__text > span:first-child { white-space: normal; }

/* settings */
.si-cols--set { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.si-edit { display: flex; flex-direction: column; gap: var(--space-3); padding: 0 var(--space-4) var(--space-4); }
.si-fields { display: grid; grid-template-columns: auto auto minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-3); align-items: start; }
.si-field { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.si-field .t-caption { white-space: normal; }
.si-now { display: inline-flex; align-items: center; height: var(--size-control); gap: var(--space-1); font-size: var(--text-md); color: var(--color-muted); text-decoration: line-through; font-variant-numeric: tabular-nums; }
.si-arrow { display: inline-flex; align-items: center; height: var(--size-control); margin-top: var(--leading-label); color: var(--color-subtle); }
.si-unit { display: flex; align-items: center; gap: var(--space-2); position: relative; }
.si-unit .c-input { max-width: 96px; }
.si-unit--date .c-input { max-width: none; padding-right: 36px; }
.si-unit--date > .icon { position: absolute; right: var(--space-3); color: var(--color-subtle); }
.si-edit .c-alert__text { display: block; }
.si-actions { display: flex; justify-content: flex-end; gap: var(--space-2); }
.si-rules th, .si-rules td { padding: 7px var(--space-3); }
.si-rules { border-top: 1px solid var(--color-default); }
.si-rules tr.is-edit td { background: var(--color-primary-soft); }
.si-foot { margin: 0; padding: var(--space-3) var(--space-4); border-top: 1px solid var(--color-default); white-space: normal !important; }
.si-cal { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: 0 var(--space-4) var(--space-4); }
.si-cal .t-body { margin: 0; font-size: var(--text-sm); line-height: var(--leading-sm); color: var(--color-muted); }

/* tablet: the cards pair up, then stack */
.ap-tablet .si-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ap-tablet .si-cols, .ap-tablet .si-cols--set { grid-template-columns: 1fr; }
.ap-tablet .si-head { align-items: flex-start; }
.ap-tablet .si-cols:not(.si-cols--set) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ap-tablet .si-cols:not(.si-cols--set) > .si-col { display: contents; }
.ap-tablet .si-cols:not(.si-cols--set) > .si-col:first-child > section:first-child { grid-column: 1 / -1; }
.ap-tablet .si-cols:not(.si-cols--set) > .si-col:last-child > section:first-child { grid-row: span 2; }
.ap-tablet .si-foot { display: none; }
.ap-tablet .si-ask__row { grid-template-columns: 76px minmax(0, 1fr) 76px; }
.ap-tablet .si-res__row { gap: var(--space-2); }
.ap-tablet .ap-page:has(.si-head) { padding: var(--space-4) var(--space-5); gap: var(--space-3); }
.ap-tablet .si-stack th, .ap-tablet .si-stack td { padding: 4px; font-size: var(--text-xs); white-space: nowrap; }
.ap-tablet .si-cols { gap: var(--space-3); }
.ap-tablet .si-col { gap: var(--space-3); }

/* Revision (SC-026): MD decisions with approve / decline, legal blockers, funnel steps (VIW-C29) */
.si-why { white-space: normal !important; }
.si-yn { display: flex; flex-direction: column; gap: 4px; flex: none; }
.si-yn .btn { height: 24px; padding: 0 var(--space-2); font-size: var(--text-xs); }
.ap-list > .si-fun { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 36px; }
.si-fun.is-weak .si-fun__l, .si-fun.is-weak .si-fun__p { color: var(--color-danger-text); font-weight: var(--weight-semibold); }
.si-fun.is-weak .si-bar > i { background: var(--color-danger); }
.si-prop .ap-list__text > span { white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }
.si-prop .ap-list__text { min-width: 0; }
.si-prop > li { align-items: center; }
.ap-list > .si-tm { grid-template-columns: minmax(0, 1fr) 72px 28px 24px; }
.si-tm .si-fn { justify-self: start; }
.si-tm .si-bar { width: 72px; }
.si-grid { gap: var(--space-3); }
.si-card > header { padding-top: var(--space-3); padding-bottom: var(--space-1); }
.si-card .ap-list > li.si-fun, .si-card .ap-list > li.si-lg, .si-card .ap-list > li.si-tm { padding-top: 3px; padding-bottom: 3px; }
.si-lg .ap-list__text > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-list > .si-fun { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr) 36px; }
.si-res2 td, .si-res2 th { padding: 4px var(--space-3); }
.si-res2 .si-total td { background: var(--color-surface-muted); }
.si-in__note { display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px; }
.si-days > li { padding-top: 4px !important; padding-bottom: 4px !important; }
.si-rules th, .si-rules td { padding-top: 4px; padding-bottom: 4px; }
.si-edit { gap: var(--space-2); }
.ap-tablet .si-cols--set > .si-col:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
