:root {
color-scheme: light;
--apple-blue: #8c5f1d;
--apple-blue-hover: #704610;
--page: #f4f3f1;
--header: #1c1c1c;
--surface: #ffffff;
--surface-soft: #fbfbfd;
--ink: #1d1d1f;
--muted: #6e6e73;
--line: #e5e5ea;
--line-strong: #d2d2d7;
--line-soft: rgba(210, 210, 215, 0.62);
--danger: #b42318;
--warning: #8a6500;
--success: #007a3d;
--blue-soft: rgba(200, 147, 47, 0.12);
--blue-border: rgba(200, 147, 47, 0.34);
--danger-soft: rgba(180, 35, 24, 0.08);
--danger-border: rgba(180, 35, 24, 0.24);
--warning-soft: rgba(138, 101, 0, 0.08);
--success-soft: rgba(0, 122, 61, 0.08);
--glass: rgba(28, 28, 28, 0.9);
--shadow-card: 0 1px 2px rgba(45, 34, 18, 0.04), 0 14px 34px rgba(45, 34, 18, 0.07);
--shadow-card-hover: 0 2px 5px rgba(45, 34, 18, 0.06), 0 18px 42px rgba(45, 34, 18, 0.1);
--shadow-header: 0 1px 0 rgba(255, 255, 255, 0.08);
--shadow-popover: 0 18px 54px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
--radius-card: 12px;
--radius-button: 10px;
--radius-panel: 18px;
--radius-pill: 999px;
--control-height: 38px;
--table-cell-y: 9px;
--table-cell-x: 10px;
--space-1: 8px;
--space-2: 12px;
--space-3: 16px;
--space-4: 24px;
--space-5: 32px;
--type-xs: 0.72rem;
--type-sm: 0.82rem;
--type-body: 0.88rem;
--type-title: 1rem;
--type-display: 2.65rem;
--motion-fast: 140ms ease;
--motion-standard: 180ms ease;
--shell-max-width: 1440px;
--font-ui: -apple-system, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Segoe UI", sans-serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
--z-header: 20}
.saved-filter-rename-form {
display: grid;
grid-template-columns: minmax(0, 1fr) auto auto;
grid-column: 1 / -1;
gap: 6px;
width: 100%;
padding-top: 7px;
border-top: 1px solid var(--line-soft)}
.saved-filter-rename-form label {
min-width: 0}
.saved-filter-rename-form input {
width: 100%;
min-height: 34px;
padding: 0 9px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-sm)}
.saved-filter-rename-form input:focus-visible {
outline: 2px solid var(--apple-blue);
outline-offset: 2px}
.saved-filter-rename-form button {
min-height: 34px;
padding: 0 10px}
@media (max-width: 780px) {
.saved-filter-views li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch}}
.shell-title-compact,
.mobile-analysis-cards,
.mobile-analysis-empty,
.mobile-table-disclosure {
display: none}
.change-radar-summary-card:is(button) {
width: 100%;
min-height: 74px;
color: inherit;
text-align: left;
cursor: pointer}
.change-radar-summary-card:is(button).is-active {
border-color: var(--apple-blue);
box-shadow: inset 0 0 0 1px var(--apple-blue)}
[data-status-symbol]::before {
content: attr(data-status-symbol);
display: inline-grid;
width: 1.1em;
height: 1.1em;
margin-right: 0.3em;
place-items: center;
border: 1px solid currentColor;
border-radius: 50%;
font-size: 0.78em;
font-weight: 800;
line-height: 1}
.change-radar-expand,
.object-compare-evidence {
min-height: 34px;
margin-top: 10px;
padding: 0 12px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-weight: 650;
cursor: pointer}
.investigation-context {
display: flex;
gap: 14px;
align-items: center;
justify-content: space-between;
margin: 0 0 14px;
padding: 12px 14px;
border: 1px solid var(--blue-border);
border-left: 4px solid var(--apple-blue);
border-radius: var(--radius-card);
color: var(--ink);
background: linear-gradient(135deg, var(--blue-soft), var(--surface))}
.investigation-context > div {
display: grid;
min-width: 0;
gap: 3px}
.investigation-context small,
.investigation-context span {
color: var(--muted);
font-size: var(--type-xs)}
.investigation-context strong {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.investigation-context button {
flex: 0 0 auto;
min-height: 36px;
padding: 0 14px;
border: 1px solid var(--apple-blue);
border-radius: var(--radius-button);
color: var(--apple-blue-hover);
background: var(--surface);
font: inherit;
font-weight: 700;
cursor: pointer}
.object-change-bridge {
margin-top: 12px;
border-top: 1px solid var(--line-soft)}
.object-change-bridge > summary {
display: grid;
min-height: 38px;
padding: 9px 0;
cursor: pointer}
.object-change-bridge > summary span {
font-weight: 700}
.object-change-bridge > summary small,
.object-change-bridge-note {
color: var(--muted);
font-size: var(--type-xs)}
.object-change-bridge-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
padding: 2px 0 8px}
.object-change-bridge-grid > section {
min-width: 0;
padding: 10px;
border: 1px solid var(--line-soft);
border-radius: 10px;
background: var(--surface-soft)}
.object-change-bridge-grid header,
.object-change-bridge-grid p {
display: flex;
gap: 8px;
align-items: center;
justify-content: space-between;
margin: 0 0 8px}
.object-change-bridge-grid p small {
color: var(--muted);
text-align: right}
.object-change-bridge-list {
display: grid;
gap: 6px;
margin: 0;
padding: 0;
list-style: none}
.object-change-bridge-list li {
grid-template-columns: minmax(0, 1fr) auto;
min-height: 32px;
padding: 5px 7px}
.object-change-bridge-list .change-bridge-bar {
display: none}
.object-change-bridge-list .change-bridge-component-copy small {
display: none}
.cross-evidence-sku-link {
display: flex;
width: 100%;
min-height: 38px;
padding: 6px;
border: 0;
color: inherit;
background: transparent;
font: inherit;
text-align: left;
cursor: pointer}
:where(.change-radar, .object-compare-section, .investigation-context, .sku-migration-panel)
:where(button, summary, select, [tabindex]):focus-visible {
outline: 3px solid var(--apple-blue);
outline-offset: 3px}
@media (max-width: 720px) {
.desktop-analysis-table {
  display: none}
.mobile-analysis-cards {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none}
.mobile-analysis-cards > li {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  background: var(--surface-soft)}
.mobile-analysis-cards header,
.mobile-analysis-cards dl,
.mobile-analysis-cards dl > div,
.sku-migration-mobile-cards p {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: space-between}
.mobile-analysis-cards dl {
  align-items: stretch;
  margin: 0}
.mobile-analysis-cards dl > div {
  display: grid;
  flex: 1 1 0;
  min-width: 0;
  gap: 2px}
.mobile-analysis-cards dt,
.mobile-analysis-cards small,
.mobile-analysis-cards p {
  color: var(--muted);
  font-size: 0.76rem}
.mobile-analysis-cards dd {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700}
.mobile-analysis-cards .action-drilldown {
  width: 100%;
  min-height: 36px}
.mobile-table-disclosure {
  display: block;
  margin-top: 10px}
.mobile-table-disclosure > summary {
  display: flex;
  min-height: 36px;
  padding: 8px 10px;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-button);
  font-size: var(--type-sm);
  font-weight: 700;
  cursor: pointer}
.mobile-table-disclosure:not([open]) > .table-scroll {
  display: none}
.object-change-bridge-grid {
  grid-template-columns: minmax(0, 1fr)}
.investigation-context {
  align-items: stretch}
.investigation-context button {
  min-height: 40px}}
@media (max-width: 480px) {
.shell-header,
.shell-header.is-compact {
  gap: 5px;
  padding: 7px 9px}
.shell-header .shell-header-top,
.shell-header.is-compact .shell-header-top {
  display: block}
.shell-header .shell-title-stack {
  display: block}
.shell-header .shell-title-stack .eyebrow,
.shell-header .status-pill {
  display: none}
.shell-header .shell-title-stack h1,
.shell-header.is-compact h1 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.15}
.shell-title-full {
  display: none}
.shell-title-compact {
  display: inline}
.shell-header .module-nav-shell,
.shell-header.is-compact .module-nav-shell {
  gap: 4px;
  padding: 3px}
.shell-header .compact-filter-bar small {
  display: none}
.change-radar-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr))}
.change-radar-summary-card {
  min-height: 64px;
  padding: 9px}
.change-radar-summary-card.is-impact {
  grid-column: 1 / -1;
  min-height: auto}
.mobile-analysis-cards dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr)}
.investigation-context {
  display: grid;
  gap: 9px;
  padding: 10px}
.investigation-context strong {
  white-space: normal}}
.analysis-explain-button {
min-height: 32px;
padding: 0 9px;
border: 1px solid var(--blue-border);
border-radius: var(--radius-button);
color: var(--apple-blue-hover);
background: var(--blue-soft);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer;
white-space: nowrap}
.analysis-explain-button:hover,
.analysis-explain-button:focus-visible {
border-color: var(--apple-blue);
background: rgba(0, 113, 227, 0.12)}
.data-technical-details {
grid-column: 1 / -1;
overflow: hidden;
border: 1px solid var(--line);
border-radius: var(--radius-card);
background: var(--surface);
box-shadow: var(--shadow-card)}
.data-technical-details > summary {
display: flex;
min-height: 56px;
align-items: center;
justify-content: space-between;
gap: var(--space-2);
padding: var(--space-3);
cursor: pointer}
.data-technical-details > summary > span {
display: grid;
gap: 3px}
.data-technical-details > summary small,
.data-technical-details > summary b {
color: var(--muted);
font-size: var(--type-xs)}
.data-technical-details[open] > summary {
border-bottom: 1px solid var(--line-soft)}
.data-technical-details[open] > summary b {
color: var(--apple-blue-hover)}
.data-technical-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3);
padding: var(--space-3);
background: var(--surface-soft)}
.analysis-explanation-empty.is-standalone {
min-height: 52px;
padding: var(--space-2);
border: 1px dashed var(--line-strong);
border-radius: var(--radius-button);
background: var(--surface)}
.profit-ranking-table :is(th, td):nth-child(n + 2):nth-child(-n + 4),
.sku-risk-table :is(th, td):nth-child(6),
.sku-migration-table :is(th, td):nth-child(n + 6):nth-child(-n + 9),
.change-radar-table :is(th, td):nth-child(n + 5):nth-child(-n + 8) {
text-align: right;
font-variant-numeric: tabular-nums}
.profit-ranking-table :is(th, td):last-child,
.sku-risk-table :is(th, td):last-child,
.sku-migration-table :is(th, td):last-child {
text-align: left}
@media (max-width: 600px) {
.analysis-explain-button {
  min-height: 44px}
.data-technical-grid {
  grid-template-columns: minmax(0, 1fr);
  padding: var(--space-2)}
.data-technical-details > summary {
  min-height: 60px;
  padding: var(--space-2)}
.mobile-analysis-cards .sku-identity {
  min-width: 0;
  max-width: none}
.mobile-analysis-cards .sku-name {
  font-size: var(--type-xs);
  -webkit-line-clamp: 3}}
.section-export-table-scroll {
max-width: 100%;
overflow-x: auto;
overscroll-behavior-inline: contain;
border-radius: var(--radius-card);
outline: none;
scrollbar-gutter: stable}
.section-export-table-scroll:focus-visible {
box-shadow: 0 0 0 3px rgba(200, 147, 47, 0.18)}
.matrix-metric-legend {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 7px 14px;
margin: 0 0 var(--space-2);
padding: 9px 11px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--muted);
background: rgba(255, 252, 246, 0.88);
font-size: var(--type-xs);
line-height: 1.35}
.matrix-metric-legend-item {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--ink);
font-weight: 800}
.matrix-metric-legend-item i {
width: 9px;
height: 9px;
border-radius: 999px;
background: var(--ink)}
.matrix-metric-legend-item.is-secondary i {
background: var(--muted)}
.matrix-metric-legend-encoding,
.matrix-metric-legend-unit {
padding-left: 12px;
border-left: 1px solid var(--line-soft)}
.matrix-metric-legend > small {
flex-basis: 100%;
color: var(--muted)}
.matrix-metric-pair {
display: grid;
width: 100%;
min-width: 0;
gap: 4px;
padding: 0;
border: 0;
color: inherit;
background: transparent;
font: inherit;
text-align: right;
cursor: pointer}
.matrix-metric-pair:hover,
.matrix-metric-pair:focus-visible {
position: relative;
z-index: 1;
outline: 2px solid rgba(150, 103, 20, 0.42);
outline-offset: 3px}
.heatmap-grid-cell.matrix-metric-pair {
min-height: 68px;
padding: 9px}
.matrix-metric-line,
.channel-matrix-table .matrix-metric-line,
.brand-matrix-table .matrix-metric-line,
.tier-price-band-table .matrix-metric-line,
.refund-risk-matrix-table .matrix-metric-line,
.heatmap-grid-cell .matrix-metric-line {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 7px;
align-items: baseline;
margin: 0;
color: inherit;
font-size: inherit}
.matrix-metric-line small {
color: var(--muted);
font-size: 0.68rem;
font-weight: 750;
white-space: nowrap}
.matrix-metric-line strong {
min-width: 0;
color: var(--ink);
font-size: 0.82rem;
font-variant-numeric: tabular-nums;
overflow-wrap: normal;
text-align: right;
white-space: nowrap}
.matrix-metric-line.is-secondary strong {
color: rgba(29, 29, 31, 0.68);
font-weight: 700}
.matrix-metric-line.is-negative strong,
.matrix-detail-metrics [data-metric-state="negative"] dd {
color: var(--danger)}
.matrix-metric-line.is-zero strong {
color: var(--muted)}
.matrix-empty-state {
display: grid;
min-height: 48px;
place-content: center;
gap: 2px;
color: var(--muted);
text-align: center}
.matrix-empty-state strong {
font-size: 0.92rem}
.matrix-empty-state small {
font-size: 0.66rem;
white-space: nowrap}
.matrix-dimension-label {
display: grid;
gap: 2px;
min-width: 0;
word-break: keep-all;
overflow-wrap: normal}
.matrix-dimension-label > strong {
color: inherit;
font: inherit;
font-weight: inherit;
word-break: keep-all;
overflow-wrap: normal}
.matrix-dimension-label > small {
color: var(--muted);
font-size: 0.64rem;
font-weight: 650;
line-height: 1.25;
white-space: normal}
.channel-matrix-table td:first-child,
.channel-matrix-table th:first-child,
.brand-matrix-table td:first-child,
.brand-matrix-table th:first-child,
.tier-price-band-table td:first-child,
.tier-price-band-table th:first-child,
.refund-risk-matrix-table td:first-child,
.refund-risk-matrix-table th:first-child {
min-width: 168px;
word-break: keep-all;
overflow-wrap: normal}
.market-table .is-matrix-column-focus {
box-shadow: inset 2px 0 0 rgba(150, 103, 20, 0.3), inset -2px 0 0 rgba(150, 103, 20, 0.3)}
.market-table tr.is-matrix-row-focus > td,
.market-table tr.is-matrix-row-focus > th {
border-top-color: rgba(150, 103, 20, 0.32);
border-bottom-color: rgba(150, 103, 20, 0.32)}
.heatmap-grid .is-matrix-row-focus,
.heatmap-grid .is-matrix-column-focus {
box-shadow: inset 0 0 0 2px rgba(150, 103, 20, 0.3)}
.heatmap-cell[data-heat-sign="negative"],
.market-table tbody tr td.heatmap-cell[data-heat-sign="negative"],
.market-table tbody tr:nth-child(even) td.heatmap-cell[data-heat-sign="negative"],
.market-table tbody tr:hover td.heatmap-cell[data-heat-sign="negative"] {
background:
  linear-gradient(
    180deg,
    rgba(255, 249, 248, calc(0.88 - (var(--heat-level, 0) * 0.28))),
    rgba(251, 226, 222, calc(0.76 - (var(--heat-level, 0) * 0.18)))
  ),
  rgba(185, 45, 38, calc(0.08 + (var(--heat-level, 0) * 0.42)));
box-shadow: inset 0 0 0 1px rgba(185, 45, 38, calc(0.12 + (var(--heat-level, 0) * 0.18)))}
.heatmap-cell[data-heat-sign="zero"],
.market-table tbody tr td.heatmap-cell[data-heat-sign="zero"],
.market-table tbody tr:nth-child(even) td.heatmap-cell[data-heat-sign="zero"],
.market-table tbody tr:hover td.heatmap-cell[data-heat-sign="zero"] {
background: var(--surface-soft);
box-shadow: inset 0 0 0 1px var(--line-soft)}
.matrix-detail-dialog {
width: min(560px, calc(100vw - 32px));
max-height: min(720px, calc(100vh - 32px));
padding: 0;
overflow: auto;
border: 1px solid rgba(92, 58, 21, 0.18);
border-radius: var(--radius-panel);
color: var(--ink);
background: var(--surface);
box-shadow: 0 28px 80px rgba(36, 28, 20, 0.28)}
.matrix-detail-dialog::backdrop {
background: rgba(29, 29, 31, 0.42);
backdrop-filter: blur(4px)}
.matrix-detail-dialog > article {
display: grid;
gap: var(--space-3);
padding: 24px}
.matrix-detail-dialog header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: var(--space-3)}
.matrix-detail-dialog header > div {
display: grid;
gap: 5px}
.matrix-detail-dialog h2,
.matrix-detail-dialog p {
margin: 0}
.matrix-detail-dialog [data-matrix-detail-context],
.matrix-detail-note {
color: var(--muted);
font-size: var(--type-xs);
line-height: 1.5}
.matrix-detail-dialog [data-matrix-detail-close] {
min-height: 36px;
padding: 0 12px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.matrix-detail-metrics {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
margin: 0}
.matrix-detail-metrics > div {
display: grid;
gap: 5px;
padding: 12px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.matrix-detail-metrics dt {
color: var(--muted);
font-size: var(--type-xs)}
.matrix-detail-metrics dd {
margin: 0;
font-size: 1rem;
font-weight: 850;
font-variant-numeric: tabular-nums}
@media (max-width: 600px) {
.matrix-metric-legend {
  align-items: flex-start}
.matrix-metric-legend-encoding,
.matrix-metric-legend-unit {
  flex-basis: 100%;
  padding-left: 0;
  border-left: 0}
.matrix-detail-dialog > article {
  padding: 18px}
.matrix-detail-metrics {
  grid-template-columns: minmax(0, 1fr)}}
.sku-tier-open,
.sku-tier-return,
.data-trust-technical-action {
min-height: 36px;
padding: 0 12px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.sku-tier-open {
color: #fff;
border-color: var(--brand-charcoal);
background: var(--brand-charcoal)}
.sku-tier-open:focus-visible,
.sku-tier-return:focus-visible,
.data-trust-technical-action:focus-visible {
outline: 3px solid rgba(10, 102, 194, 0.32);
outline-offset: 2px}
.sku-health-tier-table .sku-tier-open {
white-space: nowrap}
.sku-health-tier-mobile .sku-tier-open {
width: 100%;
margin-top: 10px}
.sku-task-switcher-wrap {
display: grid;
min-width: 0;
gap: 5px}
.sku-task-overflow-hint {
display: none;
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.sku-list-head,
.sku-detail-toolbar {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: var(--space-3)}
.sku-list-head h2,
.sku-list-head p {
margin-bottom: 4px}
.sku-tier-badge {
display: inline-flex;
min-height: 26px;
align-items: center;
padding: 0 9px;
border-radius: var(--radius-pill);
color: var(--ink);
background: var(--surface-soft);
font-size: var(--type-xs);
font-weight: 850;
white-space: nowrap}
.sku-tier-badge.is-star {
color: #765108;
background: rgba(200, 147, 47, 0.16)}
.sku-tier-badge.is-core {
color: #175b78;
background: rgba(32, 139, 180, 0.12)}
.sku-tier-badge.is-problem {
color: var(--danger);
background: rgba(180, 35, 24, 0.1)}
.sku-tier-badge.is-long-tail {
color: var(--muted);
background: rgba(98, 105, 117, 0.1)}
.sku-tier-reason {
min-width: 230px;
color: var(--muted);
font-size: var(--type-xs);
line-height: 1.45}
.chart-semantics {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 4px 12px;
margin-top: 5px;
padding-top: 6px;
border-top: 1px solid var(--line-soft);
color: var(--muted);
font-size: var(--type-xs);
font-weight: 750}
.chart-semantics small {
flex-basis: 100%;
color: var(--muted);
font-weight: 500}
.entity-overview {
display: grid;
gap: 10px;
padding: var(--space-3);
border: 1px solid color-mix(in srgb, var(--brand-gold) 38%, var(--line-soft));
border-radius: var(--radius-panel);
background: color-mix(in srgb, var(--brand-gold) 6%, var(--surface))}
.entity-overview h3,
.entity-overview p {
margin: 0}
.entity-overview > small {
color: var(--muted);
font-size: var(--type-xs)}
.entity-overview-metrics {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px}
.entity-overview-metrics article {
display: grid;
min-width: 0;
gap: 3px;
padding: 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface)}
.entity-overview-metrics small,
.entity-overview-metrics span {
color: var(--muted);
font-size: var(--type-xs)}
.entity-overview-metrics strong {
overflow-wrap: anywhere;
font-size: 1.05rem;
font-variant-numeric: tabular-nums}
.global-search-result-actions {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 6px}
.global-search-result-actions > button {
min-width: 0}
.global-search-result-actions .global-search-detail {
width: auto;
padding: 0 10px;
color: var(--brand-gold-ink);
border-color: color-mix(in srgb, var(--brand-gold) 45%, var(--line-soft));
background: color-mix(in srgb, var(--brand-gold) 7%, var(--surface));
font-size: var(--type-xs);
font-weight: 800}
.management-report-page.is-meeting-mode {
max-width: 1180px;
margin-right: auto;
margin-left: auto;
gap: 14px}
.meeting-report-context {
margin: 0;
padding: 10px 12px;
border-left: 3px solid var(--brand-gold);
color: var(--muted);
background: color-mix(in srgb, var(--brand-gold) 7%, var(--surface));
font-size: var(--type-xs)}
.management-evidence-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin: 0;
padding: 0;
list-style: none}
.management-evidence-list li,
.management-evidence-empty {
display: grid;
min-width: 0;
gap: 5px;
padding: 12px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.management-evidence-list header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px}
.management-evidence-list h3,
.management-evidence-list p,
.management-evidence-empty p {
margin: 0}
.management-evidence-list small,
.management-evidence-list p,
.management-evidence-list span,
.management-evidence-empty p {
color: var(--muted);
font-size: var(--type-xs)}
.data-trust-details li > span {
display: grid;
min-width: 0;
gap: 2px}
.data-trust-details li > span small {
color: var(--muted)}
.data-trust-technical-action {
justify-self: start;
min-height: 32px;
color: var(--apple-blue-hover)}
.snapshot-readiness-steps {
display: grid;
gap: 6px;
margin: 12px 0 0;
padding: 0;
list-style: none}
.snapshot-readiness-steps li {
display: flex;
align-items: center;
gap: 8px;
color: var(--muted);
font-size: var(--type-xs)}
@media (max-width: 780px) {
.sku-list-head,
.sku-detail-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr)}
.sku-tier-return {
  min-height: 44px}
.sku-task-overflow-hint {
  display: block}
.sku-task-switcher {
  padding-bottom: 7px;
  scroll-padding-inline: 4px;
  scrollbar-width: thin}
.sku-task-switcher button {
  min-width: 150px}
.entity-overview-metrics,
.management-evidence-list {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.global-search-result-actions {
  grid-template-columns: minmax(0, 1fr)}
.global-search-result-actions .global-search-detail {
  width: 100%}
.data-trust-details li {
  align-items: stretch;
  flex-direction: column}
.data-trust-details .action-drilldown {
  width: 100%;
  min-height: 40px}}
@media (max-width: 480px) {
.entity-overview-metrics,
.management-evidence-list {
  grid-template-columns: minmax(0, 1fr)}
.chart-semantics {
  display: grid;
  justify-content: stretch}}
@media print {
.management-report-actions,
.meeting-report-context {
  display: none !important}
.management-report-page.is-meeting-mode {
  max-width: none;
  padding: 0;
  border: 0;
  box-shadow: none}
.management-report-page.is-meeting-mode .management-report-section {
  break-inside: avoid}}
.data-trust-panel {
grid-column: 1 / -1;
min-height: 0;
border-top: 3px solid var(--success);
overflow: visible}
.data-trust-panel.is-watch {
border-top-color: var(--warning)}
.data-trust-panel.is-block {
border-top-color: var(--danger)}
.data-trust-panel > header,
.data-trust-panel > footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-3)}
.data-trust-panel > header h2,
.data-trust-panel > header p,
.data-trust-panel > footer small {
margin: 0}
.data-trust-panel > header > div {
display: grid;
gap: 4px}
.data-trust-verdict {
display: inline-flex;
min-height: 34px;
align-items: center;
gap: 6px;
padding: 0 12px;
border: 1px solid rgba(36, 138, 61, 0.24);
border-radius: var(--radius-pill);
color: var(--success);
background: rgba(36, 138, 61, 0.08);
font-size: var(--type-sm);
font-weight: 800;
white-space: nowrap}
.is-watch .data-trust-verdict {
border-color: rgba(180, 123, 22, 0.28);
color: #8a5c08;
background: rgba(200, 147, 47, 0.1)}
.is-block .data-trust-verdict {
border-color: var(--danger-border);
color: var(--danger);
background: rgba(180, 35, 24, 0.08)}
.data-trust-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--space-2);
margin-top: var(--space-3)}
.data-trust-grid > article {
display: grid;
min-width: 0;
align-content: start;
gap: 6px;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.data-trust-grid small,
.data-trust-grid span,
.data-trust-panel > footer {
color: var(--muted);
font-size: var(--type-xs)}
.data-trust-grid strong {
color: var(--ink);
font-size: 1.05rem;
font-variant-numeric: tabular-nums}
.data-trust-grid code {
overflow: hidden;
color: var(--muted);
font-size: 0.72rem;
text-overflow: ellipsis;
white-space: nowrap}
.data-trust-clean {
color: var(--success) !important;
font-size: var(--type-xs) !important}
.data-trust-details summary {
min-height: 32px;
color: var(--apple-blue-hover);
cursor: pointer;
font-size: var(--type-xs);
font-weight: 700}
.data-trust-details ul {
display: grid;
gap: 5px;
margin: 0;
padding: 0;
list-style: none}
.data-trust-details li {
display: flex;
justify-content: space-between;
gap: 8px;
font-size: var(--type-xs)}
.data-trust-panel > footer {
margin-top: var(--space-3);
padding-top: var(--space-2);
border-top: 1px solid var(--line-soft)}
.snapshot-comparison-panel {
grid-column: 1 / -1;
min-height: 0;
border-top: 3px solid var(--line-strong)}
.snapshot-comparison-panel.is-pass {
border-top-color: var(--success)}
.snapshot-comparison-panel.is-watch {
border-top-color: var(--warning)}
.snapshot-comparison-panel.is-block {
border-top-color: var(--danger)}
.snapshot-comparison-panel > header,
.snapshot-comparison-panel > footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-3)}
.snapshot-comparison-panel > header > div {
display: grid;
gap: 4px}
.snapshot-comparison-panel > header :is(h2, p),
.snapshot-comparison-panel > footer small,
.snapshot-comparison-empty p {
margin: 0}
.snapshot-comparison-panel > header > span {
flex: 0 0 auto;
padding: 6px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs);
font-weight: 800}
.snapshot-comparison-grid {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: var(--space-2);
margin-top: var(--space-3)}
.snapshot-comparison-grid > article,
.snapshot-comparison-empty {
display: grid;
min-width: 0;
gap: 5px;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.snapshot-comparison-grid small,
.snapshot-comparison-grid span,
.snapshot-comparison-panel > footer,
.snapshot-comparison-empty p {
color: var(--muted);
font-size: var(--type-xs)}
.snapshot-comparison-grid strong {
font-size: 1.05rem;
font-variant-numeric: tabular-nums}
.snapshot-comparison-grid strong.is-positive {
color: var(--success)}
.snapshot-comparison-grid strong.is-negative {
color: var(--danger)}
.snapshot-movers {
margin-top: var(--space-4);
padding-top: var(--space-3);
border-top: 1px solid var(--line-soft)}
.snapshot-movers > header h3,
.snapshot-movers > header p,
.snapshot-mover-grid h4 {
margin: 0}
.snapshot-movers > header p {
margin-top: 4px;
color: var(--muted);
font-size: var(--type-xs)}
.snapshot-mover-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-3);
margin-top: var(--space-3)}
.snapshot-mover-grid > article {
min-width: 0}
.snapshot-mover-grid h4 {
padding-bottom: 8px;
border-bottom: 1px solid var(--line-soft);
color: var(--muted);
font-size: var(--type-xs)}
.snapshot-mover-grid ol {
display: grid;
gap: 0;
margin: 0;
padding: 0;
list-style: none}
.snapshot-mover-grid li {
min-width: 0;
border-bottom: 1px solid var(--line-soft)}
.snapshot-mover-action {
display: flex;
align-items: center;
width: 100%;
min-width: 0;
min-height: 52px;
gap: var(--space-2);
padding: 10px 6px;
border: 0;
border-radius: 8px;
background: transparent;
color: inherit;
font: inherit;
text-align: left;
cursor: pointer}
.snapshot-mover-action:hover {
background: var(--surface-soft)}
.snapshot-mover-copy {
display: grid;
flex: 1 1 auto;
min-width: 0;
gap: 2px}
.snapshot-mover-copy strong,
.snapshot-mover-copy small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.snapshot-mover-copy small {
color: var(--muted);
font-size: var(--type-xs)}
.snapshot-mover-action > b {
flex: 0 0 auto;
font-variant-numeric: tabular-nums}
.snapshot-mover-action > b.is-positive {
color: var(--success)}
.snapshot-mover-action > b.is-negative {
color: var(--danger)}
.snapshot-mover-arrow {
flex: 0 0 auto;
color: var(--muted);
font-size: 1.25rem;
line-height: 1}
.snapshot-comparison-panel > footer {
margin-top: var(--space-3);
padding-top: var(--space-2);
border-top: 1px solid var(--line-soft)}
.snapshot-comparison-empty {
margin-top: var(--space-3)}
@media (max-width: 980px) {
.data-trust-grid,
.snapshot-comparison-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 600px) {
.data-trust-panel > header,
.data-trust-panel > footer,
.snapshot-comparison-panel > header,
.snapshot-comparison-panel > footer {
  align-items: flex-start;
  flex-direction: column}
.data-trust-grid,
.snapshot-comparison-grid,
.snapshot-mover-grid {
  grid-template-columns: minmax(0, 1fr)}
.data-trust-details summary {
  min-height: 44px}
.snapshot-mover-action {
  min-height: 56px;
  padding-inline: 8px}}
.kpi-actions {
display: flex;
flex-wrap: wrap;
gap: 8px 12px;
align-items: center;
margin-top: auto;
padding-top: 8px}
.kpi-explain,
.market-explain {
min-height: 32px;
padding: 0;
border: 0;
color: var(--apple-blue-hover);
background: transparent;
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.kpi-actions .kpi-explain {
min-height: 32px;
padding: 0 9px;
border: 1px solid var(--blue-border);
border-radius: var(--radius-button);
background: var(--blue-soft)}
.kpi-explain:hover,
.market-explain:hover {
text-decoration: underline;
text-underline-offset: 3px}
.kpi-explain:focus-visible,
.market-explain:focus-visible,
.analysis-explanation-layer :where(button, [tabindex]):focus-visible {
outline: 3px solid var(--apple-blue);
outline-offset: 3px}
body.dashboard-explanation-open {
overflow: hidden;
overscroll-behavior: none}
.analysis-explanation-layer {
position: fixed;
inset: 0;
z-index: 520}
.analysis-explanation-drawer {
position: absolute;
top: 0;
right: 0;
z-index: 1;
display: grid;
width: min(580px, calc(100vw - 24px));
height: 100%;
grid-template-rows: auto auto auto auto auto;
align-content: start;
gap: var(--space-3);
padding: var(--space-4);
overflow-x: hidden;
overflow-y: auto;
border-left: 1px solid var(--line-strong);
background: var(--surface);
box-shadow: var(--shadow-popover)}
.analysis-explanation-drawer > header,
.analysis-explanation-drawer > footer,
.analysis-explanation-drivers > div:first-child {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-2)}
.analysis-explanation-drawer h2,
.analysis-explanation-drawer h3,
.analysis-explanation-drawer h4,
.analysis-explanation-drawer p {
margin: 0}
.analysis-explanation-drawer > header > div {
display: grid;
gap: 4px}
.analysis-explanation-drawer > header p:last-child,
.analysis-explanation-drivers > small,
.analysis-explanation-context > small,
.analysis-explanation-metrics > p {
color: var(--muted);
font-size: var(--type-xs)}
.analysis-explanation-drawer button {
min-height: 34px;
padding: 0 11px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-sm);
cursor: pointer}
.analysis-explanation-drawer button:hover {
border-color: var(--blue-border);
background: var(--blue-soft)}
.analysis-explanation-drawer button.is-primary {
color: #fff;
border-color: var(--ink);
background: var(--ink)}
.analysis-explanation-metrics,
.analysis-explanation-drivers,
.analysis-explanation-context {
display: grid;
gap: var(--space-2);
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.analysis-explanation-metrics dl {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px;
margin: 0}
.analysis-explanation-metrics dl > div {
display: grid;
min-width: 0;
gap: 4px;
padding: 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface)}
.analysis-explanation-metrics dt {
color: var(--muted);
font-size: var(--type-xs)}
.analysis-explanation-metrics dd {
margin: 0;
overflow-wrap: anywhere;
font-weight: 800;
font-variant-numeric: tabular-nums}
.analysis-explanation-metrics .is-positive,
.analysis-explanation-driver-grid .is-positive {
color: var(--success)}
.analysis-explanation-metrics .is-negative,
.analysis-explanation-driver-grid .is-negative {
color: var(--danger)}
.analysis-explanation-state {
padding: 8px 10px;
border-radius: var(--radius-button);
color: var(--warning) !important;
background: var(--warning-soft)}
.analysis-explanation-driver-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-2)}
.analysis-explanation-driver-grid.is-single,
.analysis-explanation-driver-grid.is-empty {
grid-template-columns: minmax(0, 1fr)}
.analysis-explanation-driver-grid > section {
min-width: 0;
padding: var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface)}
.analysis-explanation-driver-grid h4 {
font-size: var(--type-sm)}
.analysis-explanation-driver-grid ol {
display: grid;
gap: 7px;
margin: 9px 0 0;
padding: 0;
list-style: none}
.analysis-explanation-driver-grid li {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding-top: 7px;
border-top: 1px solid var(--line-soft)}
.analysis-explanation-driver-grid li > span {
display: grid;
min-width: 0;
gap: 2px}
.analysis-explanation-driver-grid li strong {
overflow: hidden;
font-size: var(--type-xs);
text-overflow: ellipsis;
white-space: nowrap}
.analysis-explanation-driver-grid li small,
.analysis-explanation-empty {
color: var(--muted);
font-size: 0.7rem}
.analysis-explanation-driver-grid li b {
flex: 0 0 auto;
font-size: var(--type-xs);
font-variant-numeric: tabular-nums}
.analysis-explanation-empty {
margin-top: 9px !important}
.analysis-explanation-context {
align-content: start}
.analysis-explanation-context > div {
display: flex;
flex-wrap: wrap;
gap: 6px}
.analysis-explanation-context span {
padding: 5px 8px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--muted);
background: var(--surface);
font-size: var(--type-xs)}
.analysis-explanation-context span.is-custom {
color: var(--apple-blue-hover);
border-color: var(--blue-border);
background: var(--blue-soft)}
.analysis-explanation-drawer > footer {
flex-wrap: wrap;
padding-top: var(--space-3);
border-top: 1px solid var(--line-soft)}
@media (max-width: 600px) {
.kpi-explain,
.market-explain,
.analysis-explanation-drawer button {
  min-width: 44px;
  min-height: 44px}
.analysis-explanation-drawer {
  inset: 0;
  width: 100%;
  height: 100dvh;
  padding: max(var(--space-3), env(safe-area-inset-top)) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));
  border-left: 0}
.analysis-explanation-metrics dl,
.analysis-explanation-driver-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.analysis-explanation-drawer > footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.analysis-explanation-drawer > footer .is-primary {
  grid-column: 1 / -1}
.kpi-actions .kpi-explain {
  flex: 0 1 auto;
  justify-content: center;
  min-width: 0}
}

/* P36 account foundation */
.shell-header-utility {
display: flex;
gap: 10px;
align-items: center;
justify-content: flex-end}
.platform-account {
position: relative;
z-index: 35}
.platform-account-trigger {
display: grid;
min-height: 42px;
padding: 6px 12px;
border: 1px solid var(--line);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
text-align: left;
cursor: pointer}
.platform-account-trigger:hover,
.platform-account-trigger:focus-visible {color:#1d4ed8;background:#eff6ff}
.platform-account-trigger small {color: var(--muted)}
.platform-account-restoring .platform-account-trigger {
cursor: progress;
opacity: .82}
.authenticated-restore-skeleton {
display: grid;
gap: var(--space-3);
margin-top: var(--space-3)}
.authenticated-restore-skeleton > div {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-3);
padding: var(--space-3);
border: 1px solid var(--line);
border-radius: var(--radius-card);
background: var(--surface)}
.authenticated-restore-skeleton > div:last-child {
grid-template-columns: 1.4fr 1fr}
.authenticated-restore-skeleton span {
display: block;
min-height: 72px;
border-radius: var(--radius-panel);
background: linear-gradient(90deg, var(--surface-soft), var(--surface-warm), var(--surface-soft));
background-size: 220% 100%;
animation: authenticated-restore-sweep 1.4s ease-in-out infinite}
@keyframes authenticated-restore-sweep {
0%,100% {background-position: 100% 0}
50% {background-position: 0 0}}
.authenticated-startup-panel {
display: grid;
align-content: center;
gap: 8px;
margin-top: var(--space-3)}
.authenticated-startup-panel h2,
.authenticated-startup-panel p {margin: 0}
.authenticated-startup-panel > p:last-of-type {
max-width: 620px;
color: var(--muted)}
.authenticated-startup-progress {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
max-width: 420px;
margin-top: 10px}
.authenticated-startup-progress span {
height: 6px;
border-radius: var(--radius-pill);
background: var(--line);
animation: authenticated-startup-pulse 1.2s ease-in-out infinite}
.authenticated-startup-progress span:nth-child(2) {animation-delay: 120ms}
.authenticated-startup-progress span:nth-child(3) {animation-delay: 240ms}
@keyframes authenticated-startup-pulse {
0%,100% {opacity:.38}
50% {opacity:1;background:var(--brand-gold)}}
@media (prefers-reduced-motion: reduce) {
.authenticated-startup-progress span,
.authenticated-restore-skeleton span {animation:none}}
@media (max-width: 760px) {
.authenticated-restore-skeleton > div,
.authenticated-restore-skeleton > div:last-child {grid-template-columns:1fr}
.authenticated-restore-skeleton span {min-height:56px}}
.platform-account-menu {
position: absolute;
top: calc(100% + 8px);
right: 0;
display: grid;
min-width: 220px;
gap: 6px;
padding: 10px;
border: 1px solid var(--line);
border-radius: 14px;
color: var(--ink);
background: var(--surface);
box-shadow: var(--shadow-card)}
.platform-account-menu[hidden] {display: none}
.platform-account-menu p {display: grid;gap: 2px;margin: 0 0 4px;padding: 5px 7px}
.platform-account-menu small {color: var(--muted);font-weight: 500}
.platform-account-menu button,
.platform-admin-dialog button,
.platform-dialog button,
.platform-login button {
min-height: 38px;
padding: 7px 11px;
border: 1px solid var(--line);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-weight: 750;
cursor: pointer}
.platform-account-menu button:hover,
.platform-account-menu button:focus-visible {background: var(--surface-warm)}
.platform-login {
width: min(460px, calc(100% - 28px));
margin: clamp(40px, 12vh, 120px) auto;
padding: clamp(24px, 5vw, 42px);
border: 1px solid var(--line);
border-radius: 24px;
background: var(--surface);
box-shadow: var(--shadow-card)}
.platform-login-brand h1,
.platform-login h1 {margin: 4px 0 8px;color: var(--ink);font-size: clamp(1.55rem,4vw,2.2rem)}
.platform-login-brand p,
.platform-login > p {color: var(--muted)}
.platform-login-form,
.platform-dialog form {display: grid;gap: 14px;margin-top: 20px}
.platform-login-form label,
.platform-dialog label,
.platform-admin-create label {display: grid;gap: 6px;color: var(--muted);font-weight: 700}
.platform-login-form input,
.platform-dialog input,
.platform-admin-dialog select {
min-height: 44px;
padding: 8px 11px;
border: 1px solid var(--line);
border-radius: 10px;
color: var(--ink);
background: var(--surface);
font: inherit}
.platform-login .is-primary,
.platform-dialog .is-primary {border-color: var(--apple-blue);color: #fff;background: var(--apple-blue)}
.platform-login-status {min-height: 24px;margin: 16px 0;color: var(--muted)}
.platform-login-status[data-status="error"],
.platform-admin-status[data-status="error"] {color: var(--danger)}
.platform-restore-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.platform-restore-actions .is-primary {border-color:var(--apple-blue);color:#fff;background:var(--apple-blue)}
.platform-dialog-layer {
position: fixed;
inset: 0;
z-index: 700;
display: grid;
place-items: center;
padding: 18px}
.platform-dialog-backdrop {position: absolute;inset: 0;border: 0!important;border-radius: 0!important;background: rgba(20,17,13,.58)!important}
.platform-dialog {
position: relative;
z-index: 1;
width: min(560px,100%);
max-height: 90dvh;
overflow: auto;
padding: 20px;
border: 1px solid var(--line);
border-radius: 20px;
background: var(--surface);
box-shadow: 0 28px 80px rgba(20,17,13,.28)}
.platform-dialog > header {display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.platform-dialog > header h2 {margin:2px 0 4px}
.platform-dialog > header p {margin:0;color:var(--muted)}
.platform-dialog footer {display:flex;gap:9px;justify-content:flex-end;margin-top:10px}
.platform-admin-dialog {width:min(980px,100%)}
.platform-admin-create {grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end}
.platform-admin-table {margin-top:14px;overflow:auto;border:1px solid var(--line-soft);border-radius:14px}
.platform-admin-table table {width:100%;border-collapse:collapse}
.platform-admin-table th,
.platform-admin-table td {padding:10px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle}
.platform-admin-table td:first-child {display:grid;gap:2px;min-width:200px}
.platform-admin-table [data-member-name] {width:100%;min-height:38px}
.platform-admin-table td small {color:var(--muted)}
.saved-filter-head > span {display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.saved-filter-sync {margin:10px 0 0;color:var(--muted);font-size:var(--type-xs)}
.saved-filter-sync[data-status="blocked"] {color:var(--danger)}
@media (max-width: 760px) {
.shell-header-utility {align-items:center}
.shell-header-utility .shell-meta {display:none}
.platform-account-trigger {min-height:36px;padding:4px 8px}
.platform-account-trigger small {display:none}
.platform-admin-create {grid-template-columns:1fr}
.platform-dialog-layer {place-items:end center;padding:0}
.platform-dialog {width:100%;max-height:92dvh;border-radius:22px 22px 0 0}
.platform-admin-table th:nth-child(4),
.platform-admin-table td:nth-child(4) {display:none}}
.command-card.change-radar-head,
.command-card.change-radar-table-card {
min-height: 0}
@media (max-width: 430px) {
.saved-filter-rename-form {
  grid-template-columns: minmax(0, 1fr) auto auto}}
@media print {
.saved-filter-rename-form {
  display: none !important}}
.data-update-control {
margin: 0 0 18px;
padding: 18px;
border: 1px solid var(--line, #d9dde5);
border-radius: 18px;
background: var(--surface, #fff);
box-shadow: 0 10px 30px rgba(24, 31, 43, 0.05)}
.data-update-control > header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px}
.data-update-control h2 {
margin: 2px 0 4px}
.update-verdict {
flex: 0 0 auto;
padding: 6px 10px;
border-radius: 999px;
background: color-mix(in srgb, var(--accent, #7b1e2b) 9%, white);
color: var(--accent, #7b1e2b);
font-size: 0.82rem}
.update-stage-list {
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 8px;
padding: 0;
margin: 16px 0 0;
list-style: none}
.update-stage-list li {
min-width: 0;
border-radius: 12px;
background: var(--surface-soft, #f6f7f9)}
.update-stage-list li > span {
display: grid;
place-items: center;
width: 24px;
height: 24px;
margin: 10px 10px 0;
border-radius: 999px;
color: #fff;
background: var(--accent, #7b1e2b);
font-size: 0.75rem}
.update-stage-list li strong,
.update-stage-list li small {
display: block}
.update-stage-list li small {
margin-top: 3px;
color: var(--text-muted, #626975)}
.data-update-control[data-update-verdict="pass"] .update-verdict {
color: #176b45;
background: #e8f7ef}
.data-update-control[data-update-verdict="warn"] .update-verdict {
color: #8a5a00;
background: #fff3cf}
.data-update-control[data-update-verdict="block"] .update-verdict {
color: #a1262f;
background: #fdebed}
.update-snapshot-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
margin-top: 16px}
.update-snapshot-grid article {
display: grid;
gap: 4px;
min-width: 0;
padding: 12px;
border-radius: 12px;
background: var(--surface-soft, #f6f7f9)}
.update-snapshot-grid small,
.update-snapshot-grid span,
.data-update-control footer {
color: var(--text-muted, #626975)}
.update-stage-list {
grid-template-columns: repeat(3, minmax(0, 1fr))}
.update-stage-list li {
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 8px;
padding: 8px}
.update-stage-list li > span {
margin: 0}
.update-stage-list li small {
margin: 0;
font-weight: 700}
.data-update-control footer {
display: flex;
flex-wrap: wrap;
gap: 8px 18px;
margin-top: 14px;
font-size: 0.78rem}
@media (max-width: 760px) {
.update-snapshot-grid {
  grid-template-columns: 1fr 1fr}
.update-stage-list {
  grid-template-columns: 1fr}
.data-update-control > header {
  display: grid}}
.change-radar,
.object-compare-section {
display: grid;
gap: var(--space-3);
margin-top: var(--space-3)}
.change-radar-head,
.object-compare-head {
display: grid;
min-height: 0;
gap: var(--space-3);
align-items: end}
.change-radar-head {
grid-template-columns: minmax(0, 1fr) auto}
.change-radar-head h2,
.change-radar-head p,
.object-compare-head h2,
.object-compare-head p {
margin: 0}
.change-radar-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
justify-content: flex-end}
.change-radar-sort,
.object-compare-metrics {
display: grid;
grid-auto-flow: column;
gap: 3px;
padding: 3px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface-soft)}
.change-radar-sort button,
.object-compare-metrics button,
.object-compare-head > button,
.object-compare-add button,
.object-compare-chips button {
min-height: 34px;
padding: 0 10px;
border: 0;
border-radius: 8px;
color: var(--ink);
background: transparent;
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.change-radar-sort button.is-active,
.object-compare-metrics button.is-active {
color: #ffffff;
background: var(--brand-gold-ink);
box-shadow: 0 2px 8px rgba(92, 68, 35, 0.16)}
.change-radar-summary {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--space-2)}
.change-radar-summary-card {
display: grid;
min-width: 0;
gap: 4px;
padding: 14px 16px;
border: 1px solid var(--line-soft);
border-left: 3px solid var(--line-strong);
border-radius: var(--radius-card);
background: var(--surface);
box-shadow: var(--shadow-card)}
.change-radar-summary-card.is-emerging {
border-left-color: var(--danger)}
.change-radar-summary-card.is-persistent {
border-left-color: var(--warning)}
.change-radar-summary-card.is-resolved {
border-left-color: var(--success)}
.change-radar-summary-card.is-impact {
border-left-color: var(--brand-gold-ink)}
.change-radar-summary-card small,
.change-radar-summary-card span,
.change-radar-note {
color: var(--muted);
font-size: var(--type-xs)}
.change-radar-summary-card strong {
font-size: 1.18rem;
font-variant-numeric: tabular-nums}
.change-radar-table-card {
min-height: 0;
padding: var(--space-3)}
.change-radar-table {
min-width: 1080px}
.change-radar-table td:nth-child(3) {
min-width: 190px}
.change-radar-table td:nth-child(3),
.change-radar-table td:nth-child(8) {
display: table-cell}
.change-radar-table td:nth-child(3) strong,
.change-radar-table td:nth-child(3) small,
.change-radar-table td:nth-child(8) strong,
.change-radar-table td:nth-child(8) small {
display: block}
.change-radar-table td small {
margin-top: 3px;
color: var(--muted);
font-size: 0.66rem}
.change-radar-status,
.change-radar-priority,
.sku-movement,
.object-quality-badges span {
display: inline-flex;
min-height: 24px;
align-items: center;
padding: 3px 8px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--muted);
background: var(--surface-soft);
font-size: 0.66rem;
font-weight: 850;
white-space: nowrap}
.change-radar-status.is-emerging,
.change-radar-priority.is-p0,
.sku-movement.is-degraded,
.object-quality-badges .is-negative {
color: var(--danger);
border-color: var(--danger-border);
background: var(--danger-soft)}
.change-radar-status.is-persistent,
.change-radar-priority.is-p1 {
color: var(--warning);
border-color: rgba(138, 101, 0, 0.22);
background: var(--warning-soft)}
.change-radar-status.is-resolved,
.sku-movement.is-upgraded,
.object-quality-badges .is-positive {
color: var(--success);
border-color: rgba(0, 122, 61, 0.22);
background: var(--success-soft)}
.change-radar-note,
.sku-migration-note {
margin: 10px 0 0}
.object-compare-head {
grid-template-columns: minmax(0, 1fr) auto}
.object-compare-head > button {
border: 1px solid var(--blue-border);
color: var(--brand-gold-ink);
background: var(--brand-gold-soft)}
.object-compare-controls {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(150px, 0.4fr) minmax(390px, 1fr);
gap: 10px;
align-items: end}
.object-compare-controls > label {
display: grid;
gap: 5px;
color: var(--muted);
font-size: var(--type-xs);
font-weight: 800}
.object-compare-controls select,
.object-compare-add select {
min-width: 0;
min-height: var(--control-height);
padding: 0 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-xs);
font-weight: 750}
.object-compare-selection {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px;
align-items: center}
.object-compare-chips {
display: flex;
min-width: 0;
flex-wrap: wrap;
gap: 6px}
.object-compare-chips > span {
display: inline-flex;
max-width: 260px;
min-height: 34px;
gap: 4px;
align-items: center;
padding-left: 10px;
border: 1px solid var(--blue-border);
border-radius: var(--radius-pill);
color: var(--brand-gold-ink);
background: var(--brand-gold-soft);
font-size: var(--type-xs)}
.object-compare-chips strong {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.object-compare-chips button {
min-width: 30px;
padding: 0 7px;
color: currentColor}
.object-compare-add {
display: flex;
gap: 6px}
.object-compare-add button {
border: 1px solid var(--line-soft);
background: var(--surface)}
.object-compare-add button:disabled,
.object-compare-add select:disabled {
cursor: not-allowed;
opacity: 0.48}
.object-compare-limit {
grid-column: 1 / -1;
color: var(--muted);
font-size: 0.68rem}
.object-compare-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-2)}
.object-compare-card {
display: grid;
min-width: 0;
gap: 12px;
padding: 16px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface);
box-shadow: var(--shadow-card)}
.object-compare-card > header,
.object-compare-trend-head {
display: flex;
gap: 8px;
align-items: flex-start;
justify-content: space-between}
.object-compare-card h3,
.object-compare-card header small,
.object-compare-trend-head strong,
.object-compare-trend-head small {
margin: 0}
.object-compare-card header small,
.object-compare-trend-head small {
color: var(--muted);
font-size: var(--type-xs)}
.object-compare-card h3 {
margin-top: 3px;
font-size: 0.98rem;
overflow-wrap: anywhere}
.object-quality-badges {
display: flex;
flex: 0 0 auto;
flex-wrap: wrap;
gap: 4px;
justify-content: flex-end}
.object-compare-metrics-grid {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 5px;
margin: 0}
.object-compare-metrics-grid > div {
display: grid;
min-width: 0;
gap: 3px;
padding: 8px;
border-radius: 9px;
background: var(--surface-soft)}
.object-compare-metrics-grid dt {
color: var(--muted);
font-size: 0.64rem}
.object-compare-metrics-grid dd {
overflow: hidden;
margin: 0;
font-size: 0.74rem;
font-weight: 850;
text-overflow: ellipsis;
white-space: nowrap}
.object-compare-metrics-grid .is-positive,
.change-radar-table .is-positive {
color: var(--success)}
.object-compare-metrics-grid .is-negative,
.change-radar-table .is-negative {
color: var(--danger)}
.object-compare-trend {
display: flex;
min-height: 72px;
gap: 3px;
align-items: end;
padding: 8px 6px 4px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: linear-gradient(180deg, rgba(200, 147, 47, 0.04), rgba(200, 147, 47, 0))}
.object-compare-trend > span {
display: grid;
min-width: 0;
flex: 1;
gap: 3px;
align-items: end;
justify-items: center;
height: 58px}
.object-compare-trend i {
width: min(14px, 80%);
height: var(--object-trend-height, 8%);
min-height: 4px;
border-radius: 4px 4px 2px 2px;
background: var(--brand-gold)}
.object-compare-trend small {
overflow: hidden;
width: 100%;
color: var(--muted);
font-size: 0.58rem;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap}
.object-compare-trend-empty,
.object-compare-empty {
color: var(--muted)}
.sku-migration-panel {
display: grid;
gap: 12px}
.sku-migration-head {
display: flex;
gap: 12px;
align-items: flex-start;
justify-content: space-between}
.sku-migration-head h3,
.sku-migration-head p {
margin: 0}
.sku-migration-head > small,
.sku-migration-note {
color: var(--muted);
font-size: var(--type-xs)}
.sku-migration-summary {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 7px}
.sku-migration-summary article {
display: grid;
gap: 3px;
padding: 10px;
border: 1px solid var(--line-soft);
border-left: 3px solid var(--line-strong);
border-radius: var(--radius-button);
background: var(--surface-soft)}
.sku-migration-summary article.is-upgraded {
border-left-color: var(--success)}
.sku-migration-summary article.is-degraded {
border-left-color: var(--danger)}
.sku-migration-summary small {
color: var(--muted);
font-size: 0.66rem}
.sku-migration-summary strong {
font-size: 1rem}
.sku-migration-table {
min-width: 1180px}
.sku-identity {
display: grid;
min-width: 150px;
max-width: 320px;
gap: 2px;
white-space: normal}
.sku-code {
color: var(--ink);
font-family: var(--font-mono);
font-size: 0.72rem;
overflow-wrap: anywhere}
.sku-name,
.cross-evidence-skus .sku-name {
display: -webkit-box;
overflow: hidden;
color: var(--muted);
font-size: 0.68rem;
line-height: 1.35;
white-space: normal;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2}
.cross-evidence-skus li > .sku-identity {
flex: 1}
.cross-scroll-hint {
display: none;
margin: 0 0 7px;
color: var(--muted);
font-size: var(--type-xs)}
.cross-matrix-table thead th:first-child {
left: 0;
z-index: 4;
min-width: 138px}
.saved-filter-actions {
display: flex;
flex: 0 0 auto;
gap: 4px}
.saved-filter-actions button {
min-height: 30px !important;
padding: 0 8px}
.saved-filter-actions .saved-filter-remove {
width: auto;
color: var(--danger)}
@media (max-width: 960px) {
.change-radar-summary,
.object-compare-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.object-compare-metrics-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr))}
.sku-migration-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr))}}
@media (max-width: 780px) {
.change-radar-head,
.object-compare-head,
.object-compare-controls,
.object-compare-selection {
  grid-template-columns: minmax(0, 1fr)}
.change-radar-actions {
  justify-content: flex-start}
.change-radar-sort,
.object-compare-metrics {
  grid-auto-flow: row;
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.change-radar-summary,
.object-compare-grid,
.object-compare-metrics-grid,
.sku-migration-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.object-compare-head > button {
  justify-self: start}
.object-compare-add {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto}
.object-compare-chips > span {
  max-width: 100%}
.cross-scroll-hint {
  display: block}
.saved-filter-views li {
  align-items: stretch;
  flex-direction: column}
.saved-filter-actions {
  justify-content: flex-end}
.sku-identity {
  min-width: 132px;
  max-width: 220px}}
@media (max-width: 430px) {
.change-radar-summary,
.object-compare-grid,
.object-compare-metrics-grid,
.sku-migration-summary {
  grid-template-columns: minmax(0, 1fr)}}
* {
box-sizing: border-box}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0}
:where(button, input, select, summary, [tabindex]):focus-visible {
outline: 2px solid var(--apple-blue);
outline-offset: 3px}
body {
margin: 0;
min-height: 100vh;
color: var(--ink);
background: var(--page);
font-family: var(--font-ui);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility}
.shell {
width: min(var(--shell-max-width), calc(100vw - 40px));
margin: 0 auto;
padding: var(--space-4) 0 var(--space-5)}
.shell-header,
.status-panel {
padding: var(--space-4);
border: 1px solid var(--line);
border-radius: var(--radius-card);
color: var(--ink);
background: var(--header);
box-shadow: var(--shadow-header)}
.status-panel {
min-height: 160px}
.shell-header {
position: sticky;
top: var(--space-2);
z-index: var(--z-header);
display: grid;
min-height: auto;
gap: var(--space-2);
padding: 18px 20px;
border-color: rgba(229, 229, 234, 0.9);
border-radius: 18px;
transition: padding 180ms ease, border-radius 180ms ease, box-shadow 180ms ease}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {}
.eyebrow {
margin: 0 0 var(--space-2);
color: var(--apple-blue);
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0;
text-transform: uppercase}
h1,
h2,
p {
margin-top: 0}
h1 {
max-width: 760px;
margin-bottom: var(--space-2);
font-size: 4rem;
line-height: 1.04;
letter-spacing: 0;
transition: font-size 180ms ease, line-height 180ms ease}
h2 {
margin-bottom: var(--space-1);
font-size: 1rem;
line-height: 1.25;
letter-spacing: 0}
.status-text,
.status-pill {
margin-bottom: 0;
color: var(--muted)}
.status-pill {
display: inline-flex;
justify-self: start;
min-height: 30px;
align-items: center;
padding: 0 var(--space-2);
border: 1px solid rgba(0, 113, 227, 0.22);
border-radius: 999px;
color: var(--apple-blue);
background: rgba(0, 113, 227, 0.08);
font-weight: 700}
.module-nav {
display: block;
margin-top: var(--space-1);
overflow-x: auto;
-webkit-overflow-scrolling: touch}
.module-nav-shell {
display: inline-flex;
min-width: min-content;
align-items: center;
gap: var(--space-1);
padding: 5px;
border: 1px solid rgba(229, 229, 234, 0.9);
border-radius: 999px;
background: rgba(245, 245, 247, 0.86)}
.module-nav-group {
display: inline-flex;
align-items: center;
gap: 6px}
.module-nav-group-label {
padding-left: var(--space-1);
color: var(--muted);
font-size: 0.72rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0}
.module-nav-tabs {
display: inline-flex;
gap: 3px}
.module-nav button,
.export-button {
min-height: 38px;
padding: 0 var(--space-3);
border: 1px solid transparent;
border-radius: var(--radius-button);
font: inherit;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease}
.module-nav button {
min-height: 32px;
padding: 0 14px;
border-radius: 999px;
color: var(--ink);
background: transparent;
font-size: 0.92rem}
.shell-header.is-compact {
padding: 10px 14px;
border-radius: 16px;
box-shadow: var(--shadow-header), 0 8px 24px rgba(0, 0, 0, 0.06)}
.shell-header.is-compact .eyebrow {
margin-bottom: 0;
font-size: 0.7rem}
.shell-header.is-compact .status-pill {
min-height: 24px;
padding: 0 var(--space-1);
font-size: 0.78rem}
.shell-header.is-compact .module-nav-group-label {
font-size: 0.66rem}
.compact-filter-bar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-1);
padding-top: var(--space-1);
color: var(--muted);
font-size: 0.82rem}
.compact-filter-bar span {
color: var(--ink);
font-weight: 700}
.compact-filter-bar small {
font-size: 0.78rem}
.compact-filter-reset {
min-height: 28px;
padding: 0 var(--space-2)}
.compact-filter-reset:disabled {
cursor: default;
opacity: 0.45}
.module-view[hidden] {
display: none}
.filter-panel {
margin-top: var(--space-3);
box-shadow: var(--shadow-card)}
.filter-panel > summary {
position: sticky;
top: calc(var(--space-2) + 76px);
z-index: calc(var(--z-header) - 1);
background: var(--surface)}
.filter-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--space-2);
padding: var(--space-3)}
.filter-control {
display: grid;
gap: 6px;
color: var(--muted);
font-size: 0.82rem;
font-weight: 700}
.filter-control select,
.filter-control input {
width: 100%;
min-height: 38px;
border: 1px solid var(--line);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-weight: 500}
.filter-control select {
padding: 5px 8px}
.filter-control fieldset,
.filter-time-range {
min-width: 0;
padding: 0;
margin: 0;
border: 0}
.filter-time-range legend {
padding: 0;
margin-bottom: 6px;
color: var(--muted);
font-size: 0.82rem;
font-weight: 700}
.month-range-picker {
position: relative}
.month-range-picker summary {
display: block;
list-style: none;
cursor: pointer}
.month-range-picker summary::-webkit-details-marker {
display: none}
.month-range-inputs {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: center;
gap: var(--space-1)}
.month-range-input {
min-height: var(--control-height);
padding: 0 var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
display: inline-flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-variant-numeric: tabular-nums}
.month-range-arrow {
color: var(--muted);
font-weight: 800}
.month-calendar-panel {
position: absolute;
inset-inline: 0;
top: calc(100% + 8px);
z-index: calc(var(--z-header) + 2);
min-width: min(680px, calc(100vw - 48px));
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: rgba(255, 255, 255, 0.96);
box-shadow: var(--shadow-popover)}
.month-range-picker:not([open]) .month-calendar-panel {
display: none}
.month-calendar-years {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
gap: var(--space-3)}
.month-year-column h4 {
margin: 0 0 var(--space-2);
font-size: var(--type-sm);
font-weight: 800}
.month-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 6px}
.month-cell {
min-height: 34px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.month-cell:hover,
.month-cell:focus-visible {
border-color: var(--blue-border);
background: var(--blue-soft)}
.month-cell.is-start,
.month-cell.is-end {
border-color: var(--apple-blue);
color: #ffffff;
background: var(--apple-blue);
box-shadow: 0 6px 16px rgba(0, 113, 227, 0.18)}
.month-cell.is-disabled {
color: var(--muted);
background: rgba(245, 245, 247, 0.66);
opacity: 0.45;
cursor: not-allowed}
.month-range-actions {
justify-content: flex-end;
margin-top: var(--space-3)}
.filter-range-row {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-1)}
.filter-range-row label {
display: grid;
gap: 4px;
min-width: 0}
.filter-range-row span {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.filter-button-row {
display: flex;
flex-wrap: wrap;
gap: 6px}
.filter-button-row button {
min-height: 28px;
padding: 0 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-size: var(--type-xs);
font-weight: 700;
cursor: pointer}
.filter-button-row button:hover,
.filter-button-row button:focus-visible {
border-color: var(--blue-border);
color: var(--apple-blue);
background: var(--blue-soft)}
.filter-chip-picker {
position: relative}
.filter-chip-picker summary {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: var(--space-1);
min-height: var(--control-height);
padding: 0 var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
cursor: pointer;
list-style: none}
.filter-chip-picker summary::-webkit-details-marker {
display: none}
.filter-chip-picker summary::after {
content: ""}
.filter-chip-picker summary:hover,
.filter-chip-picker summary:focus-visible {
border-color: var(--blue-border);
background: var(--blue-soft)}
.filter-summary-label {
overflow: hidden;
color: var(--muted);
text-overflow: ellipsis;
white-space: nowrap}
.filter-chip-picker summary strong {
color: var(--ink);
font-size: var(--type-xs);
font-weight: 900;
white-space: nowrap}
.filter-chip-picker[open] summary {
border-color: var(--apple-blue);
color: var(--apple-blue);
background: rgba(0, 113, 227, 0.09)}
.filter-chip-popover {
position: absolute;
inset-inline: 0;
top: calc(100% + 8px);
z-index: calc(var(--z-header) + 1);
min-width: min(360px, calc(100vw - 48px));
padding: var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: rgba(255, 255, 255, 0.96);
box-shadow: var(--shadow-popover)}
.filter-chip-picker:not([open]) .filter-chip-popover {
display: none}
.filter-chip-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-1);
color: var(--muted);
font-size: var(--type-xs)}
.filter-chip-list {
display: flex;
flex-wrap: wrap;
gap: 6px;
max-height: 176px;
overflow: auto;
padding: var(--space-1) 2px 2px}
.filter-chip {
position: relative;
display: inline-flex;
align-items: center;
gap: 6px;
min-height: 30px;
max-width: 100%;
padding: 0 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.filter-chip input {
position: absolute;
width: 1px;
height: 1px;
opacity: 0;
pointer-events: none}
.filter-chip-check {
display: inline-grid;
place-items: center;
width: 16px;
height: 16px;
border-radius: 50%;
color: transparent;
background: rgba(29, 29, 31, 0.08);
font-size: 0.68rem;
line-height: 1}
.filter-chip.is-selected {
border-color: rgba(0, 113, 227, 0.36);
color: var(--apple-blue);
background: rgba(0, 113, 227, 0.1)}
.filter-chip.is-selected .filter-chip-check {
color: #ffffff;
background: var(--apple-blue)}
.filter-chip:hover,
.filter-chip:focus-within {
border-color: var(--blue-border);
box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.12)}
.filter-chip-empty {
color: var(--muted);
font-size: var(--type-xs)}
.filter-control input {
padding: 0 var(--space-2)}
.filter-reset {
align-self: end;
min-height: 38px;
border: 1px solid rgba(0, 113, 227, 0.22);
border-radius: var(--radius-button);
color: var(--apple-blue);
background: rgba(0, 113, 227, 0.08);
font: inherit;
font-weight: 700;
cursor: pointer}
.filter-reset:hover,
.filter-reset:focus-visible {
color: var(--apple-blue-hover);
background: rgba(0, 119, 237, 0.12)}
.kpi-grid,
.command-grid,
.action-center-grid,
.profit-grid,
.export-grid,
.market-grid,
.product-grid,
.data-management-grid {
display: grid;
gap: var(--space-3);
margin-top: var(--space-3)}
.kpi-grid {
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: var(--space-2)}
.command-grid,
.action-center-grid,
.export-grid {
grid-template-columns: repeat(3, minmax(0, 1fr))}
.command-summary-card {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.25fr);
gap: var(--space-3);
align-items: stretch;
background:
  linear-gradient(135deg, rgba(0, 113, 227, 0.08), rgba(255, 255, 255, 0) 42%),
  var(--surface)}
.summary-copy h2 {
max-width: 560px;
margin-bottom: var(--space-1);
font-size: 1.18rem}
.summary-copy p:last-child {
margin-bottom: 0}
.summary-metric-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--space-2)}
.summary-metric {
display: grid;
gap: 4px;
min-height: 76px;
align-content: center;
padding: var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.72)}
.summary-metric span,
.summary-signal-row span {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.summary-metric strong {
color: var(--ink);
font-size: 1.08rem;
font-variant-numeric: tabular-nums}
.summary-signal-row {
grid-column: 1 / -1;
display: flex;
flex-wrap: wrap;
gap: var(--space-1);
margin-top: var(--space-2)}
.summary-signal-row span {
padding: 6px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
background: var(--surface-soft)}
.export-grid {
grid-template-columns: repeat(2, minmax(0, 1fr))}
.market-grid,
.product-grid {
grid-template-columns: 1fr}
.data-management-grid {
grid-template-columns: repeat(2, minmax(0, 1fr))}
.profit-kpi-grid {
grid-template-columns: repeat(2, minmax(0, 1fr))}
.return-kpi-grid {
grid-template-columns: repeat(3, minmax(0, 1fr))}
.kpi-card,
.command-card,
.label-strip {
border: 1px solid var(--line);
border-radius: var(--radius-card);
background: var(--surface);
box-shadow: var(--shadow-card)}
.kpi-label {
margin-bottom: var(--space-2);
color: var(--muted);
font-size: 0.88rem}
.kpi-card strong {
display: block;
margin-bottom: var(--space-2);
color: var(--ink);
font-size: 1.42rem;
line-height: 1.1;
letter-spacing: 0;
overflow-wrap: anywhere}
.command-card p {
margin-bottom: 0;
color: var(--muted);
line-height: 1.45;
overflow-wrap: anywhere}
.trend-card,
.bridge-card,
.export-card {
border-top: 3px solid var(--apple-blue)}
.action-card,
.driver-card {
border-top: 3px solid var(--warning)}
.flag-card,
.advice-card {
border-top: 3px solid var(--danger)}
.opportunity-card {
border-top: 3px solid var(--success)}
.risk-card {
border-top: 3px solid var(--danger)}
.action-center-table-card {
grid-column: 1 / -1;
border-top: 3px solid var(--apple-blue)}
.profit-comparison-card,
.profit-change-card {
border-top: 3px solid var(--apple-blue)}
.profit-ranking-card {
grid-column: 1 / -1;
border-top: 3px solid var(--success)}
.profit-anomaly-card {
border-top: 3px solid var(--danger)}
.market-card {
border-top: 3px solid var(--success)}
.product-card {
border-top: 3px solid var(--apple-blue)}
.quality-card {
border-top: 3px solid var(--warning)}
.data-card {
border-top: 3px solid var(--line-strong)}
.data-status-card,
.data-tier-card {
border-top-color: var(--apple-blue)}
.data-version-card {
border-top-color: var(--success)}
.data-source-card {
border-top-color: var(--danger)}
.lazy-card {
border-top: 3px solid var(--line-strong)}
.lazy-card[data-lazy-state="blocked"] {
border-color: rgba(180, 35, 24, 0.24);
border-top-color: var(--danger);
background: #fffafa}
.export-button:disabled {
cursor: wait;
opacity: 0.72}
.trend-list,
.profit-parity-list,
.bridge-list,
.driver-list,
.action-list,
.quality-list,
.data-list {
display: grid;
gap: var(--space-2);
padding: 0;
margin: var(--space-3) 0 0;
list-style: none}
.sparkline-stage {
display: grid;
gap: var(--space-2);
margin-top: var(--space-3)}
.sparkline {
width: 100%;
min-height: 112px;
overflow: visible}
.sparkline-line {
fill: none;
stroke: var(--apple-blue);
stroke-width: 3.5;
stroke-linecap: round;
stroke-linejoin: round}
.sparkline-point circle {
fill: var(--surface);
stroke: var(--apple-blue);
stroke-width: 2.4;
cursor: pointer;
transition: fill 140ms ease, r 140ms ease, stroke-width 140ms ease}
.sparkline-point circle:hover,
.sparkline-point circle:focus-visible {
fill: var(--apple-blue);
stroke-width: 3;
outline: none}
.sparkline-meta {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: center;
gap: var(--space-2);
color: var(--muted);
font-size: 0.82rem}
.sparkline-meta strong {
color: var(--ink);
font-size: 1.08rem;
letter-spacing: 0}
.metric-mini-chart {
display: grid;
gap: var(--space-1);
margin-top: var(--space-3);
width: min(100%, 360px);
max-height: 184px;
overflow: hidden}
.chart-stage,
.series-line-chart,
.waterfall-chart,
.quadrant-chart {
width: 100%;
min-width: 0}
.sparkline,
.series-line-chart svg,
.waterfall-chart svg,
.quadrant-chart svg,
.metric-mini-svg {
display: block;
width: 100%;
height: auto;
overflow: visible}
.trend-chart-stage,
.series-line-chart,
.quadrant-chart {
max-width: 460px}
.sparkline,
.series-line-chart svg {
max-height: 132px}
.chart-grid-line,
.waterfall-baseline,
.quadrant-axis {
stroke: var(--line-strong);
stroke-width: 1}
.quadrant-threshold {
stroke: rgba(0, 113, 227, 0.34);
stroke-dasharray: 5 5;
stroke-width: 1.2}
.quadrant-point,
.series-line-point {
fill: var(--apple-blue);
stroke: var(--surface);
stroke-width: 2;
cursor: pointer;
transition: r var(--motion-fast), fill var(--motion-fast), stroke-width var(--motion-fast)}
.quadrant-point:hover,
.quadrant-point:focus-visible,
.series-line-point:hover,
.series-line-point:focus-visible {
r: 6;
fill: var(--apple-blue-hover);
outline: none}
.quadrant-axis-label {
fill: var(--muted);
font-size: 10px;
font-weight: 700;
text-anchor: end}
.metric-mini-svg {
min-height: 44px;
max-height: 68px}
.metric-mini-svg-bar {
fill: rgba(0, 113, 227, 0.72)}
.metric-mini-chart-row {
display: grid;
grid-template-columns: minmax(96px, 0.9fr) minmax(120px, 2fr) auto;
align-items: center;
gap: var(--space-2);
min-height: 28px;
color: var(--muted);
font-size: 0.8rem}
.metric-mini-chart-row span,
.metric-mini-chart-row strong {
min-width: 0;
overflow-wrap: anywhere}
.metric-mini-chart-row strong {
color: var(--ink);
text-align: right;
font-size: 0.84rem;
letter-spacing: 0}
.metric-mini-chart-row i {
display: block;
width: var(--bar-width);
min-width: 4px;
max-width: 100%;
height: 6px;
border-radius: 999px;
background: linear-gradient(90deg, var(--apple-blue), #46a7ff)}
.waterfall-chart {
display: grid;
gap: var(--space-1);
margin-top: var(--space-3);
width: min(100%, 340px)}
.waterfall-chart svg {
max-height: 124px}
.waterfall-bar {
fill: rgba(0, 113, 227, 0.74)}
.waterfall-labels {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-1);
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700;
text-align: center}
.trend-list li,
.profit-parity-list li,
.bridge-list li,
.driver-list li,
.action-list li,
.quality-list li,
.data-list li {
display: grid;
gap: var(--space-1);
min-height: 62px;
padding: var(--space-2);
border: 1px solid var(--line);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.trend-list li,
.profit-parity-list li,
.bridge-list li,
.driver-list li,
.quality-list li,
.data-list li {
grid-template-columns: 1fr auto;
align-items: center}
.trend-list code,
.profit-parity-list code,
.bridge-list code,
.driver-list code,
.quality-list code,
.data-list code {
grid-column: 1 / -1}
.trend-list strong,
.profit-parity-list strong,
.bridge-list strong,
.driver-list strong,
.quality-list strong,
.data-list strong {
color: var(--ink);
font-size: 1.04rem;
letter-spacing: 0}
.quality-list span,
.data-list span {
color: var(--ink);
font-weight: 700}
.quality-list code,
.data-list code {
color: var(--muted);
font-size: 0.78rem;
overflow-wrap: anywhere}
.data-list strong {
max-width: 100%;
text-align: right;
overflow-wrap: anywhere}
.action-list span {
color: var(--ink);
font-weight: 700}
.profit-parity-list small,
.action-list small {
color: var(--muted);
font-size: 0.78rem;
line-height: 1.3}
.profit-ranking-card h3 {
margin: var(--space-3) 0 var(--space-1);
font-size: 0.9rem}
.profit-ranking-table td:first-child code {
display: block;
margin-top: 4px;
color: var(--muted);
font-size: 0.72rem}
.action-center-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: var(--space-2)}
.action-center-head .export-button {
flex: 0 0 auto;
margin-top: 0}
.action-table td,
.action-table th {
vertical-align: top}
.action-table,
.profit-ranking-table {
table-layout: fixed}
.action-table th,
.action-table td,
.profit-ranking-table th,
.profit-ranking-table td {
overflow-wrap: anywhere}
.action-table code {
display: block;
margin-top: 4px;
color: var(--muted);
font-size: 0.72rem}
.market-sort {
display: flex;
flex-wrap: wrap;
gap: var(--space-1);
margin-top: var(--space-3)}
.market-sort button {
min-height: 30px;
padding: 0 var(--space-2);
border: 1px solid var(--line);
border-radius: 999px;
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-size: 0.82rem;
font-weight: 700;
cursor: pointer}
.market-card h3 {
margin: var(--space-3) 0 var(--space-2);
font-size: 0.88rem;
line-height: 1.2;
letter-spacing: 0}
.product-card h3 {
margin: var(--space-3) 0 var(--space-2);
font-size: 0.88rem;
line-height: 1.2;
letter-spacing: 0}
.market-table {
width: 100%;
border-collapse: collapse;
margin-top: var(--space-2);
font-size: 0.88rem}
.market-table th,
.market-table td {
padding: 10px 8px;
border-bottom: 1px solid var(--line);
text-align: right;
vertical-align: top}
.market-table th:first-child,
.market-table td:first-child {
text-align: left}
.market-table th {
color: var(--muted);
font-size: 0.78rem;
font-weight: 700}
.market-table td {
color: var(--ink)}
.market-disclosure {
margin-top: var(--space-3)}
.market-disclosure .market-table {
margin: 0}
.channel-parity-disclosure,
.category-parity-disclosure,
.brand-parity-disclosure,
.sku-parity-disclosure,
.refund-parity-disclosure {
grid-column: 1 / -1}
.channel-parity-grid,
.category-parity-grid,
.brand-parity-grid,
.sku-parity-grid,
.refund-parity-grid {
display: grid;
gap: var(--space-3);
padding: 0 var(--space-3) var(--space-3)}
.market-disclosure[open],
.sku-parity-disclosure[open],
.refund-parity-disclosure[open] {
border-color: var(--blue-border)}
.market-disclosure[open] > summary,
.sku-parity-disclosure[open] > summary,
.refund-parity-disclosure[open] > summary {
color: var(--ink);
background: linear-gradient(180deg, rgba(0, 113, 227, 0.08), rgba(255, 255, 255, 0))}
.channel-parity-panel,
.category-parity-panel,
.brand-parity-panel,
.sku-parity-panel,
.refund-parity-panel {
overflow-x: auto;
padding: var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.64)}
.channel-parity-panel h3,
.channel-matrix h3,
.category-parity-panel h3,
.brand-parity-panel h3,
.brand-matrix h3,
.sku-parity-panel h3,
.refund-parity-panel h3 {
margin: var(--space-3) 0 var(--space-1);
font-size: 0.9rem}
.channel-parity-panel p,
.channel-matrix p,
.category-parity-panel p,
.brand-parity-panel p,
.brand-matrix p,
.sku-parity-panel p,
.sku-pareto-section p,
.refund-parity-panel p,
.refund-trend-section p {
margin: 0 0 var(--space-2);
color: var(--muted);
font-size: 0.8rem}
.heatmap-legend {
display: inline-grid;
grid-template-columns: auto minmax(86px, 120px) auto auto;
align-items: center;
gap: 6px;
margin: 0 0 var(--space-2);
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.heatmap-legend i {
display: block;
height: 8px;
border-radius: var(--radius-pill);
background: linear-gradient(90deg, rgba(0, 113, 227, 0.08), rgba(0, 113, 227, 0.72))}
.heatmap-cell {
background:
  linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.42)),
  rgba(0, 113, 227, calc(0.07 + (var(--heat-level, 0) * 0.34)));
box-shadow: inset 0 0 0 1px rgba(0, 113, 227, calc(0.07 + (var(--heat-level, 0) * 0.12)))}
.heatmap-viz {
min-width: 0}
.heatmap-viz-head {
display: flex;
align-items: end;
justify-content: space-between;
gap: var(--space-2);
margin-bottom: var(--space-2)}
.heatmap-viz-head h3 {
margin: 0 0 4px;
font-size: 0.95rem}
.heatmap-viz-head p {
margin: 0;
color: var(--muted);
font-size: var(--type-xs)}
.heatmap-grid-wrap {
overflow-x: auto;
padding: 2px 0 var(--space-1);
outline: none}
.heatmap-grid-wrap:focus-visible {
box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.14)}
.heatmap-grid {
display: grid;
grid-template-columns: minmax(132px, 1.2fr) repeat(var(--heatmap-data-columns), minmax(92px, 1fr));
gap: 7px;
min-width: max(760px, calc(var(--heatmap-columns) * 98px))}
.heatmap-axis,
.heatmap-row-heading,
.heatmap-grid-cell {
border-radius: var(--radius-button)}
.heatmap-axis {
min-height: 32px;
padding: 8px 10px;
color: var(--muted);
background: rgba(245, 245, 247, 0.82);
font-size: var(--type-xs);
font-weight: 800;
text-align: center}
.heatmap-corner,
.heatmap-row-heading {
position: sticky;
left: 0;
z-index: 1}
.heatmap-row-heading {
display: grid;
align-content: center;
min-height: 62px;
padding: 8px 10px;
border: 1px solid var(--line-soft);
background: rgba(255, 255, 255, 0.94)}
.heatmap-row-heading strong,
.heatmap-row-heading small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.heatmap-row-heading small {
color: var(--muted);
font-size: 0.68rem}
.heatmap-grid-cell {
min-height: 62px;
padding: 8px;
border: 1px solid rgba(0, 113, 227, calc(0.12 + (var(--heat-level, 0) * 0.16)));
color: var(--ink);
background:
  linear-gradient(180deg, rgba(255, 255, 255, calc(0.82 - (var(--heat-level, 0) * 0.38))), rgba(255, 255, 255, calc(0.68 - (var(--heat-level, 0) * 0.28)))),
  rgba(0, 113, 227, calc(0.1 + (var(--heat-level, 0) * 0.56)));
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.04);
font: inherit;
text-align: left}
button.heatmap-grid-cell {
cursor: pointer}
.heatmap-grid-cell strong,
.heatmap-grid-cell span {
display: block;
font-variant-numeric: tabular-nums}
.heatmap-grid-cell strong {
font-size: 0.92rem}
.heatmap-grid-cell span {
margin-top: 2px;
color: rgba(29, 29, 31, 0.68);
font-size: 0.74rem}
.heatmap-grid-cell:hover,
.heatmap-grid-cell:focus-visible {
transform: translateY(-1px);
border-color: var(--apple-blue);
box-shadow: inset 0 0 0 1px rgba(0, 113, 227, 0.18), 0 8px 22px rgba(0, 113, 227, 0.12)}
.chart-data-fallback {
margin-top: var(--space-2)}
.series-chart-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: var(--space-2);
margin: var(--space-2) 0}
.series-chart-card {
min-width: 0;
padding: var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.series-chart-card h5 {
margin: 0 0 var(--space-1);
color: var(--muted);
font-size: var(--type-xs);
letter-spacing: 0}
.quadrant-chart {
margin: var(--space-2) 0;
padding: var(--space-2);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.channel-quality-table code,
.channel-matrix-table code,
.category-heatmap-table code,
.category-quadrant-table code,
.category-trend-table code,
.category-risk-table code,
.tier-overview-table code,
.brand-matrix-table code,
.tier-price-band-table code,
.sku-quadrant-table code,
.sku-pareto-table code,
.sku-health-label-table code,
.sku-risk-table code,
.refund-trend-table code,
.refund-risk-matrix-table code,
.refund-source-table code,
.quality-issue-table code {
display: block;
margin-top: 4px;
color: var(--muted);
font-size: 0.7rem;
line-height: 1.25}
.channel-matrix-table strong,
.channel-matrix-table span,
.category-heatmap-table strong,
.category-heatmap-table span,
.brand-matrix-table strong,
.brand-matrix-table span,
.tier-price-band-table strong,
.tier-price-band-table span,
.refund-risk-matrix-table strong,
.refund-risk-matrix-table span {
display: block}
.channel-matrix-table span,
.category-heatmap-table span,
.brand-matrix-table span,
.tier-price-band-table span,
.refund-risk-matrix-table span {
margin-top: 2px;
color: var(--muted);
font-size: 0.78rem}
.channel-suggestion-list em,
.category-suggestion-list em,
.brand-risk-opportunity-list em,
.refund-suggestion-list em {
display: block;
margin-top: 4px;
color: var(--muted);
font-style: normal;
line-height: 1.35}
.category-trend-section + .category-trend-section {
margin-top: var(--space-3)}
.category-trend-section h4,
.sku-pareto-section h4,
.refund-trend-section h4,
.refund-estimate-card h4 {
margin: var(--space-2) 0 0;
font-size: 0.85rem}
.sku-pareto-section + .sku-pareto-section {
margin-top: var(--space-3)}
.refund-estimate-card {
padding: var(--space-3);
border: 1px solid var(--apple-blue);
border-radius: var(--radius-card);
background: rgba(0, 113, 227, 0.08)}
.refund-estimate-card strong {
display: block;
margin-top: var(--space-2);
color: var(--apple-blue);
font-size: 1.05rem}
.refund-estimate-card small,
.refund-estimate-card code {
display: block;
margin-top: 4px;
color: var(--muted)}
.market-empty {
margin-top: var(--space-3)}
.disclosure-panel {
border: 1px solid var(--line);
border-radius: var(--radius-card);
background: var(--surface)}
.disclosure-panel summary {
display: flex;
min-height: 44px;
align-items: center;
justify-content: space-between;
gap: var(--space-2);
padding: 0 var(--space-3);
color: var(--ink);
font-weight: 700;
cursor: pointer}
.disclosure-panel summary::after {
content: "+";
color: var(--muted);
font-weight: 700}
.disclosure-panel[open] summary {
border-bottom: 1px solid var(--line)}
.disclosure-panel[open] summary::after {
content: "-"}
.trend-disclosure {
background: var(--surface-soft)}
.trend-list.is-disclosed {
padding: var(--space-2);
margin: 0}
.export-button {
display: inline-flex;
align-items: center;
margin: var(--space-3) 0 var(--space-2);
color: #ffffff;
background: var(--apple-blue)}
.export-button:hover,
.export-button:focus-visible {
background: var(--apple-blue-hover)}
.label-strip {
margin-top: var(--space-3);
padding: 0}
.label-strip ul,
.error-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-2);
padding: var(--space-3);
margin: 0;
list-style: none}
.label-strip li,
.error-list li {
display: flex;
min-height: 44px;
align-items: center;
justify-content: space-between;
gap: var(--space-2);
padding: var(--space-2);
border: 1px solid var(--line);
border-radius: var(--radius-card);
background: var(--surface-soft)}
code {
color: var(--apple-blue);
font-family: var(--font-mono);
font-size: 0.86rem;
line-height: 1.35;
overflow-wrap: anywhere}
.error-panel {
border-color: rgba(180, 35, 24, 0.24);
background: #fffafa}
@media (max-width: 780px) {
.shell {
  width: min(calc(100vw - 24px), var(--shell-max-width));
  padding-top: var(--space-2)}
.shell-header,
.status-panel {
  padding: var(--space-3)}
.shell-header {
  top: var(--space-1);
  padding: var(--space-3)}
.shell-header-top {
  grid-template-columns: 1fr;
  gap: var(--space-2)}
.module-nav {
  min-width: 0}
.module-nav-group-label {
  display: none}
.command-grid,
.action-center-grid,
.profit-grid,
.export-grid,
.market-grid,
.product-grid,
.data-management-grid,
.return-kpi-grid,
.filter-grid,
.kpi-grid,
.label-strip ul,
.error-list {
  grid-template-columns: 1fr}
.command-summary-card,
.summary-metric-grid {
  grid-template-columns: 1fr}
.trend-chart-stage,
.series-line-chart,
.quadrant-chart,
.waterfall-chart,
.metric-mini-chart {
  max-width: 100%}}
.period-context-bar {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
margin-top: var(--space-3);
padding: 12px 14px;
border: 1px solid var(--p10-card-border, var(--line-soft));
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.76);
box-shadow: 0 1px 2px rgba(45, 34, 18, 0.035)}
.period-context-bar > span:not(.period-status) {
display: grid;
gap: 2px;
padding-right: 12px;
border-right: 1px solid var(--line-soft)}
.period-context-bar small {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.period-context-bar strong {
color: var(--ink);
font-size: var(--type-sm);
font-variant-numeric: tabular-nums}
.period-status {
padding: 6px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs);
font-weight: 800}
.period-status.is-partial {
border-color: rgba(138, 101, 0, 0.24);
color: var(--warning);
background: var(--warning-soft)}
.period-status.is-complete,
.period-status.is-comparison {
border-color: rgba(0, 122, 61, 0.2);
color: var(--success);
background: var(--success-soft)}
.kpi-card.has-comparison {
display: flex;
flex-direction: column;
min-height: 172px}
.kpi-comparison {
display: grid;
gap: 2px;
margin-top: 4px}
.kpi-comparison span {
color: var(--muted);
font-size: var(--type-sm);
font-weight: 800;
font-variant-numeric: tabular-nums}
.kpi-comparison small {
color: var(--muted);
font-size: var(--type-xs)}
.kpi-comparison.is-positive span {
color: var(--success)}
.kpi-comparison.is-negative span {
color: var(--danger)}
.action-drilldown,
.share-view-button {
border: 0;
color: var(--brand-gold-ink, var(--apple-blue));
background: transparent;
font-family: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.action-drilldown::after {
margin-left: 4px;
content: "→"}
.action-drilldown:hover,
.share-view-button:hover {
color: var(--apple-blue-hover);
text-decoration: underline;
text-underline-offset: 3px}
.decision-summary-list {
display: grid;
gap: 8px;
padding: 0;
margin: 0;
list-style: none}
.decision-summary-list li {
display: flex;
gap: 12px;
align-items: center;
justify-content: space-between;
min-height: 42px;
padding: 8px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.72)}
.decision-summary-list span {
color: var(--muted);
font-size: var(--type-sm);
font-weight: 700}
.decision-summary-list strong {
color: var(--ink);
font-size: var(--type-sm);
font-variant-numeric: tabular-nums}
.decision-summary-list .is-positive strong {
color: var(--success)}
.decision-summary-list .is-negative strong {
color: var(--danger)}
.action-list li {
grid-template-columns: minmax(0, 1fr) auto;
align-items: center}
.action-item-copy {
display: grid;
gap: 4px;
min-width: 0}
.action-item-copy > span {
overflow-wrap: anywhere}
.action-drilldown {
min-height: 32px;
padding: 4px 0 4px 8px;
white-space: nowrap}
.action-center-disclosure {
margin-top: var(--space-3)}
.action-center-disclosure > .action-center-grid {
margin: var(--space-3) 0 0}
.action-center-grid > .action-center-card:only-child {
grid-column: 1 / -1;
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
min-height: 0;
align-items: center}
.action-center-grid > .action-center-card:only-child h2,
.action-center-grid > .action-center-card:only-child p {
grid-column: 1}
.action-center-grid > .action-center-card:only-child .export-button {
grid-column: 2;
grid-row: 1 / span 2;
margin-left: var(--space-3)}
.compact-filter-actions {
display: inline-flex;
gap: 8px;
align-items: center;
margin-left: auto}
.share-view-button {
min-height: 28px;
padding: 0 8px;
border: 1px solid rgba(200, 147, 47, 0.24);
border-radius: var(--radius-pill);
background: rgba(200, 147, 47, 0.08)}
.share-view-button[data-share-state="copied"] {
border-color: rgba(0, 122, 61, 0.24);
color: var(--success);
background: var(--success-soft)}
@media (max-width: 780px) {
.shell-header-top {
  grid-template-columns: minmax(0, 1fr)}
.shell-meta {
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  max-width: 100%;
  text-align: left;
  white-space: normal}
.period-context-bar {
  display: grid;
  grid-template-columns: 1fr 1fr}
.period-context-bar > span:not(.period-status) {
  padding-right: 0;
  border-right: 0}
.period-status {
  text-align: center}
.kpi-card.has-comparison {
  min-height: 158px}
.kpi-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.action-drilldown,
.share-view-button {
  min-height: 44px}
.action-list li {
  grid-template-columns: minmax(0, 1fr)}
.action-center-grid > .action-center-card:only-child {
  grid-template-columns: minmax(0, 1fr)}
.action-center-grid > .action-center-card:only-child .export-button {
  grid-column: 1;
  grid-row: auto;
  width: 100%;
  min-height: 44px;
  margin: var(--space-2) 0 0}
.action-drilldown {
  width: 100%;
  padding-left: 0;
  text-align: left}
.compact-filter-bar {
  flex-wrap: wrap}
.compact-filter-actions {
  width: 100%;
  margin-left: 0}
.share-view-button,
.compact-filter-actions .compact-filter-reset {
  flex: 1}}
@media (min-width: 781px) and (max-width: 1100px) {
.kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr))}
.profit-grid,
.action-center-grid,
.export-grid,
.market-grid,
.product-grid,
.data-management-grid,
.return-kpi-grid,
.filter-grid {
  grid-template-columns: 1fr}
.command-summary-card {
  grid-template-columns: 1fr}
.summary-metric-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
  scroll-behavior: auto !important;
  transition-duration: 0.01ms !important;
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important}
.shell-header,
.shell-header h1,
.module-nav button,
.export-button,
.sparkline-point circle {
  transition: none !important}}
html {
background: var(--page)}
body {
font-variant-numeric: tabular-nums;
background: linear-gradient(180deg, #f9f9fb 0%, var(--page) 44%, #f2f3f5 100%)}
.shell {
width: min(var(--shell-max-width), calc(100vw - 48px));
padding: var(--space-4) 0 var(--space-5)}
.shell-header,
.status-panel {
border-color: var(--line-soft);
border-radius: var(--radius-panel);
background: var(--header)}
.shell-header {
gap: var(--space-2);
padding: var(--space-3) var(--space-4);
box-shadow: var(--shadow-header), 0 12px 32px rgba(0, 0, 0, 0.05)}
.shell-header-top {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: var(--space-3)}
.shell-title-stack {
min-width: 0}
.shell-meta {
display: inline-flex;
flex-direction: column;
align-items: flex-end;
gap: 5px;
max-width: 260px;
color: var(--muted);
font-size: var(--type-xs);
font-weight: 800;
line-height: 1.2;
text-align: right;
white-space: nowrap}
.shell-meta span {
display: inline-flex;
align-items: center;
min-height: 24px;
padding: 0 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
background: rgba(255, 255, 255, 0.68)}
.shell-version {
color: var(--apple-blue);
border-color: rgba(0, 113, 227, 0.18);
background: rgba(0, 113, 227, 0.07)}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {}
.eyebrow {
margin-bottom: var(--space-1);
color: var(--apple-blue);
font-size: var(--type-xs);
letter-spacing: 0}
h1 {
max-width: 100%;
font-size: var(--type-display);
line-height: 1.08}
h2 {
color: var(--ink);
font-size: var(--type-title);
line-height: 1.22}
.status-pill,
.compact-filter-reset,
.filter-reset {
border-color: var(--blue-border);
border-radius: var(--radius-pill);
background: var(--blue-soft)}
.module-nav-shell {
gap: 4px;
padding: 4px;
border-color: var(--line-soft);
background: rgba(245, 245, 247, 0.92);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7)}
.module-nav button,
.export-button,
.market-sort button,
.filter-reset {
min-height: var(--control-height);
border-radius: var(--radius-pill);
transition: background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast)}
.module-nav button:hover,
.module-nav button:focus-visible,
.market-sort button:hover,
.market-sort button:focus-visible {
background: rgba(29, 29, 31, 0.06)}
.module-nav button.is-active,
.market-sort button.is-active {
color: #ffffff;
border-color: var(--ink);
background: var(--ink);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 6px 16px rgba(0, 0, 0, 0.12)}
.shell-header.is-compact .shell-meta {
font-size: 0.72rem}
.shell-header.is-compact .shell-meta span {
min-height: 22px;
padding: 0 8px}
.compact-filter-bar {
gap: var(--space-1);
color: var(--muted);
font-size: var(--type-sm)}
.filter-panel,
.disclosure-panel {
border-color: var(--line-soft);
border-radius: var(--radius-panel);
background: var(--surface);
box-shadow: var(--shadow-card);
overflow: visible}
.filter-panel > summary,
.disclosure-panel summary {
min-height: 46px;
border-radius: var(--radius-panel) var(--radius-panel) 0 0}
.filter-control {
gap: var(--space-1);
font-size: var(--type-sm)}
.filter-control select,
.filter-control input {
min-height: var(--control-height);
border-color: var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025)}
.kpi-grid,
.command-grid,
.action-center-grid,
.profit-grid,
.export-grid,
.market-grid,
.product-grid,
.data-management-grid {
gap: var(--space-3)}
.kpi-card,
.command-card,
.label-strip,
.refund-estimate-card {
border-color: var(--line-soft);
border-radius: var(--radius-panel);
background: var(--surface);
box-shadow: var(--shadow-card)}
.kpi-card,
.command-card {
position: relative;
overflow: hidden}
.command-card {
min-height: 236px;
padding: var(--space-3)}
.kpi-card {
min-height: 118px;
padding: var(--space-3)}
.kpi-card::before,
.command-card::before {
position: absolute;
inset: 0 0 auto;
height: 1px;
background: rgba(255, 255, 255, 0.8);
content: "";
pointer-events: none}
.kpi-card:hover,
.command-card:hover {
box-shadow: var(--shadow-card-hover)}
.kpi-label,
.command-card p,
.market-empty {
color: var(--muted);
font-size: var(--type-sm)}
.kpi-card strong,
.trend-list strong,
.profit-parity-list strong,
.bridge-list strong,
.driver-list strong,
.quality-list strong,
.data-list strong,
.metric-mini-chart-row strong,
.refund-estimate-card strong {
font-variant-numeric: tabular-nums;
letter-spacing: 0}
.kpi-card strong {
font-size: 1.32rem;
line-height: 1.12}
.trend-card,
.bridge-card,
.export-card,
.profit-comparison-card,
.profit-change-card,
.action-center-table-card {
border-top-color: var(--apple-blue)}
.action-card,
.driver-card,
.quality-card {
border-top-color: var(--warning)}
.flag-card,
.advice-card,
.risk-card,
.profit-anomaly-card,
.data-source-card {
border-top-color: var(--danger)}
.opportunity-card,
.profit-ranking-card,
.market-card,
.data-version-card {
border-top-color: var(--success)}
.lazy-card {
background: linear-gradient(180deg, var(--surface), var(--surface-soft))}
.lazy-card[data-lazy-state="blocked"],
.error-panel {
border-color: var(--danger-border);
background: #fffafa}
.trend-list li,
.profit-parity-list li,
.bridge-list li,
.driver-list li,
.action-list li,
.quality-list li,
.data-list li,
.label-strip li,
.error-list li {
border-color: var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.sparkline-line {
stroke-width: 3}
.sparkline-point circle {
transition: fill var(--motion-fast), r var(--motion-fast), stroke-width var(--motion-fast)}
.metric-mini-chart-row i {
background: linear-gradient(90deg, var(--apple-blue), #46a7ff);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42)}
.action-center-table-card,
.export-preview-card,
.channel-parity-panel,
.category-parity-panel,
.brand-parity-panel,
.sku-parity-panel,
.refund-parity-panel {
overflow-x: auto}
.market-card,
.product-card,
.quality-card,
.data-card {
min-width: 0;
overflow-x: clip}
.market-table {
border-collapse: separate;
border-spacing: 0;
font-size: var(--type-body);
font-variant-numeric: tabular-nums;
table-layout: fixed}
.market-table th,
.market-table td {
padding: var(--table-cell-y) var(--table-cell-x);
border-bottom: 1px solid var(--line-soft);
overflow-wrap: anywhere}
.market-table th {
position: sticky;
top: 0;
z-index: 1;
color: var(--muted);
background: var(--surface);
box-shadow: 0 1px 0 var(--line-soft)}
.market-table tbody tr:nth-child(even) td {
background: rgba(245, 245, 247, 0.56)}
.market-table tbody tr:hover td {
background: rgba(0, 113, 227, 0.055)}
.market-table tbody tr td.heatmap-cell,
.market-table tbody tr:nth-child(even) td.heatmap-cell,
.market-table tbody tr:hover td.heatmap-cell {
background:
  linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.42)),
  rgba(0, 113, 227, calc(0.07 + (var(--heat-level, 0) * 0.34)))}
.market-table td,
.market-table strong,
.market-table span {
font-variant-numeric: tabular-nums}
.market-table code {
color: var(--muted);
font-size: var(--type-xs)}
.channel-matrix-table th,
.channel-matrix-table td,
.category-heatmap-table th,
.category-heatmap-table td,
.category-trend-table th,
.category-trend-table td,
.brand-matrix-table th,
.brand-matrix-table td,
.tier-price-band-table th,
.tier-price-band-table td,
.sku-pareto-table th,
.sku-pareto-table td,
.refund-risk-matrix-table th,
.refund-risk-matrix-table td {
min-width: 156px}
.channel-matrix-table td:first-child,
.channel-matrix-table th:first-child,
.category-heatmap-table td:first-child,
.category-heatmap-table th:first-child,
.category-trend-table td:first-child,
.category-trend-table th:first-child,
.brand-matrix-table td:first-child,
.brand-matrix-table th:first-child,
.tier-price-band-table td:first-child,
.tier-price-band-table th:first-child,
.sku-pareto-table td:first-child,
.sku-pareto-table th:first-child,
.refund-risk-matrix-table td:first-child,
.refund-risk-matrix-table th:first-child {
position: sticky;
left: 0;
z-index: 2;
min-width: 126px;
background: var(--surface)}
.matrix-empty {
color: var(--muted);
background: repeating-linear-gradient(135deg, var(--surface-soft), var(--surface-soft) 6px, #ffffff 6px, #ffffff 12px)}
.refund-estimate-card {
border-color: var(--blue-border);
background: var(--blue-soft)}
.export-button {
box-shadow: 0 1px 2px rgba(0, 113, 227, 0.18), 0 8px 22px rgba(0, 113, 227, 0.16)}
.export-button:hover,
.export-button:focus-visible {
box-shadow: 0 1px 2px rgba(0, 113, 227, 0.22), 0 10px 26px rgba(0, 113, 227, 0.2)}
.filter-grid {
grid-template-columns:
  minmax(260px, 1.35fr)
  repeat(4, minmax(132px, 0.8fr))
  minmax(176px, 0.9fr)
  minmax(96px, auto);
align-items: end;
overflow-x: auto}
.filter-grid > * {
min-width: 0}
.filter-chip-control {
min-width: 132px}
[data-filter-panel-host],
[data-route-modules] {
display: contents}
.sku-detail-toolbar,
.sku-pagination,
.sku-pagination-actions {
display: flex;
align-items: center}
.sku-detail-toolbar,
.sku-pagination {
justify-content: space-between;
gap: var(--space-2)}
.sku-detail-toolbar {
flex-wrap: wrap;
margin-top: var(--space-2)}
.sku-detail-toolbar .market-sort {
margin-top: 0}
.sku-pagination {
margin: var(--space-2) 0;
color: var(--muted);
font-size: var(--type-sm);
font-weight: 800}
.sku-pagination-actions {
gap: var(--space-1)}
.sku-pagination button {
min-height: 32px;
padding: 0 var(--space-2);
border: 1px solid var(--line);
border-radius: var(--radius-pill);
color: var(--ink);
background: var(--surface);
font: inherit;
font-weight: 800;
cursor: pointer}
.sku-pagination button:disabled {
opacity: 0.42;
cursor: default}
@media (max-width: 720px) {
.sku-detail-toolbar,
.sku-pagination {
  align-items: stretch;
  flex-direction: column}
.sku-pagination-actions {
  justify-content: space-between}}
.filter-search {
min-width: 176px}
.filter-reset {
min-width: 96px;
white-space: nowrap}
.section-export-container {
position: relative;
margin-top: var(--space-2)}
.section-export-toolbar {
display: flex;
align-items: center;
justify-content: flex-end;
gap: var(--space-1);
margin-bottom: 6px}
.section-export-toolbar span {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.section-export-button {
min-height: 28px;
padding: 0 10px;
border: 1px solid var(--blue-border);
border-radius: var(--radius-pill);
color: var(--apple-blue);
background: rgba(0, 113, 227, 0.08);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.section-export-button:hover,
.section-export-button:focus-visible {
border-color: var(--apple-blue);
color: #ffffff;
background: var(--apple-blue)}
code {
font-size: var(--type-sm)}
@media (max-width: 780px) {
h1 {
  font-size: 2rem}
.shell-header,
.status-panel,
.command-card,
.kpi-card {
  border-radius: var(--radius-card)}
.module-nav-shell {
  border-radius: var(--radius-card)}
.market-table {
  min-width: 0}
.channel-matrix-table,
.category-heatmap-table,
.category-trend-table,
.brand-matrix-table,
.tier-price-band-table,
.sku-pareto-table,
.refund-risk-matrix-table {
  min-width: 680px}
.kpi-card strong {
  font-size: 1.18rem}}
@media (min-width: 781px) and (max-width: 1100px) {
h1 {
  font-size: 2.35rem}
.market-table {
  min-width: 0}
.channel-matrix-table,
.category-heatmap-table,
.category-trend-table,
.brand-matrix-table,
.tier-price-band-table,
.sku-pareto-table,
.refund-risk-matrix-table {
  min-width: 760px}}
@media (prefers-reduced-motion: reduce) {
.kpi-card:hover,
.command-card:hover,
.export-button:hover,
.export-button:focus-visible {
  box-shadow: var(--shadow-card)}}
:root {
--brand-charcoal: #1c1c1c;
--brand-charcoal-soft: #2a2824;
--brand-gold: #c8932f;
--brand-gold-ink: #8c5f1d;
--brand-gold-hover: #704610;
--brand-cream: #f4f3f1;
--brand-cream-soft: #faf8f4;
--brand-card: #ffffff;
--brand-brown: #5d3a15;
--brand-warm-line: rgba(92, 68, 35, 0.16);
--brand-gold-soft: rgba(200, 147, 47, 0.14);
--brand-gold-border: rgba(200, 147, 47, 0.38);
--apple-blue: var(--brand-gold-ink);
--apple-blue-hover: var(--brand-gold-hover);
--page: var(--brand-cream);
--header: var(--brand-charcoal);
--surface: var(--brand-card);
--surface-soft: var(--brand-cream-soft);
--line: rgba(92, 68, 35, 0.18);
--line-strong: rgba(92, 68, 35, 0.28);
--line-soft: rgba(92, 68, 35, 0.12);
--blue-soft: var(--brand-gold-soft);
--blue-border: var(--brand-gold-border);
--glass: rgba(28, 28, 28, 0.92);
--shadow-card: 0 1px 2px rgba(45, 34, 18, 0.04), 0 15px 38px rgba(45, 34, 18, 0.08);
--shadow-card-hover: 0 2px 5px rgba(45, 34, 18, 0.07), 0 20px 46px rgba(45, 34, 18, 0.12);
--shadow-header: 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 48px rgba(28, 28, 28, 0.22);
--shadow-popover: 0 18px 54px rgba(45, 34, 18, 0.16), 0 2px 8px rgba(45, 34, 18, 0.08)}
:where(button, input, select, summary, [tabindex]):focus-visible {
outline-color: var(--brand-gold);
box-shadow: 0 0 0 4px rgba(200, 147, 47, 0.18)}
body {
background:
  radial-gradient(circle at 12% 0%, rgba(200, 147, 47, 0.08), rgba(200, 147, 47, 0) 30%),
  linear-gradient(180deg, #fbfaf7 0%, var(--brand-cream) 48%, #eeeae2 100%)}
.shell-header {
color: #ffffff;
border-color: rgba(255, 255, 255, 0.1);
background: var(--brand-charcoal);
box-shadow: var(--shadow-header)}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
.shell-header {
  background: rgba(28, 28, 28, 0.9);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%)}}
.shell-header h1,
.shell-header .compact-filter-bar span {
color: #ffffff}
.shell-header .eyebrow {
color: #f3d18f}
.shell-header .status-pill,
.shell-meta span {
color: #ffffff;
border-color: rgba(200, 147, 47, 0.42);
background: rgba(200, 147, 47, 0.14)}
.shell-meta {
color: rgba(255, 255, 255, 0.76)}
.shell-version {
color: #f3d18f}
.shell-snapshot {
color: #ffffff}
.module-nav-shell {
border-color: rgba(255, 255, 255, 0.12);
background: rgba(12, 12, 12, 0.38)}
.module-nav-group + .module-nav-group {
border-left-color: rgba(255, 255, 255, 0.14)}
.module-nav-group-label,
.shell-header .compact-filter-bar,
.shell-header .compact-filter-bar small {
color: rgba(255, 255, 255, 0.68)}
.module-nav button {
color: rgba(255, 255, 255, 0.82)}
.module-nav button:hover,
.module-nav button:focus-visible {
color: #ffffff;
background: rgba(255, 255, 255, 0.1)}
.module-nav button.is-active {
color: var(--brand-charcoal);
border-color: var(--brand-gold);
background: var(--brand-gold);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.28), 0 8px 22px rgba(200, 147, 47, 0.2)}
.kpi-card,
.command-card,
.label-strip,
.filter-panel,
.disclosure-panel,
.brand-parity-panel,
.channel-parity-panel,
.category-parity-panel,
.sku-parity-panel,
.refund-governance-panel,
.export-preview-card {
border-color: var(--brand-warm-line);
background: var(--surface);
box-shadow: var(--shadow-card)}
.command-summary-card {
background:
  linear-gradient(135deg, rgba(200, 147, 47, 0.13), rgba(255, 255, 255, 0) 42%),
  var(--surface)}
.kpi-card:hover,
.command-card:hover,
.brand-parity-panel:hover,
.channel-parity-panel:hover,
.category-parity-panel:hover,
.sku-parity-panel:hover,
.refund-governance-panel:hover {
box-shadow: var(--shadow-card-hover)}
.summary-signal-row span,
.summary-metric,
.trend-list li,
.profit-parity-list li,
.bridge-list li,
.driver-list li,
.action-list li,
.quality-list li,
.data-list li,
.market-table tbody tr:nth-child(even) td,
.market-table tbody tr:nth-child(even) th {
background: var(--brand-cream-soft)}
.status-pill,
.filter-chip-picker[open] summary,
.filter-chip.is-selected,
.filter-reset,
.compact-filter-reset,
.filter-button-row button:hover,
.filter-button-row button:focus-visible {
border-color: var(--brand-gold-border);
color: var(--brand-gold-ink);
background: var(--brand-gold-soft)}
.filter-chip.is-selected .filter-chip-check,
.month-cell.is-start,
.month-cell.is-end {
color: var(--brand-charcoal);
border-color: var(--brand-gold);
background: var(--brand-gold)}
.filter-chip:hover,
.filter-chip:focus-within,
.filter-chip-picker summary:hover,
.filter-chip-picker summary:focus-visible,
.month-cell:hover,
.month-cell:focus-visible {
border-color: var(--brand-gold-border);
background: var(--brand-gold-soft);
box-shadow: 0 0 0 3px rgba(200, 147, 47, 0.14)}
.export-button,
.action-center-head .export-button,
.section-export-button {
color: #ffffff;
border-color: var(--brand-charcoal);
border-radius: var(--radius-pill);
background: var(--brand-charcoal);
box-shadow: 0 1px 2px rgba(28, 28, 28, 0.18), 0 9px 24px rgba(28, 28, 28, 0.16)}
.export-button:hover,
.export-button:focus-visible,
.section-export-button:hover,
.section-export-button:focus-visible {
color: #ffffff;
border-color: #000000;
background: #000000;
box-shadow: 0 1px 2px rgba(28, 28, 28, 0.24), 0 12px 30px rgba(28, 28, 28, 0.22)}
.market-sort button {
border-color: var(--brand-warm-line);
color: var(--muted);
background: var(--brand-cream-soft)}
.market-sort button:hover,
.market-sort button:focus-visible {
border-color: var(--brand-gold-border);
color: var(--brand-gold-ink);
background: var(--brand-gold-soft)}
.market-sort button.is-active {
color: #ffffff;
border-color: var(--brand-charcoal);
background: var(--brand-charcoal)}
.kpi-card strong,
.summary-metric strong,
.sparkline-meta strong,
.market-table strong,
.brand-risk-opportunity-list em {
color: var(--ink)}
.sparkline-line,
.series-line {
stroke: var(--brand-gold)}
.sparkline-area {
fill: rgba(200, 147, 47, 0.18)}
.sparkline-point circle,
.quadrant-point,
.series-line-point {
fill: var(--brand-gold);
stroke: var(--surface)}
.sparkline-point circle:hover,
.sparkline-point circle:focus-visible,
.quadrant-point:hover,
.quadrant-point:focus-visible,
.series-line-point:hover,
.series-line-point:focus-visible {
fill: var(--brand-gold-hover)}
.quadrant-threshold {
stroke: rgba(200, 147, 47, 0.48)}
.quadrant-zone {
fill: rgba(200, 147, 47, 0.08)}
.quadrant-axis-label {
fill: var(--muted)}
.metric-mini-svg-bar,
.waterfall-bar {
fill: rgba(200, 147, 47, 0.82)}
.metric-mini-chart-row i,
.heatmap-legend i {
background: linear-gradient(90deg, #f5ead8, var(--brand-gold), var(--brand-brown))}
.waterfall-bar.is-subtractive {
fill: rgba(120, 74, 25, 0.56)}
.waterfall-bar.is-result {
fill: rgba(92, 58, 21, 0.72)}
.brand-parity-panel,
.channel-parity-panel,
.category-parity-panel,
.sku-parity-panel,
.refund-governance-panel {
background:
  linear-gradient(180deg, rgba(200, 147, 47, 0.08), rgba(255, 255, 255, 0) 52%),
  var(--surface)}
.heatmap-cell,
.market-table tbody tr td.heatmap-cell,
.market-table tbody tr:nth-child(even) td.heatmap-cell,
.market-table tbody tr:hover td.heatmap-cell {
background:
  linear-gradient(
    180deg,
    rgba(255, 252, 246, calc(0.86 - (var(--heat-level, 0) * 0.38))),
    rgba(244, 234, 216, calc(0.74 - (var(--heat-level, 0) * 0.24)))
  ),
  rgba(200, 147, 47, calc(0.12 + (var(--heat-level, 0) * 0.62)));
box-shadow: inset 0 0 0 1px rgba(92, 58, 21, calc(0.1 + (var(--heat-level, 0) * 0.18)))}
.heatmap-grid-cell {
border-color: rgba(92, 58, 21, calc(0.12 + (var(--heat-level, 0) * 0.16)));
background:
  linear-gradient(180deg, rgba(255, 252, 246, calc(0.82 - (var(--heat-level, 0) * 0.34))), rgba(244, 234, 216, calc(0.68 - (var(--heat-level, 0) * 0.24)))),
  rgba(200, 147, 47, calc(0.14 + (var(--heat-level, 0) * 0.6)))}
.heatmap-grid-cell:hover,
.heatmap-grid-cell:focus-visible {
border-color: var(--brand-gold);
box-shadow: inset 0 0 0 1px rgba(92, 58, 21, 0.22), 0 8px 22px rgba(92, 58, 21, 0.12)}
.month-cell.is-between {
border-color: rgba(200, 147, 47, 0.28);
color: var(--brand-gold-ink);
background: rgba(200, 147, 47, 0.14)}
.error-panel .eyebrow,
.error-list span {
color: var(--danger)}
@media (prefers-reduced-motion: reduce) {
.kpi-card:hover,
.command-card:hover,
.export-button:hover,
.export-button:focus-visible,
.section-export-button:hover,
.section-export-button:focus-visible {
  box-shadow: var(--shadow-card)}}
:root {
--p10-soft-border: rgba(92, 68, 35, 0.1);
--p10-card-border: rgba(92, 68, 35, 0.14)}
.filter-panel,
.filter-panel[open],
.month-range-picker,
.filter-chip-picker {
overflow: visible}
.filter-panel {
position: relative;
z-index: 24;
border-color: var(--p10-card-border)}
.filter-panel[open] {
z-index: 80}
.filter-grid {
isolation: isolate;
overflow: visible}
.month-range-control,
.filter-chip-control,
.filter-search {
position: relative}
.month-range-picker[open],
.filter-chip-picker[open],
.filter-search:focus-within {
z-index: 120}
.month-calendar-panel,
.filter-chip-popover {
z-index: 220;
border-color: rgba(200, 147, 47, 0.24)}
.kpi-card,
.command-card,
.summary-metric,
.summary-signal-row span,
.filter-panel,
.disclosure-panel,
.market-table,
.sku-parity-panel,
.refund-parity-panel,
.brand-parity-panel,
.channel-parity-panel,
.category-parity-panel,
.export-preview-card,
.refund-estimate-card {
border-color: var(--p10-card-border)}
.module-nav button.is-active,
.market-sort button.is-active {
border-color: transparent}
.command-card,
.summary-metric,
.kpi-card {
align-content: start}
.command-summary-card {
align-items: center}
.summary-copy {
align-self: center}
.summary-metric {
align-content: center}
.trend-list li,
.profit-parity-list li,
.bridge-list li,
.driver-list li,
.action-list li,
.quality-list li,
.data-list li {
align-items: center}
.filter-search {
align-self: stretch}
.filter-search input {
min-height: var(--control-height)}
.filter-search-suggestions {
position: absolute;
inset-inline: 0;
top: calc(100% + 8px);
z-index: 230;
display: grid;
max-height: min(320px, 46vh);
gap: 4px;
padding: var(--space-1);
border: 1px solid rgba(200, 147, 47, 0.24);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.98);
box-shadow: var(--shadow-popover)}
.filter-search:not(:focus-within) .filter-search-suggestions {
display: none}
.filter-search-suggestions.is-empty {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.filter-search-suggestions button {
min-height: 32px;
padding: 0 var(--space-1);
border: 0;
border-radius: var(--radius-button);
color: var(--ink);
background: transparent;
font: inherit;
font-size: var(--type-xs);
font-weight: 700;
text-align: left;
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.filter-search-suggestions button:hover,
.filter-search-suggestions button:focus-visible {
color: var(--brand-gold-ink);
background: var(--brand-gold-soft)}
.quadrant-chart {
position: relative}
.quadrant-note,
.chart-note {
margin: var(--space-1) 0 0;
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700;
line-height: 1.45}
.sku-parity-panel .quadrant-chart svg {
max-height: 210px}
.sku-parity-panel .quadrant-point {
opacity: 0.82}
.sku-parity-panel .quadrant-point:hover,
.sku-parity-panel .quadrant-point:focus-visible {
opacity: 1;
r: 6.5}
.metric-mini-chart,
[data-chart-primitive="metric-mini-bars"] {
display: none}
.driver-card .driver-list,
.profit-ranking-card .market-table,
.bridge-card .waterfall-chart {
margin-top: var(--space-2)}
.refund-trend-section .chart-note {
max-width: 560px}
.shell-header.is-compact {
gap: 5px;
padding: 6px var(--space-2);
border-radius: 14px}
.shell-header.is-compact .shell-header-top {
grid-template-columns: minmax(0, 1fr);
gap: 0}
.shell-header.is-compact h1 {
max-width: none;
margin-bottom: 0;
font-size: 1.02rem;
line-height: 1.12}
.shell-header.is-compact .eyebrow,
.shell-header.is-compact .status-pill,
.shell-header.is-compact .shell-meta,
.shell-header.is-compact .module-nav-group-label {
display: none}
.shell-header.is-compact .module-nav {
margin-top: 0}
.shell-header.is-compact .module-nav-shell {
padding: 3px}
.shell-header.is-compact .module-nav button {
min-height: 24px;
padding: 0 8px;
font-size: 0.76rem}
.shell-header.is-compact .compact-filter-bar {
padding-top: 0;
font-size: 0.72rem}
.shell-header.is-compact .compact-filter-bar small {
display: none}
.shell-header.is-compact .compact-filter-reset {
min-height: 22px;
padding: 0 8px;
font-size: 0.72rem}
.filter-chip-control,
.filter-chip-picker {
border: 0;
background: transparent;
box-shadow: none}
.filter-chip-picker summary {
border-color: rgba(200, 147, 47, 0.24);
border-radius: var(--radius-pill);
background: rgba(255, 252, 246, 0.74);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72)}
.filter-chip-picker[open] summary {
border-color: rgba(200, 147, 47, 0.42);
box-shadow: 0 0 0 3px rgba(200, 147, 47, 0.12)}
.contribution-table-disclosure {
margin-top: var(--space-2)}
.contribution-table-disclosure > summary {
color: var(--brand-gold-ink);
background: rgba(200, 147, 47, 0.08)}
.chart-value-label {
color: var(--ink);
fill: var(--ink);
font-size: 10px;
font-weight: 800;
letter-spacing: 0;
paint-order: stroke;
stroke: rgba(255, 255, 255, 0.9);
stroke-width: 3px;
stroke-linejoin: round}
.series-value-label,
.sparkline-value-label {
font-size: 9.5px}
.waterfall-value-label {
font-size: 10px}
.quadrant-point-label {
fill: var(--brand-brown);
font-size: 9.5px;
stroke-width: 2.4px}
.chart-axis-caption {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: var(--space-1);
margin-top: 2px;
color: var(--muted);
font-size: var(--type-xs);
font-weight: 800}
.sku-health-flow {
display: grid;
gap: var(--space-3)}
.sku-tier-overview-panel,
.sku-attention-panel,
.sku-detail-card {
grid-column: 1 / -1}
.sku-health-tier-table td:first-child {
min-width: 190px}
.sku-health-tier-table td:first-child strong {
display: block;
color: var(--brand-gold-ink)}
.sku-health-tier-table td:first-child small {
display: block;
margin-top: 3px;
color: var(--muted);
font-weight: 700;
line-height: 1.35}
.sku-health-tier-mobile {
display: none}
.sku-health-rule-note {
margin-top: var(--space-2);
padding: 10px 12px;
border-left: 3px solid var(--brand-gold);
border-radius: 0 var(--radius-button) var(--radius-button) 0;
color: var(--muted);
background: color-mix(in srgb, var(--brand-gold) 7%, var(--surface));
font-size: var(--type-xs);
line-height: 1.5}
.sku-health-rule-note > strong {
color: var(--ink)}
.sku-health-rule-note ul {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 3px 18px;
margin: 6px 0;
padding-left: 18px}
.sku-health-rule-note p {
margin: 6px 0 0}
[data-investigation-anchor],
[data-workflow-target],
.module-view {
scroll-margin-top: 190px}
.sku-attention-panel .sku-risk-table td:nth-child(4) {
color: var(--brand-brown);
font-weight: 800}
.sku-distribution-disclosure {
grid-column: 1 / -1}
.sku-distribution-panel {
margin-top: var(--space-2)}
.sku-distribution-panel .quadrant-chart svg {
max-height: 220px}
.refund-trend-section h4 {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: baseline}
@media (max-width: 780px) {
.page-section-nav {
  flex-wrap: nowrap;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin}
.page-section-nav > * {
  flex: 0 0 auto}
.profit-page-section.is-two-column {
  grid-template-columns: minmax(0, 1fr)}
.sku-task-navigation {
  top: 4px;
  padding: 5px}
.filter-grid > *,
.month-range-control,
.filter-chip-control,
.filter-search,
.filter-reset {
  width: 100%;
  min-width: 0}}
@media (max-width: 780px) {
.shell-header .shell-header-top {
  grid-template-columns: minmax(0, 1fr)}
.shell-header .shell-meta {
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  max-width: 100%;
  text-align: left;
  white-space: normal}}
.change-bridge-preview {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
gap: var(--space-2);
align-items: center;
padding: 10px 12px;
border: 1px solid rgba(200, 147, 47, 0.22);
border-radius: var(--radius-card);
background: rgba(200, 147, 47, 0.06)}
.change-bridge-preview > div {
display: grid;
gap: 3px;
min-width: 0}
.change-bridge-preview small,
.change-bridge-total small,
.change-bridge-component-copy small,
.change-bridge-method,
.change-bridge-disclaimer {
color: var(--muted);
font-size: var(--type-xs);
line-height: 1.4}
.change-bridge-preview strong {
color: var(--ink);
font-size: var(--type-sm);
font-variant-numeric: tabular-nums;
overflow-wrap: anywhere}
.profit-grid {
grid-template-columns: repeat(2, minmax(0, 1fr))}
.change-bridge-card {
min-width: 0;
min-height: 0;
border-top: 3px solid var(--brand-gold, var(--apple-blue))}
.change-bridge-card.is-unavailable {
border-top-color: var(--line-strong)}
.change-bridge-head {
display: flex;
gap: var(--space-2);
align-items: flex-start;
justify-content: space-between}
.change-bridge-head .eyebrow {
margin-bottom: 4px}
.change-bridge-head h2 {
margin-bottom: 0}
.change-bridge-total {
display: grid;
flex: 0 0 auto;
gap: 2px;
text-align: right}
.change-bridge-total strong {
font-size: 1.2rem;
font-variant-numeric: tabular-nums;
white-space: nowrap}
.change-bridge-total.is-positive strong {
color: var(--success)}
.change-bridge-total.is-negative strong {
color: var(--danger)}
.change-bridge-period {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
gap: 8px;
align-items: center;
margin-top: var(--space-2);
padding: 9px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft);
color: var(--ink);
font-size: var(--type-xs);
font-variant-numeric: tabular-nums;
font-weight: 800;
text-align: center}
.change-bridge-period span {
min-width: 0;
overflow-wrap: anywhere}
.change-bridge-period b {
color: var(--brand-gold-ink, var(--apple-blue))}
.change-bridge-list {
display: grid;
gap: 8px;
padding: 0;
margin: var(--space-3) 0 0;
list-style: none}
.change-bridge-list li {
display: grid;
grid-template-columns: minmax(150px, 0.9fr) minmax(120px, 1fr) auto;
gap: 10px;
align-items: center;
min-height: 58px;
padding: 9px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.74)}
.change-bridge-component-copy {
display: grid;
gap: 2px;
min-width: 0}
.change-bridge-component-copy > strong {
color: var(--ink);
font-size: var(--type-sm)}
.change-bridge-component-copy small {
overflow-wrap: anywhere}
.change-bridge-component-value {
color: var(--ink);
font-size: var(--type-sm);
font-variant-numeric: tabular-nums;
white-space: nowrap}
.change-bridge-list .is-positive .change-bridge-component-value {
color: var(--success)}
.change-bridge-list .is-negative .change-bridge-component-value {
color: var(--danger)}
.change-bridge-bar {
position: relative;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
min-width: 0;
height: 14px;
border-radius: var(--radius-pill);
background: rgba(134, 117, 96, 0.08)}
.change-bridge-bar::after {
position: absolute;
inset: 1px auto 1px 50%;
width: 1px;
background: var(--line-strong);
content: ""}
.change-bridge-bar i {
z-index: 1;
align-self: center;
width: var(--change-bridge-width);
height: 8px;
border-radius: var(--radius-pill)}
.change-bridge-list .is-positive .change-bridge-bar i {
grid-column: 2;
justify-self: start;
background: rgba(0, 122, 61, 0.66)}
.change-bridge-list .is-negative .change-bridge-bar i {
grid-column: 1;
justify-self: end;
background: rgba(180, 35, 24, 0.62)}
.change-bridge-list .is-neutral .change-bridge-bar i {
grid-column: 2;
justify-self: start;
background: var(--line-strong)}
.change-bridge-reconciliation {
display: flex;
gap: var(--space-2);
align-items: center;
justify-content: space-between;
margin-top: var(--space-3);
padding: 9px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs);
font-variant-numeric: tabular-nums}
.change-bridge-reconciliation strong {
flex: 0 0 auto}
.change-bridge-reconciliation.is-reconciled strong {
color: var(--success)}
.change-bridge-reconciliation.is-unreconciled strong {
color: var(--danger)}
.change-bridge-method {
margin-top: var(--space-2)}
.change-bridge-method strong {
color: var(--warning)}
.change-bridge-disclaimer {
margin-top: 4px;
font-style: italic}
.profit-anomaly-card {
grid-column: 1 / -1}
@media (max-width: 780px) {
.change-bridge-preview,
.profit-grid {
  grid-template-columns: minmax(0, 1fr)}
.change-bridge-preview .action-drilldown {
  width: 100%;
  min-height: 44px;
  padding-left: 0;
  text-align: left}
.change-bridge-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr)}
.change-bridge-total {
  text-align: left}
.change-bridge-period {
  grid-template-columns: minmax(0, 1fr)}
.change-bridge-period b {
  transform: rotate(90deg)}
.change-bridge-list li {
  grid-template-columns: minmax(0, 1fr) auto}
.change-bridge-component-copy {
  grid-column: 1 / -1}
.change-bridge-reconciliation {
  display: grid;
  grid-template-columns: minmax(0, 1fr)}}
.management-report-page {
display: grid;
gap: 18px;
margin-top: var(--space-3);
padding: 26px;
border: 1px solid var(--p10-card-border, var(--line-soft));
border-radius: 22px;
background:
  linear-gradient(180deg, rgba(200, 147, 47, 0.075), rgba(255, 255, 255, 0) 180px),
  var(--surface);
box-shadow: var(--shadow-card)}
.management-report-head,
.management-section-heading,
.management-bridge-head,
.management-report-caveats > div {
display: flex;
gap: var(--space-3);
align-items: flex-start;
justify-content: space-between}
.management-report-head h2 {
margin-bottom: 6px;
font-size: 2rem;
line-height: 1.08}
.management-report-head p,
.management-section-heading > p {
margin-bottom: 0;
color: var(--muted)}
.management-report-actions {
display: flex;
flex: 0 0 auto;
gap: 8px;
align-items: flex-start}
.management-report-more {
position: relative}
.management-report-more > summary {
display: inline-flex;
min-height: 38px;
align-items: center;
padding: 0 14px;
border: 1px solid var(--brand-gold-border, var(--line));
border-radius: var(--radius-pill);
color: var(--brand-gold-ink, var(--ink));
background: var(--brand-gold-soft, var(--surface-soft));
font-size: var(--type-sm);
font-weight: 800;
cursor: pointer;
list-style: none}
.management-report-more > summary::-webkit-details-marker {
display: none}
.management-report-more > div {
position: absolute;
z-index: 12;
top: calc(100% + 8px);
right: 0;
display: grid;
min-width: 170px;
gap: 6px;
padding: 8px;
border: 1px solid var(--line-soft);
border-radius: 14px;
background: var(--surface);
box-shadow: var(--shadow-card)}
.management-report-actions button {
min-height: 38px;
padding: 0 14px;
border: 1px solid var(--brand-gold-border, var(--line));
border-radius: var(--radius-pill);
color: var(--brand-gold-ink, var(--ink));
background: var(--brand-gold-soft, var(--surface-soft));
font: inherit;
font-size: var(--type-sm);
font-weight: 800;
cursor: pointer}
.management-report-actions > .is-primary {
color: #ffffff;
border-color: var(--brand-charcoal, var(--ink));
background: var(--brand-charcoal, var(--ink))}
.management-report-actions button:hover,
.management-report-actions button:focus-visible {
transform: translateY(-1px);
box-shadow: 0 7px 18px rgba(45, 34, 18, 0.12)}
.management-report-section {
display: grid;
gap: 12px;
padding-top: 18px;
border-top: 1px solid var(--p10-card-border, var(--line-soft))}
.management-section-heading {
align-items: end}
.management-section-heading .eyebrow {
margin-bottom: 4px}
.management-section-heading h2 {
margin-bottom: 0;
font-size: 1.18rem}
.management-section-heading > p {
max-width: 460px;
font-size: var(--type-xs);
text-align: right}
.management-summary-list,
.management-bridge-list,
.management-signal-grid ul,
.management-recommendation-list,
.management-question-list,
.management-report-caveats ul {
padding: 0;
margin: 0;
list-style: none}
.management-summary-list {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px}
.management-summary-list li {
position: relative;
display: grid;
min-height: 124px;
gap: 6px;
align-content: start;
padding: 14px 14px 14px 18px;
overflow: hidden;
border: 1px solid var(--p10-card-border, var(--line-soft));
border-radius: var(--radius-card);
background: var(--brand-cream-soft, var(--surface-soft))}
.management-summary-list li::before {
position: absolute;
inset: 0 auto 0 0;
width: 4px;
background: var(--line-strong);
content: ""}
.management-summary-list li.is-positive::before {
background: var(--success)}
.management-summary-list li.is-negative::before {
background: var(--danger)}
.management-summary-list small,
.management-bridge-head small {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 800}
.management-summary-list strong {
font-size: 1rem;
line-height: 1.3}
.management-summary-list span {
color: var(--muted);
font-size: var(--type-sm);
font-variant-numeric: tabular-nums;
line-height: 1.45}
.management-kpi-grid {
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 8px}
.management-kpi-grid .kpi-card {
min-height: 142px;
padding: 14px}
.management-kpi-grid .kpi-card > strong {
font-size: 1.15rem}
.management-bridge-grid,
.management-signal-grid,
.management-next-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px}
.management-bridge-panel,
.management-signal-grid > article,
.management-next-grid > div {
padding: 14px;
border: 1px solid var(--p10-card-border, var(--line-soft));
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.78)}
.management-bridge-panel.is-unavailable {
color: var(--muted);
background: var(--surface-soft)}
.management-bridge-head {
align-items: center}
.management-bridge-head h3,
.management-signal-grid h3,
.management-next-grid h3 {
margin: 2px 0 0;
font-size: var(--type-title)}
.management-bridge-head > strong {
flex: 0 0 auto;
font-size: 1.05rem;
font-variant-numeric: tabular-nums}
.management-bridge-head > strong.is-positive,
.management-bridge-list .is-positive strong {
color: var(--success)}
.management-bridge-head > strong.is-negative,
.management-bridge-list .is-negative strong {
color: var(--danger)}
.management-bridge-period {
margin: 10px 0 0;
color: var(--muted);
font-size: var(--type-xs);
font-variant-numeric: tabular-nums;
font-weight: 800}
.management-bridge-period b {
color: var(--brand-gold-ink, var(--ink))}
.management-bridge-list {
display: grid;
gap: 6px;
margin-top: 10px}
.management-bridge-list li {
display: grid;
grid-template-columns: minmax(86px, 0.72fr) minmax(84px, 1fr) auto;
gap: 8px;
align-items: center;
min-height: 34px;
font-size: var(--type-xs)}
.management-bridge-list li > span {
min-width: 0;
overflow-wrap: anywhere;
font-weight: 800}
.management-bridge-list li > i {
width: var(--management-bridge-width);
min-width: 2px;
max-width: 100%;
height: 7px;
border-radius: var(--radius-pill);
background: var(--line-strong)}
.management-bridge-list li.is-positive > i {
background: rgba(0, 122, 61, 0.66)}
.management-bridge-list li.is-negative > i {
justify-self: end;
background: rgba(180, 35, 24, 0.62)}
.management-bridge-list li > strong {
font-variant-numeric: tabular-nums;
white-space: nowrap}
.management-bridge-check {
display: flex;
gap: 8px;
justify-content: space-between;
margin: 10px 0 0;
padding-top: 8px;
border-top: 1px dashed var(--line-strong);
color: var(--muted);
font-size: var(--type-xs);
font-variant-numeric: tabular-nums}
.management-bridge-check strong {
flex: 0 0 auto;
color: var(--success)}
.management-signal-grid > article,
.management-next-grid > div {
display: grid;
gap: 10px;
align-content: start}
.management-signal-grid ul {
display: grid;
gap: 8px}
.management-signal-grid li {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px;
align-items: center;
min-height: 78px;
padding: 10px;
border: 1px solid var(--line-soft);
border-radius: 10px;
background: var(--brand-cream-soft, var(--surface-soft))}
.management-signal-copy {
display: grid;
gap: 3px;
min-width: 0}
.management-signal-copy > span {
font-size: var(--type-sm);
font-weight: 800}
.management-signal-copy > span b {
color: var(--danger)}
.management-signal-copy small,
.management-signal-copy p {
margin: 0;
color: var(--muted);
font-size: var(--type-xs);
line-height: 1.4}
.management-signal-copy p {
color: var(--ink)}
.management-recommendation-list,
.management-question-list {
display: grid;
gap: 8px}
.management-recommendation-list li {
display: grid;
grid-template-columns: minmax(110px, 0.38fr) minmax(0, 1fr);
gap: 8px;
color: var(--muted);
font-size: var(--type-xs);
line-height: 1.45}
.management-recommendation-list strong {
color: var(--ink)}
.management-question-list li {
position: relative;
padding-left: 14px;
color: var(--muted);
font-size: var(--type-xs);
line-height: 1.45}
.management-question-list li::before {
position: absolute;
left: 0;
color: var(--brand-gold-ink, var(--ink));
content: "?";
font-weight: 900}
.management-report-caveats {
display: grid;
gap: 8px;
padding: 12px 14px;
border-radius: var(--radius-card);
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs)}
.management-report-caveats > div {
align-items: center}
.management-report-caveats strong {
color: var(--ink)}
.management-report-caveats ul {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px}
.management-report-caveats li {
line-height: 1.4}
.filter-panel > summary {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: 14px;
align-items: center;
min-height: 58px;
padding: 9px 14px}
.filter-panel > summary::after {
display: none;
content: none}
.filter-panel-heading {
display: grid;
gap: 2px;
min-width: 108px}
.filter-panel-heading strong {
color: var(--ink);
font-size: var(--type-sm)}
.filter-panel-heading small {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.filter-panel-scope {
display: flex;
gap: 6px;
align-items: center;
min-width: 0;
overflow: hidden}
.filter-scope-item {
overflow: hidden;
max-width: 260px;
padding: 5px 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs);
font-weight: 750;
text-overflow: ellipsis;
white-space: nowrap}
.filter-scope-item.is-custom {
border-color: rgba(200, 147, 47, 0.3);
color: var(--brand-gold-ink);
background: var(--brand-gold-soft)}
.filter-panel-toggle {
display: inline-flex;
gap: 8px;
align-items: center;
color: var(--brand-gold-ink);
font-size: var(--type-xs);
font-weight: 850}
.filter-panel-toggle::after,
.filter-chip-picker summary::after {
width: 7px;
height: 7px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
content: "";
transform: rotate(45deg) translateY(-2px);
transition: transform 160ms ease}
.filter-panel[open] .filter-panel-toggle::after,
.filter-chip-picker[open] summary::after {
transform: rotate(225deg) translate(-1px, -1px)}
.filter-grid {
grid-template-columns: repeat(6, minmax(0, 1fr));
align-items: start;
padding-top: 14px}
.month-range-control {
grid-column: span 2;
min-width: 0}
.comparison-filter-control {
grid-column: span 2;
min-width: 0;
padding: 0;
margin: 0;
border: 0}
.comparison-filter-control legend {
padding: 0;
margin-bottom: var(--space-1)}
.comparison-mode-segments {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 3px;
padding: 3px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface-soft)}
.comparison-mode-segments button {
min-width: 0;
min-height: calc(var(--control-height) - 8px);
padding: 0 6px;
border: 0;
border-radius: calc(var(--radius-button) - 3px);
color: var(--muted);
background: transparent;
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.comparison-mode-segments button:hover,
.comparison-mode-segments button:focus-visible {
color: var(--ink);
background: rgba(255, 255, 255, 0.72)}
.comparison-mode-segments button.is-active {
color: #ffffff;
background: var(--brand-gold-ink);
box-shadow: 0 2px 8px rgba(92, 68, 35, 0.18)}
.comparison-custom-range {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
gap: 6px;
align-items: end;
margin-top: 6px}
.comparison-custom-range[hidden] {
display: none}
.comparison-custom-range label {
display: grid;
gap: 3px;
min-width: 0}
.comparison-custom-range label span,
.comparison-mode-hint {
color: var(--muted);
font-size: 0.68rem;
font-weight: 700}
.comparison-custom-range select {
min-width: 0}
.comparison-mode-hint {
line-height: 1.35}
.filter-search {
grid-column: span 3}
.filter-reset:disabled {
cursor: default;
opacity: 0.46}
.share-menu {
position: relative}
.shell-header.is-sharing {
z-index: 200}
.share-menu > summary {
display: inline-flex;
min-height: 30px;
gap: 6px;
align-items: center;
padding: 0 11px;
border: 1px solid rgba(200, 147, 47, 0.28);
border-radius: 999px;
color: var(--brand-gold-ink);
background: var(--brand-gold-soft);
font-size: var(--type-xs);
font-weight: 850;
list-style: none;
cursor: pointer}
.share-menu > summary::-webkit-details-marker {
display: none}
.share-menu > summary::after {
width: 6px;
height: 6px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
content: "";
transform: rotate(45deg) translateY(-2px)}
.share-menu[open] > summary::after {
transform: rotate(225deg) translate(-1px, -1px)}
.share-menu-popover {
position: absolute;
top: calc(100% + 7px);
right: 0;
z-index: 260;
display: grid;
width: 190px;
gap: 5px;
padding: 8px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.98);
box-shadow: var(--shadow-popover)}
.share-menu-popover button,
.cross-matrix-actions button {
min-height: 34px;
padding: 0 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.share-menu-popover button:hover,
.share-menu-popover button:focus-visible,
.cross-matrix-actions button:hover,
.cross-matrix-actions button:focus-visible {
color: var(--brand-gold-ink);
border-color: rgba(200, 147, 47, 0.36);
background: var(--brand-gold-soft)}
.share-menu-popover small {
padding: 3px 4px 1px;
color: var(--muted);
font-size: 0.64rem;
font-weight: 650;
line-height: 1.35}
.cross-analysis-grid {
display: grid;
gap: var(--space-3)}
.cross-analysis-header {
display: grid;
grid-template-columns: minmax(280px, 0.8fr) minmax(520px, 1.2fr);
min-height: 0;
gap: var(--space-4);
align-items: end}
.cross-analysis-header h2,
.cross-analysis-header p,
.cross-matrix-head h2,
.cross-matrix-head p {
margin: 0}
.cross-analysis-header > div:first-child,
.cross-matrix-head > div {
display: grid;
gap: 6px}
.cross-analysis-controls {
display: grid;
grid-template-columns: minmax(128px, 1fr) auto minmax(128px, 1fr);
gap: 8px;
align-items: end}
.cross-analysis-controls label {
display: grid;
gap: 5px;
color: var(--muted);
font-size: var(--type-xs);
font-weight: 800}
.cross-analysis-controls select,
.cross-transpose,
.cross-metric-segments button {
min-height: var(--control-height);
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-weight: 750}
.cross-analysis-controls select {
min-width: 0;
padding: 0 10px}
.cross-transpose,
.cross-metric-segments button {
cursor: pointer}
.cross-transpose {
padding: 0 12px;
color: var(--brand-gold-ink);
background: var(--brand-gold-soft)}
.cross-metric-segments {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 4px;
padding: 3px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface-soft)}
.cross-metric-segments button {
min-height: 34px;
border: 0;
background: transparent;
font-size: var(--type-xs)}
.cross-metric-segments button.is-active {
color: #ffffff;
background: var(--brand-gold-ink);
box-shadow: 0 2px 8px rgba(92, 68, 35, 0.16)}
.cross-highlight-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-2)}
.cross-highlight-card {
display: grid;
gap: 5px;
min-width: 0;
padding: 16px 18px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface);
box-shadow: var(--shadow-card)}
.cross-highlight-card small,
.cross-highlight-card span {
color: var(--muted);
font-size: var(--type-xs)}
.cross-highlight-card strong {
overflow: hidden;
color: var(--ink);
font-size: 1rem;
text-overflow: ellipsis;
white-space: nowrap}
.cross-highlight-card.is-positive {
border-left: 3px solid var(--success)}
.cross-highlight-card.is-negative {
border-left: 3px solid var(--danger)}
.cross-matrix-card {
min-width: 0;
padding: var(--space-3)}
.cross-matrix-head {
display: flex;
gap: var(--space-3);
align-items: flex-start;
justify-content: space-between;
margin-bottom: var(--space-2)}
.cross-reconciliation {
flex: 0 0 auto;
padding: 5px 9px;
border-radius: 999px;
color: var(--muted);
background: var(--surface-soft);
font-size: var(--type-xs);
font-weight: 800}
.cross-matrix-actions {
display: flex;
flex: 0 0 auto;
gap: 8px;
align-items: center}
.cross-matrix-actions button {
color: var(--brand-gold-ink)}
.cross-reconciliation.is-reconciled {
color: var(--success);
background: rgba(0, 122, 61, 0.08)}
.cross-reconciliation.is-unreconciled {
color: var(--danger);
background: rgba(185, 45, 38, 0.08)}
.cross-table-scroll {
max-width: 100%;
overflow: auto;
overscroll-behavior-inline: contain;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card)}
.cross-matrix-table {
width: 100%;
min-width: 760px;
border-collapse: separate;
border-spacing: 0;
font-size: var(--type-xs)}
.cross-matrix-table th,
.cross-matrix-table td {
min-width: 116px;
padding: 0;
border-right: 1px solid var(--line-soft);
border-bottom: 1px solid var(--line-soft);
text-align: right}
.cross-matrix-table th {
padding: 10px 9px;
color: var(--muted);
background: var(--surface-soft);
font-weight: 800}
.cross-matrix-table thead th {
position: sticky;
top: 0;
z-index: 2;
text-align: center}
.cross-matrix-table tbody th {
position: sticky;
left: 0;
z-index: 1;
min-width: 138px;
color: var(--ink);
text-align: left}
.cross-cell {
display: grid;
width: 100%;
min-height: 62px;
gap: 3px;
align-content: center;
justify-items: end;
padding: 9px;
border: 0;
color: var(--ink);
background: rgba(200, 147, 47, var(--cross-alpha, 0.06));
font: inherit;
text-align: right}
button.cross-cell {
cursor: pointer}
button.cross-cell:hover,
button.cross-cell:focus-visible {
position: relative;
z-index: 1;
outline: 2px solid rgba(150, 103, 20, 0.38);
outline-offset: -2px}
.cross-cell.is-positive {
background: rgba(0, 122, 61, var(--cross-alpha, 0.06))}
.cross-cell.is-negative {
background: rgba(185, 45, 38, var(--cross-alpha, 0.06))}
.cross-cell span,
.cross-total strong {
color: var(--ink);
font-size: 0.78rem;
letter-spacing: 0}
.cross-cell small {
color: var(--muted);
font-size: 0.64rem}
.cross-total {
padding: 9px !important;
background: var(--surface-soft)}
.cross-grand-total {
background: var(--brand-gold-soft)}
.cross-column-totals th,
.cross-column-totals td {
border-bottom: 0}
.cross-matrix-note {
margin: 10px 0 0;
color: var(--muted);
font-size: var(--type-xs)}
.contribution-analysis {
grid-column: 1 / -1;
padding: var(--space-3);
border: 1px solid var(--p10-card-border, var(--line-soft));
border-radius: var(--radius-panel);
background: var(--surface);
box-shadow: var(--shadow-card)}
.contribution-analysis.is-unavailable {
color: var(--muted)}
.contribution-section-head {
display: flex;
gap: var(--space-3);
align-items: flex-start;
justify-content: space-between}
.contribution-section-head h2,
.contribution-section-head p {
margin: 0}
.contribution-section-head > div > p:last-child,
.contribution-section-head > span {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 750}
.contribution-section-head > span {
padding: 6px 10px;
border: 1px solid rgba(0, 122, 61, 0.18);
border-radius: var(--radius-pill);
color: var(--success);
background: var(--success-soft);
white-space: nowrap}
.contribution-dimension-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--space-2);
margin-top: var(--space-3)}
.contribution-dimension-card {
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft);
overflow: hidden}
.contribution-dimension-card > summary {
display: flex;
gap: var(--space-2);
align-items: center;
justify-content: space-between;
min-height: 54px;
padding: 10px 12px;
cursor: pointer;
list-style: none}
.contribution-dimension-card > summary::-webkit-details-marker {
display: none}
.contribution-dimension-card > summary > span {
display: grid;
gap: 2px}
.contribution-dimension-card > summary strong {
color: var(--ink);
font-size: var(--type-sm)}
.contribution-dimension-card > summary small,
.contribution-dimension-card > summary b {
color: var(--muted);
font-size: var(--type-xs)}
.contribution-dimension-card > summary b {
color: var(--success)}
.contribution-dimension-card[open] > summary {
border-bottom: 1px solid var(--line-soft);
background: rgba(200, 147, 47, 0.07)}
.contribution-metric-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-2);
padding: var(--space-2)}
.contribution-metric-panel {
min-width: 0;
padding: 10px;
border-radius: var(--radius-card);
background: var(--surface)}
.contribution-metric-panel > header {
display: flex;
gap: 8px;
align-items: center;
justify-content: space-between;
padding-bottom: 8px;
border-bottom: 1px solid var(--line-soft)}
.contribution-metric-panel > header > div {
display: grid;
gap: 2px}
.contribution-metric-panel > header small,
.contribution-reconciliation,
.contribution-empty,
.contribution-method-note {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 700}
.contribution-metric-panel > header strong.is-positive,
.contribution-mover-list.is-positive .contribution-mover-value > strong {
color: var(--success)}
.contribution-metric-panel > header strong.is-negative,
.contribution-mover-list.is-negative .contribution-mover-value > strong {
color: var(--danger)}
.contribution-reconciliation {
padding: 4px 7px;
border-radius: var(--radius-pill);
white-space: nowrap}
.contribution-reconciliation.is-reconciled {
color: var(--success);
background: var(--success-soft)}
.contribution-mover-columns {
display: grid;
gap: 10px;
margin-top: 10px}
.contribution-mover-columns h4 {
margin: 0 0 5px;
color: var(--muted);
font-size: var(--type-xs)}
.contribution-mover-list {
display: grid;
gap: 5px;
padding: 0;
margin: 0;
list-style: none}
.contribution-drilldown {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 10px;
align-items: center;
width: 100%;
min-height: 46px;
padding: 7px 8px;
border: 1px solid transparent;
border-radius: var(--radius-button);
color: var(--ink);
background: transparent;
font: inherit;
text-align: left;
cursor: pointer}
.contribution-drilldown:hover,
.contribution-drilldown:focus-visible {
border-color: rgba(200, 147, 47, 0.24);
background: var(--brand-gold-soft)}
.contribution-drilldown > span {
display: grid;
gap: 2px;
min-width: 0}
.contribution-drilldown > span:first-child strong {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.contribution-drilldown small {
color: var(--muted);
font-size: 0.7rem;
font-weight: 650}
.contribution-mover-value {
text-align: right}
.contribution-method-note {
margin: var(--space-2) 0 0;
line-height: 1.45}
.management-contribution-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px}
.management-contribution-grid > article {
min-width: 0;
padding: 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.management-contribution-grid article > header {
display: flex;
align-items: baseline;
justify-content: space-between;
margin-bottom: 5px}
.management-contribution-grid header small {
color: var(--success);
font-size: 0.66rem;
font-weight: 750}
.management-contribution-grid article > div {
display: grid;
gap: 4px}
.management-contribution-item,
.management-contribution-grid .is-neutral {
display: grid;
gap: 2px;
min-width: 0;
padding: 5px 6px;
border: 0;
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
text-align: left}
.management-contribution-item {
cursor: pointer}
.management-contribution-item:hover,
.management-contribution-item:focus-visible {
background: var(--brand-gold-soft)}
.management-contribution-item small,
.management-contribution-grid .is-neutral small {
color: var(--muted);
font-size: 0.64rem}
.management-contribution-item strong,
.management-contribution-grid .is-neutral strong {
overflow: hidden;
font-size: 0.72rem;
text-overflow: ellipsis;
white-space: nowrap}
.management-contribution-item.is-positive strong {
color: var(--success)}
.management-contribution-item.is-negative strong {
color: var(--danger)}
.management-contribution-more {
margin-top: 8px}
@media (max-width: 960px) {
.filter-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.month-range-control,
.comparison-filter-control,
.filter-search,
.filter-reset {
  grid-column: span 2}
.contribution-dimension-grid,
.management-contribution-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.management-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr))}
.cross-analysis-header {
  grid-template-columns: minmax(0, 1fr);
  align-items: start}}
@media (max-width: 780px) {
.management-report-page {
  gap: 16px;
  padding: 18px;
  border-radius: var(--radius-card)}
.management-report-head,
.management-section-heading,
.management-report-caveats > div {
  display: grid}
.management-report-head h2 {
  font-size: 1.55rem}
.management-report-actions {
  display: flex;
  width: 100%;
  flex-wrap: wrap}
.management-report-actions button {
  min-height: 44px}
.management-report-actions > .is-primary {
  flex: 1}
.management-report-more > summary {
  min-height: 44px}
.management-report-more > div {
  right: auto;
  left: 0}
.management-section-heading > p {
  max-width: none;
  text-align: left}
.management-summary-list,
.management-bridge-grid,
.management-contribution-grid,
.management-signal-grid,
.management-next-grid,
.management-report-caveats ul {
  grid-template-columns: minmax(0, 1fr)}
.management-summary-list li {
  min-height: 0}
.management-kpi-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.management-signal-grid li,
.management-recommendation-list li {
  grid-template-columns: minmax(0, 1fr)}
.management-signal-grid .action-drilldown {
  width: 100%;
  padding-left: 0;
  text-align: left}
.filter-panel > summary {
  grid-template-columns: minmax(0, 1fr) auto}
.filter-panel-scope {
  grid-column: 1 / -1;
  grid-row: 2;
  overflow-x: auto;
  padding-bottom: 2px}
.filter-panel-toggle {
  grid-column: 2;
  grid-row: 1}
.filter-grid {
  grid-template-columns: minmax(0, 1fr)}
.month-range-control,
.comparison-filter-control,
.filter-search,
.filter-reset {
  grid-column: 1}
.contribution-section-head,
.contribution-metric-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr)}
.contribution-section-head > span {
  justify-self: start}
.cross-analysis-controls {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr)}
.cross-highlight-grid {
  grid-template-columns: minmax(0, 1fr)}
.cross-matrix-head {
  display: grid}
.cross-reconciliation {
  justify-self: start}
.cross-matrix-actions {
  justify-content: space-between}
.share-menu-popover {
  right: auto;
  left: 0}}
.shell-header {
gap: 7px;
padding: 10px 14px}
.shell-header-top {
align-items: center;
gap: 12px}
.shell-title-stack {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: 10px;
align-items: center}
.shell-header .shell-title-stack .eyebrow,
.shell-header .shell-title-stack h1,
.shell-header .shell-title-stack .status-pill {
margin: 0}
.shell-header .shell-title-stack h1 {
max-width: none;
overflow: hidden;
font-size: 1.32rem;
line-height: 1.12;
text-overflow: ellipsis;
white-space: nowrap}
.shell-header .shell-title-stack .eyebrow {
font-size: 0.68rem;
white-space: nowrap}
.shell-header .status-pill {
min-height: 24px;
padding: 0 8px;
font-size: 0.7rem;
white-space: nowrap}
.shell-meta {
flex-direction: row;
gap: 5px;
max-width: none}
.shell-meta span {
min-height: 22px;
padding: 0 7px}
.module-nav {
margin-top: 0}
.module-nav-shell {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
width: 100%;
min-width: 0;
gap: 7px;
padding: 4px;
border-radius: 13px}
.module-nav-primary,
.module-nav-secondary,
.module-nav-tabs {
display: flex;
min-width: 0;
gap: 3px;
align-items: center}
.module-nav-primary {
padding-right: 7px;
border-right: 1px solid rgba(255, 255, 255, 0.14)}
.module-nav-secondary {
overflow-x: auto}
.module-nav-group {
min-width: 0}
.module-nav-group[hidden] {
display: none}
.module-nav-group + .module-nav-group {
padding-left: 0;
border-left: 0}
.module-nav button {
min-height: 27px;
padding: 0 10px;
font-size: 0.76rem}
.module-nav-primary button {
color: rgba(255, 255, 255, 0.68)}
.module-nav-primary button.is-active {
color: var(--brand-charcoal);
background: var(--brand-gold)}
.module-nav-secondary button.is-active {
color: #ffffff;
border-color: rgba(255, 255, 255, 0.16);
background: rgba(255, 255, 255, 0.14);
box-shadow: none}
.shell-header.is-compact .module-nav-shell {
grid-template-columns: auto minmax(0, 1fr)}
.filter-scope-item:is(button) {
display: inline-flex;
gap: 6px;
align-items: center;
min-height: 28px;
font: inherit;
cursor: pointer}
.filter-scope-item:is(button):hover,
.filter-scope-item:is(button):focus-visible {
border-color: rgba(200, 147, 47, 0.52);
background: rgba(200, 147, 47, 0.16)}
.filter-scope-item:is(button) > span {
font-size: 0.85rem}
.filter-chip-head {
grid-template-columns: minmax(120px, 1fr) auto auto}
.filter-dimension-search input {
width: 100%;
min-height: 34px;
padding: 0 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-xs)}
.filter-chip[hidden] {
display: none}
.filter-chip.is-disabled {
opacity: 0.45}
.filter-facet-count {
margin-left: auto;
color: var(--muted);
font-size: 0.66rem;
font-variant-numeric: tabular-nums}
.month-range-actions {
flex-wrap: wrap}
.filter-button-row button.is-active,
.filter-button-row button[aria-pressed="true"] {
color: #ffffff;
border-color: var(--brand-gold-ink);
background: var(--brand-gold-ink)}
.period-cutoff-note {
display: grid;
gap: 2px;
margin: 10px 0 0;
padding: 8px 10px;
border-radius: var(--radius-button);
color: var(--brand-brown);
background: var(--brand-gold-soft);
font-size: var(--type-xs)}
.period-cutoff-note span {
color: var(--muted)}
.saved-filter-views {
grid-column: span 3;
min-width: 0;
padding: 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.saved-filter-head,
.saved-filter-views li,
.saved-filter-views li > button:first-child {
display: flex;
gap: 8px;
align-items: center}
.saved-filter-head {
justify-content: space-between}
.saved-filter-head > div,
.saved-filter-views li > button:first-child {
min-width: 0}
.saved-filter-head > div,
.saved-filter-views li > button:first-child span {
display: grid;
gap: 2px}
.saved-filter-head small,
.saved-filter-views li small,
.saved-filter-views > p {
color: var(--muted);
font-size: 0.68rem}
.saved-filter-head button,
.saved-filter-views li button {
min-height: 32px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-xs);
font-weight: 750;
cursor: pointer}
.saved-filter-head button {
padding: 0 10px}
.saved-filter-views ul {
display: grid;
gap: 5px;
padding: 0;
margin: 8px 0 0;
list-style: none}
.saved-filter-views li > button:first-child {
flex: 1;
justify-content: space-between;
overflow: hidden;
padding: 5px 8px;
text-align: left}
.saved-filter-views li > button:first-child span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.saved-filter-remove {
flex: 0 0 32px;
padding: 0}
.trend-card-head {
display: flex;
gap: 12px;
align-items: flex-start;
justify-content: space-between}
.trend-card-head h2,
.trend-card-head p {
margin: 0}
.trend-granularity-controls,
.cross-view-segments {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 3px;
padding: 3px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface-soft)}
.trend-granularity-controls button,
.cross-view-segments button {
min-height: 30px;
padding: 0 9px;
border: 0;
border-radius: calc(var(--radius-button) - 3px);
color: var(--muted);
background: transparent;
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.trend-granularity-controls button.is-active,
.cross-view-segments button.is-active {
color: #ffffff;
background: var(--brand-gold-ink)}
.trend-partial-marker {
stroke: var(--brand-gold);
stroke-dasharray: 3 3;
stroke-width: 1.5}
.sparkline-point.is-partial circle {
fill: var(--brand-gold);
stroke-width: 3px}
.trend-partial-badge {
display: inline-flex;
margin: 6px 0 0;
padding: 4px 8px;
border-radius: var(--radius-pill);
color: var(--brand-gold-ink);
background: var(--brand-gold-soft);
font-size: var(--type-xs);
font-weight: 800}
.trend-list li > span {
display: grid;
gap: 1px}
.trend-list li > span small {
color: var(--brand-gold-ink);
font-size: 0.64rem}
.cross-view-segments {
grid-column: 1 / -1;
grid-template-columns: repeat(4, minmax(0, 1fr))}
.cross-view-segments button:disabled {
cursor: not-allowed;
opacity: 0.42}
.cross-highlight-card span > small {
display: block;
margin-top: 2px}
.cross-evidence-drawer {
position: fixed;
top: 16px;
right: 16px;
z-index: 320;
display: grid;
width: min(430px, calc(100vw - 32px));
max-height: calc(100vh - 32px);
gap: 14px;
padding: 18px;
overflow: auto;
border: 1px solid rgba(200, 147, 47, 0.34);
border-radius: var(--radius-panel);
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 28px 90px rgba(28, 28, 28, 0.26)}
.cross-evidence-drawer > header,
.cross-evidence-drawer > footer,
.cross-evidence-skus > div,
.cross-evidence-skus li {
display: flex;
gap: 10px;
align-items: center;
justify-content: space-between}
.cross-evidence-drawer h2,
.cross-evidence-drawer h3,
.cross-evidence-drawer p {
margin: 0}
.cross-evidence-drawer > header > button,
.cross-evidence-drawer > footer button {
min-height: 36px;
padding: 0 11px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface-soft);
font: inherit;
font-weight: 800;
cursor: pointer}
.cross-evidence-drawer > header > button {
flex: 0 0 36px;
padding: 0}
.cross-evidence-drawer > footer .is-primary {
color: #ffffff;
border-color: var(--brand-gold-ink);
background: var(--brand-gold-ink)}
.cross-evidence-metrics {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 7px;
margin: 0}
.cross-evidence-metrics > div {
display: grid;
gap: 3px;
padding: 10px;
border-radius: var(--radius-card);
background: var(--surface-soft)}
.cross-evidence-metrics dt,
.cross-evidence-skus small {
color: var(--muted);
font-size: var(--type-xs)}
.cross-evidence-metrics dd {
margin: 0;
color: var(--ink);
font-weight: 850}
.cross-evidence-metrics dd.is-positive {
color: var(--success)}
.cross-evidence-metrics dd.is-negative {
color: var(--danger)}
.cross-evidence-skus {
display: grid;
gap: 8px}
.cross-evidence-skus ol {
display: grid;
gap: 5px;
padding: 0;
margin: 0;
list-style: none}
.cross-evidence-skus li {
padding: 8px 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
font-size: var(--type-xs)}
.cross-evidence-skus li span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap}
.management-report-toc,
.page-section-nav {
position: sticky;
top: 8px;
z-index: 4;
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: center;
padding: 7px 9px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: rgba(255, 255, 255, 0.94);
box-shadow: var(--shadow-card)}
.management-report-toc span,
.management-report-toc a,
.page-section-nav span,
.page-section-nav a {
font-size: var(--type-xs);
font-weight: 800}
.management-report-toc span,
.page-section-nav span {
color: var(--muted)}
.management-report-toc a,
.page-section-nav a {
padding: 4px 7px;
border-radius: var(--radius-pill);
color: var(--brand-gold-ink);
text-decoration: none}
.management-report-toc a:hover,
.management-report-toc a:focus-visible,
.page-section-nav a:hover,
.page-section-nav a:focus-visible,
.page-section-nav a[aria-current="location"] {
background: var(--brand-gold-soft)}
.page-content-section,
.profit-page-section,
[id^="management-"][id$="-title"],
#sku-task-content {
scroll-margin-top: 200px}
.profit-page-section {
grid-column: 1 / -1;
display: grid;
min-width: 0;
grid-template-columns: minmax(0, 1fr);
gap: var(--space-3)}
.profit-page-section.is-two-column {
grid-template-columns: repeat(2, minmax(0, 1fr))}
.sku-task-navigation {
position: sticky;
top: 8px;
z-index: 4;
grid-column: 1 / -1;
padding: 7px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: rgba(255, 255, 255, 0.96);
box-shadow: var(--shadow-card)}
.sku-task-nav-label {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 800}
.metric-definition-help {
display: inline-flex;
min-height: 20px;
align-items: center;
padding: 0 5px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-pill);
color: var(--brand-gold-ink);
background: var(--surface);
font-size: 0.68rem;
font-weight: 850;
line-height: 1;
text-decoration: none;
cursor: help}
.metric-definition-help:focus-visible {
outline: 3px solid rgba(0, 113, 227, 0.28);
outline-offset: 2px}
.cross-view-definition {
grid-column: 1 / -1;
display: flex;
flex-wrap: wrap;
gap: 5px 8px;
align-items: center;
margin: 0;
color: var(--muted);
font-size: var(--type-xs)}
.cross-view-definition strong {
color: var(--ink)}
.entity-source-value {
color: var(--muted);
font-size: var(--type-xs);
overflow-wrap: anywhere}
@media (max-width: 960px) {
.shell-title-stack {
  grid-template-columns: minmax(0, 1fr) auto}
.shell-title-stack .eyebrow {
  display: none}
.module-nav-shell {
  grid-template-columns: minmax(0, 1fr)}
.module-nav-primary {
  overflow-x: auto;
  padding-right: 0;
  padding-bottom: 4px;
  border-right: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14)}
.saved-filter-views {
  grid-column: span 2}}
@media (max-width: 780px) {
.shell {
  width: min(calc(100% - 20px), var(--shell-max-width))}
.shell-header-top,
.shell-title-stack {
  grid-template-columns: minmax(0, 1fr)}
.shell-header .status-pill {
  display: none}
.shell-header .shell-title-stack h1 {
  font-size: 1.05rem}
.module-nav-primary,
.module-nav-secondary {
  overflow-x: auto}
.saved-filter-views {
  grid-column: 1}
.filter-chip-head {
  grid-template-columns: minmax(0, 1fr)}
.cross-evidence-drawer {
  top: auto;
  right: 8px;
  bottom: 8px;
  left: 8px;
  width: auto;
  max-height: min(78vh, 680px)}
.cross-evidence-drawer > footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr))}}
@page {
size: A4 portrait;
margin: 8mm}
@media print {
:root {
  --type-xs: 6.6pt;
  --type-sm: 7.4pt;
  --type-body: 8pt;
  --type-title: 8.6pt}
html,
body {
  width: 210mm;
  min-height: 0;
  color: #111111;
  background: #ffffff}
body {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact}
.shell {
  width: auto;
  margin: 0;
  padding: 0}
[data-shell-header],
[data-filter-panel-host],
.label-strip,
.management-report-toc,
.page-section-nav,
.sku-task-navigation,
.management-report-actions,
.cross-evidence-drawer,
.management-report-page .action-drilldown {
  display: none !important}
[data-route-modules] {
  display: block}
.module-view,
.module-view[hidden] {
  display: none !important}
.module-view[data-module-view="management-report"] {
  display: block !important;
  outline: 0}
.management-report-page {
  display: grid;
  gap: 2mm;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none}
.management-report-head {
  align-items: end}
.management-report-head .eyebrow {
  margin-bottom: 1mm;
  font-size: 6.5pt}
.management-report-head h2 {
  margin-bottom: 1mm;
  font-size: 16pt}
.management-report-head p {
  font-size: 7pt}
.management-report-section {
  gap: 1.6mm;
  padding-top: 2mm;
  break-inside: avoid}
.management-section-heading .eyebrow {
  display: none}
.management-section-heading h2 {
  font-size: 9pt}
.management-section-heading > p {
  font-size: 6.2pt}
.management-summary-list {
  gap: 2mm}
.management-summary-list li {
  min-height: 19mm;
  gap: 1mm;
  padding: 2.5mm 2.5mm 2.5mm 3mm;
  border-radius: 2mm;
  break-inside: avoid}
.management-summary-list strong {
  font-size: 8.2pt}
.management-summary-list span {
  font-size: 6.5pt}
.management-kpi-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.5mm}
.management-kpi-grid .kpi-card {
  min-height: 19mm;
  padding: 2.2mm;
  border-radius: 2mm;
  box-shadow: none;
  break-inside: avoid}
.management-kpi-grid .kpi-card::before {
  height: 1px}
.management-kpi-grid .kpi-card > strong {
  font-size: 8.3pt}
.management-kpi-grid .kpi-comparison {
  margin-top: 0}
.management-kpi-grid .kpi-comparison span,
.management-kpi-grid .kpi-comparison small {
  font-size: 5.9pt}
.management-bridge-grid,
.management-contribution-grid,
.management-signal-grid,
.management-next-grid {
  gap: 2mm}
.management-contribution-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr))}
.management-contribution-grid > article {
  padding: 1.2mm;
  border-radius: 1.5mm;
  break-inside: avoid}
.management-contribution-grid article > header {
  margin-bottom: 0.7mm}
.management-contribution-item,
.management-contribution-grid .is-neutral {
  gap: 0.4mm;
  padding: 0.8mm}
.management-contribution-item small,
.management-contribution-grid .is-neutral small {
  font-size: 5.2pt}
.management-contribution-item strong,
.management-contribution-grid .is-neutral strong {
  font-size: 5.6pt}
.management-bridge-panel,
.management-signal-grid > article,
.management-next-grid > div {
  padding: 2.3mm;
  border-radius: 2mm;
  break-inside: avoid}
.management-bridge-head h3,
.management-signal-grid h3,
.management-next-grid h3 {
  font-size: 7.5pt}
.management-bridge-head > strong {
  font-size: 7.8pt}
.management-bridge-period,
.management-bridge-check {
  margin-top: 1.5mm;
  font-size: 5.7pt}
.management-bridge-check {
  padding-top: 1.5mm}
.management-bridge-list {
  gap: 0.8mm;
  margin-top: 1.5mm}
.management-bridge-list li {
  min-height: 5mm;
  font-size: 6.2pt}
.management-signal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.management-signal-grid li {
  min-height: 13mm;
  padding: 1.5mm;
  border-radius: 1.5mm}
.management-signal-copy > span,
.management-signal-copy small,
.management-signal-copy p,
.management-recommendation-list li,
.management-question-list li {
  font-size: 5.8pt;
  line-height: 1.25}
.management-next-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.management-recommendation-list,
.management-question-list {
  gap: 1mm}
.management-report-caveats {
  gap: 1mm;
  padding: 2mm;
  font-size: 5.5pt;
  break-inside: avoid}
.management-report-caveats ul {
  gap: 1.5mm}}
@media (max-width: 780px) {
.saved-filter-views li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch}
.saved-filter-actions {
  justify-content: flex-end}}
:where(.change-radar, .object-compare-section, .investigation-context, .sku-migration-panel)
:where(button, summary, select, [tabindex]):focus-visible,
.module-nav button:focus-visible {
outline: 3px solid var(--apple-blue);
outline-offset: 3px}
.compact-filter-actions > button,
.evidence-pin,
.driver-attribution-controls button,
.driver-attribution-controls select,
.driver-attribution-result footer button,
.global-search-dialog button,
.evidence-basket-drawer button {
min-height: 32px;
padding: 0 10px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: var(--type-sm);
cursor: pointer}
.compact-filter-actions > button:hover,
.evidence-pin:hover,
.driver-attribution-controls button:hover,
.global-search-dialog button:hover,
.evidence-basket-drawer button:hover {
border-color: var(--blue-border);
background: var(--blue-soft)}
.compact-filter-actions > button:focus-visible,
.evidence-pin:focus-visible,
.driver-attribution-section :where(button, select):focus-visible,
.multi-benchmark-panel summary:focus-visible,
.object-multi-benchmark summary:focus-visible,
.global-search-layer :where(button, input):focus-visible,
.evidence-basket-layer :where(button, [tabindex]):focus-visible {
outline: 3px solid var(--apple-blue);
outline-offset: 3px}
.multi-benchmark-panel {
margin: var(--space-3) 0;
min-height: 0;
padding: 0;
overflow: hidden}
.multi-benchmark-panel > summary {
display: flex;
min-height: 64px;
align-items: center;
justify-content: space-between;
gap: var(--space-3);
padding: var(--space-3) var(--space-4);
cursor: pointer;
list-style: none}
.multi-benchmark-panel > summary::-webkit-details-marker,
.object-multi-benchmark > summary::-webkit-details-marker {
display: none}
.multi-benchmark-panel > summary span {
display: grid;
gap: 3px}
.multi-benchmark-panel > summary small,
.multi-benchmark-body > p,
.multi-benchmark-table th small,
.multi-benchmark-table td small {
color: var(--muted);
font-size: var(--type-xs);
font-weight: 500}
.multi-benchmark-body {
display: grid;
gap: var(--space-2);
padding: 0 var(--space-4) var(--space-4);
border-top: 1px solid var(--line-soft)}
.multi-benchmark-body > .table-scroll {
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch}
.multi-benchmark-body > p {
margin: var(--space-3) 0 0}
.multi-benchmark-table {
min-width: 720px}
.multi-benchmark-table th small,
.multi-benchmark-table td small {
display: block;
margin-top: 3px;
white-space: nowrap}
.multi-benchmark-table td strong {
white-space: nowrap}
.multi-benchmark-table td.is-positive strong,
.object-multi-benchmark dd.is-positive strong,
.driver-attribution-result .is-positive {
color: var(--success)}
.multi-benchmark-table td.is-negative strong,
.object-multi-benchmark dd.is-negative strong,
.driver-attribution-result .is-negative {
color: var(--danger)}
.driver-attribution-section {
display: grid;
gap: var(--space-3)}
.driver-attribution-head {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: var(--space-4);
align-items: end}
.driver-attribution-head h2,
.driver-attribution-head p {
margin: 0}
.driver-attribution-head h2 {
margin-bottom: 6px}
.driver-attribution-controls {
display: grid;
gap: 8px;
min-width: min(360px, 100%)}
.driver-attribution-controls label {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 8px;
align-items: center;
color: var(--muted);
font-size: var(--type-xs)}
.driver-attribution-controls select {
min-width: 0}
.driver-attribution-controls > div {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 6px}
.driver-attribution-controls button.is-active {
border-color: var(--apple-blue);
color: var(--apple-blue-hover);
background: var(--blue-soft)}
.driver-attribution-result {
display: grid;
gap: var(--space-3)}
.driver-attribution-result > header,
.driver-attribution-result > footer,
.driver-attribution-list li,
.global-search-dialog > header,
.evidence-basket-drawer > header,
.evidence-basket-list li > header {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-2)}
.driver-attribution-result > header > div {
display: grid;
gap: 4px}
.driver-attribution-result > header small,
.driver-attribution-result > footer p,
.driver-attribution-list small {
color: var(--muted);
font-size: var(--type-xs)}
.driver-attribution-totals {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px;
margin: 0}
.driver-attribution-totals > div {
display: grid;
gap: 4px;
padding: 10px 12px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface-soft)}
.driver-attribution-totals dt,
.driver-attribution-list small {
color: var(--muted)}
.driver-attribution-totals dd {
margin: 0;
font-weight: 700}
.driver-attribution-columns {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3)}
.driver-attribution-columns > section {
min-width: 0;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card)}
.driver-attribution-columns h3 {
margin: 0 0 10px;
font-size: var(--type-title)}
.driver-attribution-list {
display: grid;
gap: 8px;
margin: 0;
padding: 0;
list-style: none}
.driver-attribution-list li {
display: grid;
grid-template-columns: minmax(0, 1fr) auto auto;
padding: 9px 0;
border-top: 1px solid var(--line-soft)}
.driver-attribution-list li:first-child {
border-top: 0}
.driver-attribution-list li > div,
.driver-attribution-list li > span {
display: grid;
gap: 3px}
.driver-attribution-list li > span {
text-align: right}
.driver-attribution-result > footer p {
max-width: 70ch;
margin: 0}
.object-multi-benchmark {
margin-top: var(--space-2);
border-top: 1px solid var(--line-soft)}
.object-multi-benchmark > summary {
padding: 10px 0;
color: var(--apple-blue-hover);
cursor: pointer;
font-size: var(--type-sm);
font-weight: 700}
.object-multi-benchmark dl {
display: grid;
gap: 6px;
margin: 0 0 10px}
.object-multi-benchmark dl > div {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 8px;
border-radius: 8px;
background: var(--surface-soft)}
.object-multi-benchmark dt,
.object-multi-benchmark dd {
display: grid;
gap: 2px;
margin: 0}
.object-multi-benchmark dd {
text-align: right}
.object-multi-benchmark small {
color: var(--muted);
font-size: var(--type-xs)}
.object-compare-actions,
.evidence-action-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center}
.object-compare-actions {
margin-top: var(--space-2)}
.evidence-pin {
white-space: nowrap}
.overlay-backdrop {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
padding: 0;
border: 0;
background: rgba(20, 18, 15, 0.42);
cursor: default}
.evidence-basket-layer,
.global-search-layer {
position: fixed;
inset: 0;
z-index: 90}
.evidence-basket-drawer,
.global-search-dialog {
position: absolute;
z-index: 1;
display: grid;
gap: var(--space-3);
overflow: auto;
border: 1px solid var(--line-strong);
background: var(--surface);
box-shadow: var(--shadow-popover)}
.evidence-basket-drawer {
top: 0;
right: 0;
width: min(520px, calc(100vw - 24px));
height: 100%;
padding: var(--space-4)}
.evidence-basket-drawer h2,
.evidence-basket-drawer p,
.global-search-dialog h2,
.global-search-dialog p {
margin: 0}
.evidence-basket-drawer > header > div,
.global-search-dialog > header > div {
display: grid;
gap: 4px}
.evidence-basket-list {
display: grid;
align-content: start;
gap: 10px;
margin: 0;
padding: 0;
list-style: none}
.evidence-basket-list li {
display: grid;
gap: 8px;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.evidence-basket-list li > header small,
.evidence-basket-list li > p,
.evidence-basket-empty p,
.global-search-dialog > p,
.global-search-dialog footer {
color: var(--muted);
font-size: var(--type-xs)}
.evidence-basket-list dl {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
margin: 0}
.evidence-basket-list dl > div {
display: flex;
justify-content: space-between;
gap: 8px}
.evidence-basket-list dd {
margin: 0;
font-weight: 700}
.evidence-basket-empty {
display: grid;
min-height: 180px;
place-content: center;
gap: 6px;
text-align: center}
.evidence-basket-drawer > footer {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
padding-top: var(--space-3);
border-top: 1px solid var(--line-soft)}
.evidence-basket-drawer > footer span {
margin-right: auto;
font-weight: 700}
.evidence-basket-drawer button:disabled {
opacity: 0.45;
cursor: default}
.global-search-dialog {
top: clamp(20px, 8vh, 80px);
left: 50%;
width: min(760px, calc(100vw - 32px));
max-height: min(82vh, 760px);
padding: var(--space-4);
border-radius: var(--radius-panel);
transform: translateX(-50%)}
.global-search-input input {
width: 100%;
min-height: 48px;
padding: 0 14px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-button);
color: var(--ink);
background: var(--surface);
font: inherit;
font-size: 1rem}
.global-search-results {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3)}
.global-search-results > section {
min-width: 0;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-card)}
.global-search-results section > header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px}
.global-search-results h3 {
margin: 0;
font-size: var(--type-title)}
.global-search-results ul {
display: grid;
gap: 6px;
margin: 10px 0 0;
padding: 0;
list-style: none}
.global-search-results li button {
display: flex;
width: 100%;
min-height: 44px;
align-items: center;
justify-content: space-between;
gap: 8px;
text-align: left}
.global-search-results li button span {
overflow: hidden;
text-overflow: ellipsis}
.global-search-results li button small {
flex: 0 0 auto;
color: var(--muted);
font-size: var(--type-xs)}
.global-search-empty {
grid-column: 1 / -1;
min-height: 160px;
place-content: center;
text-align: center}
@media (max-width: 780px) {
.compact-filter-actions {
  overflow-x: auto}
.compact-filter-actions > button,
.compact-filter-actions > details,
.compact-filter-actions .compact-filter-reset {
  flex: 0 0 auto}
.compact-filter-actions .compact-filter-reset {
  width: auto;
  min-width: max-content}
.driver-attribution-head,
.driver-attribution-columns {
  grid-template-columns: minmax(0, 1fr)}
.driver-attribution-controls {
  width: 100%;
  min-width: 0}
.driver-attribution-totals {
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.driver-attribution-list li {
  grid-template-columns: minmax(0, 1fr) auto}
.driver-attribution-list li > button {
  grid-column: 1 / -1;
  width: 100%}
.global-search-results {
  grid-template-columns: minmax(0, 1fr)}}
@media (max-width: 480px) {
.multi-benchmark-panel > summary,
.multi-benchmark-body,
.driver-attribution-head,
.driver-attribution-result,
.evidence-basket-drawer,
.global-search-dialog {
  padding-right: var(--space-3);
  padding-left: var(--space-3)}
.multi-benchmark-panel > summary {
  align-items: flex-start}
.driver-attribution-totals {
  grid-template-columns: minmax(0, 1fr)}
.evidence-basket-drawer {
  width: 100%}
.evidence-basket-drawer > footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr))}
.evidence-basket-drawer > footer span {
  grid-column: 1 / -1}
.global-search-dialog {
  top: 8px;
  width: calc(100vw - 16px);
  max-height: calc(100vh - 16px)}
.evidence-pin,
.driver-attribution-section button,
.global-search-dialog button,
.evidence-basket-drawer button {
  min-height: 44px}}
@media print {
.shell.is-evidence-printing > :not([data-evidence-basket-host]),
.shell.is-evidence-printing [data-evidence-basket-host] .overlay-backdrop {
  display: none !important}
.shell.is-evidence-printing [data-evidence-basket-host],
.shell.is-evidence-printing .evidence-basket-layer,
.shell.is-evidence-printing .evidence-basket-drawer {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important}
.shell.is-evidence-printing .evidence-basket-drawer > header button,
.shell.is-evidence-printing .evidence-basket-list button,
.shell.is-evidence-printing .evidence-basket-drawer > footer {
  display: none !important}
.shell.is-evidence-printing .evidence-basket-list li {
  break-inside: avoid}}
.command-grid > .trend-card {
grid-column: 1 / -1;
min-height: 0}
.trend-content-grid {
display: grid;
grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
gap: clamp(24px, 5vw, 72px);
align-items: start}
.trend-recent-summary {
min-width: 0;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: var(--surface-soft)}
.trend-recent-summary > header {
display: flex;
gap: var(--space-2);
align-items: flex-start;
justify-content: space-between}
.trend-recent-summary h3,
.trend-recent-summary p {
margin: 0}
.trend-recent-summary ol {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 6px;
padding: 0;
margin: var(--space-2) 0 0;
list-style: none}
.trend-recent-summary li {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 2px 8px;
padding: 8px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-button);
background: var(--surface)}
.trend-recent-summary li > span {
overflow: hidden;
color: var(--muted);
font-size: var(--type-xs);
text-overflow: ellipsis;
white-space: nowrap}
.trend-recent-summary li > strong {
color: var(--ink);
font-size: var(--type-sm)}
.trend-recent-summary li > small {
grid-column: 1 / -1;
font-size: var(--type-xs)}
.analysis-task-switcher {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 6px;
width: min(100%, 760px);
padding: 4px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: var(--surface-soft)}
.sku-task-switcher {
grid-template-columns: repeat(5, minmax(0, 1fr));
width: 100%}
.analysis-task-switcher button {
display: grid;
min-height: 54px;
gap: 2px;
place-content: center;
padding: 7px 10px;
border: 1px solid transparent;
border-radius: calc(var(--radius-panel) - 4px);
color: var(--muted);
background: transparent;
font: inherit;
text-align: left;
cursor: pointer}
.analysis-task-switcher button strong {
color: var(--ink);
font-size: var(--type-sm)}
.analysis-task-switcher button small {
overflow: hidden;
font-size: var(--type-xs);
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap}
.analysis-task-switcher button.is-active {
border-color: rgba(200, 147, 47, 0.46);
color: var(--ink);
background: var(--surface);
box-shadow: var(--shadow-card)}
.analysis-task-switcher button:focus-visible {
outline: 3px solid var(--apple-blue);
outline-offset: 2px}
.cross-analysis-header,
.sku-task-header {
display: grid;
min-height: 0;
grid-template-columns: minmax(220px, 0.7fr) minmax(440px, 1.3fr);
gap: var(--space-3);
align-items: center}
.cross-task-panel,
[data-sku-task-panel] {
min-width: 0}
.cross-matrix-controls {
min-height: 0}
.market-snapshot-summary,
.sku-coverage-summary {
display: grid;
grid-column: 1 / -1;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: var(--space-2)}
.market-snapshot-summary article,
.sku-coverage-summary article {
display: grid;
min-width: 0;
gap: 4px;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: var(--surface);
box-shadow: var(--shadow-card)}
.market-snapshot-summary small,
.sku-coverage-summary small,
.market-snapshot-summary span,
.sku-coverage-summary span {
color: var(--muted);
font-size: var(--type-xs)}
.market-snapshot-summary strong,
.sku-coverage-summary strong {
overflow: hidden;
color: var(--ink);
font-size: 1.08rem;
text-overflow: ellipsis;
white-space: nowrap}
.market-movers {
grid-column: 1 / -1;
padding: var(--space-3);
border: 1px solid var(--line-soft);
border-radius: var(--radius-panel);
background: var(--surface);
box-shadow: var(--shadow-card)}
.market-movers-head,
.market-diagnostics-launcher,
.sku-migration-head {
display: flex;
gap: var(--space-3);
align-items: center;
justify-content: space-between}
.market-movers-head h2,
.market-movers-head p,
.market-diagnostics-launcher h2,
.market-diagnostics-launcher p {
margin: 0}
.market-mover-columns {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3);
margin-top: var(--space-2)}
.market-diagnostics-launcher {
grid-column: 1 / -1;
min-height: 0}
.market-diagnostics-launcher button {
min-height: 40px;
padding: 0 14px;
border: 1px solid var(--brand-gold);
border-radius: var(--radius-button);
color: var(--brand-charcoal);
background: var(--brand-gold);
font: inherit;
font-weight: 800;
cursor: pointer}
.product-grid > .sku-task-header,
.product-grid > [data-sku-task-panel],
.sku-health-flow > .sku-coverage-summary {
grid-column: 1 / -1}
.sku-migration-preview-table {
min-width: 1120px}
.evidence-basket-trigger.is-empty {
color: var(--muted);
border-color: var(--line-soft);
background: transparent;
opacity: 0.68}
.shell-header .compact-filter-reset:disabled {
display: none}
@media (max-width: 980px) {
.trend-content-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3)}
.trend-content-grid .trend-chart-stage {
  max-width: 100%}
.cross-analysis-header,
.sku-task-header {
  grid-template-columns: minmax(0, 1fr)}
.market-snapshot-summary,
.sku-coverage-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 780px) {
.analysis-task-switcher,
.sku-task-switcher {
  display: grid;
  grid-auto-columns: minmax(150px, 72vw);
  grid-auto-flow: column;
  grid-template-columns: none;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x proximity}
.analysis-task-switcher button {
  min-height: 48px;
  scroll-snap-align: start}
.market-mover-columns,
.market-diagnostics-launcher,
.sku-migration-head {
  grid-template-columns: minmax(0, 1fr)}
.market-diagnostics-launcher,
.sku-migration-head {
  display: grid;
  align-items: start}}
@media (max-width: 480px) {
.market-snapshot-summary,
.sku-coverage-summary {
  grid-template-columns: minmax(0, 1fr)}
.market-snapshot-summary article,
.sku-coverage-summary article {
  padding: var(--space-2) var(--space-3)}}
.filter-panel > summary {
min-height: 52px;
padding: 7px 12px}
.filter-grid {
grid-template-columns: minmax(0, 1fr);
gap: 10px;
padding: 10px 12px 12px}
.filter-primary-grid,
.filter-advanced-grid {
display: grid;
min-width: 0;
gap: 10px}
.filter-primary-grid {
grid-template-columns: repeat(2, minmax(0, 1fr))}
.filter-primary-grid > .month-range-control,
.filter-primary-grid > .comparison-filter-control {
grid-column: auto}
.filter-advanced {
min-width: 0;
overflow: visible;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.filter-advanced > summary {
display: flex;
min-height: 46px;
gap: 12px;
align-items: center;
justify-content: space-between;
padding: 7px 10px;
cursor: pointer;
list-style: none}
.filter-advanced > summary::-webkit-details-marker {
display: none}
.filter-advanced > summary span {
display: grid;
gap: 2px}
.filter-advanced > summary small,
.filter-advanced > summary b {
color: var(--muted);
font-size: var(--type-xs)}
.filter-advanced > summary b {
color: var(--brand-gold-ink);
white-space: nowrap}
.filter-advanced-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
padding: 10px;
border-top: 1px solid var(--line-soft);
background: var(--surface)}
.filter-advanced-grid > .filter-search,
.filter-advanced-grid > .saved-filter-views {
grid-column: 1 / -1}
.filter-advanced-grid .filter-search-suggestions {
position: static;
max-height: 180px;
margin-top: 8px;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain}
.filter-panel-actions {
display: flex;
gap: 8px;
align-items: center;
justify-content: flex-end}
.filter-panel-actions button {
min-height: 40px;
padding: 0 13px;
border-radius: var(--radius-pill);
font: inherit;
font-weight: 750;
cursor: pointer}
.filter-panel-actions .filter-reset {
align-self: auto;
min-width: 112px}
.filter-panel-close {
border: 1px solid var(--line-soft);
color: var(--ink);
background: var(--surface)}
.filter-sheet-backdrop,
.command-kpi-mobile-hint {
display: none}
.module-view[data-module-view="command"].is-active {
display: flex;
flex-direction: column}
.command-kpi-grid .kpi-card.is-primary {
border-color: rgba(200, 147, 47, 0.3)}
.command-kpi-grid .kpi-card.is-supporting {
background: linear-gradient(180deg, var(--surface), var(--surface-soft))}
.multi-benchmark-panel {
margin: 10px 0}
.multi-benchmark-panel > summary {
min-height: 50px;
padding: 9px 14px}
.performance-diagnostic-card {
min-height: 0}
.performance-diagnostic-card p,
.performance-diagnostic-card ul {
color: var(--muted);
font-size: var(--type-xs)}
.performance-diagnostic-card ul {
display: grid;
gap: 5px;
padding-left: 18px}
.performance-diagnostic-card .export-button {
justify-self: start;
min-height: 42px;
padding: 0 14px}
@media (max-width: 960px) {
.filter-advanced-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 780px) {
.shell-header .shell-header-top,
.shell-header.is-compact .shell-header-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px}
.shell-header .shell-meta,
.shell-header.is-compact .shell-meta {
  display: flex;
  flex-flow: row wrap;
  gap: 4px;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  font-size: 0.66rem;
  text-align: left}
.shell-header .shell-meta span,
.shell-header.is-compact .shell-meta span {
  min-height: 24px;
  padding: 0 7px}
.shell-header.is-compact .shell-title-stack {
  display: none}
.module-nav-primary,
.module-nav-secondary,
.module-nav-tabs {
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none}
.module-nav-primary::-webkit-scrollbar,
.module-nav-secondary::-webkit-scrollbar,
.module-nav-tabs::-webkit-scrollbar {
  display: none}
.shell-header .module-nav button,
.module-nav button,
.shell-header.is-compact .module-nav button,
.shell-header .compact-filter-reset,
.shell-header.is-compact .compact-filter-reset {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 13px;
  scroll-snap-align: start}
.filter-primary-grid,
.filter-advanced-grid {
  grid-template-columns: minmax(0, 1fr)}
.filter-primary-grid > *,
.filter-advanced-grid > *,
.filter-advanced-grid > .filter-search,
.filter-advanced-grid > .saved-filter-views {
  grid-column: 1;
  width: 100%;
  min-width: 0}
.filter-advanced > summary,
.filter-panel-actions button {
  min-height: 44px}
.filter-advanced-grid .filter-search-suggestions button {
  min-height: 44px}
.filter-panel-actions {
  padding: 8px 0 0;
  background: var(--surface)}
.filter-panel-actions button {
  flex: 1}
body.dashboard-filter-sheet-open {
  overflow: hidden;
  overscroll-behavior: none}
.filter-panel[open] {
  position: fixed;
  inset: auto max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  z-index: 500;
  display: grid;
  max-height: calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));
  grid-template-rows: auto minmax(0, 1fr);
  margin: 0;
  overflow: hidden;
  border-color: rgba(200, 147, 47, 0.34);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 28px 80px rgba(32, 24, 16, 0.28)}
.filter-panel[open] > summary {
  position: relative;
  top: auto;
  z-index: 2;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 20px 20px 0 0;
  background: rgba(255, 255, 255, 0.96)}
.filter-panel[open] > .filter-grid {
  min-height: 0;
  padding-bottom: max(10px, env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain}
.filter-panel[open] + .filter-sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 499;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(28, 22, 16, 0.34);
  cursor: default;
  -webkit-tap-highlight-color: transparent}
.filter-panel[open] .filter-panel-actions {
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding: 10px 0 2px;
  border-top: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), var(--surface) 24%)}
.module-view[data-module-view="command"].is-active > .command-kpi-section {
  order: 1}
.module-view[data-module-view="command"].is-active > [data-decision-intelligence-state] {
  order: 2}
.module-view[data-module-view="command"].is-active > .multi-benchmark-panel {
  order: 4}
.module-view[data-module-view="command"].is-active > .command-detail-grid {
  order: 3}
.module-view[data-module-view="command"].is-active > :is(.action-center-grid, .change-radar) {
  order: 5}
.command-kpi-mobile-hint {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  color: var(--muted);
  font-size: var(--type-xs)}
.command-kpi-mobile-hint strong {
  color: var(--ink);
  font-size: var(--type-sm)}
.command-kpi-grid {
  display: grid;
  grid-auto-columns: minmax(158px, 72vw);
  grid-auto-flow: column;
  grid-template-columns: none;
  gap: 8px;
  margin-top: 8px;
  padding: 1px 1px 8px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-padding-inline: 1px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin}
.command-kpi-grid .kpi-card {
  min-height: 150px;
  scroll-snap-align: start}
.command-kpi-grid .kpi-card.is-primary strong {
  font-size: 1.48rem}}
@media (max-width: 480px) {
.shell {
  width: min(calc(100% - 12px), var(--shell-max-width))}
.shell-header {
  padding: 8px}
.filter-panel > summary {
  gap: 7px;
  padding: 7px 9px}
.filter-panel-heading {
  min-width: 0}
.filter-grid {
  padding: 8px}
.multi-benchmark-panel > summary {
  min-height: 48px;
  padding: 8px 10px}}
.business-empty-state {
display: grid;
justify-items: start;
gap: 6px;
padding: 14px;
border: 1px dashed var(--line-strong);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.business-empty-state strong {
color: var(--ink);
font-size: var(--type-sm)}
.business-empty-state span {
color: var(--muted);
font-size: var(--type-xs)}
.business-empty-reset {
min-height: 36px;
margin-top: 2px;
padding: 0 12px;
border: 1px solid var(--apple-blue);
border-radius: var(--radius-button);
color: var(--apple-blue-hover);
background: var(--surface);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.market-contribution-scroll {
overflow-x: auto;
overscroll-behavior-x: contain}
.market-table-focus {
min-width: 720px}
.market-table-focus th:first-child,
.market-table-focus td:first-child {
position: sticky;
left: 0;
z-index: 2;
background: var(--surface);
box-shadow: 1px 0 0 var(--line-soft)}
.market-table-focus th:first-child {
z-index: 3}
.market-table-focus tbody tr:nth-child(even) td:first-child {
background: rgba(245, 245, 247, 0.96)}
.market-table-focus tbody tr:hover td:first-child {
background: rgba(240, 247, 255, 0.98)}
.market-table-focus .is-active-metric {
color: var(--ink);
background: rgba(200, 147, 47, 0.11);
font-weight: 800}
.market-table-focus tbody tr:nth-child(even) .is-active-metric {
background: rgba(200, 147, 47, 0.15)}
.market-table-focus tbody tr:hover .is-active-metric {
background: rgba(200, 147, 47, 0.2)}
@media (max-width: 600px) {
.sku-health-tier-desktop {
  display: none}
.sku-health-tier-mobile {
  display: grid;
  gap: var(--space-2)}
.sku-health-tier-mobile article {
  padding: 12px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-card);
  background: var(--surface-soft)}
.sku-health-tier-mobile header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px}
.sku-health-tier-mobile header > div {
  display: grid;
  gap: 3px;
  min-width: 0}
.sku-health-tier-mobile header small {
  color: var(--muted);
  font-size: var(--type-xs);
  line-height: 1.35}
.sku-health-tier-mobile header > span {
  flex: 0 0 auto;
  color: var(--brand-gold-ink);
  font-weight: 850}
.sku-health-tier-mobile dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 0}
.sku-health-tier-mobile dl > div {
  display: grid;
  gap: 2px;
  min-width: 0}
.sku-health-tier-mobile dt {
  color: var(--muted);
  font-size: var(--type-xs)}
.sku-health-tier-mobile dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 750}
.sku-health-rule-note ul {
  grid-template-columns: minmax(0, 1fr)}
.market-table-focus {
  min-width: 0;
  table-layout: auto}
.market-table-focus .metric-column:not(.is-active-metric) {
  display: none}
.market-table-focus th:first-child,
.market-table-focus td:first-child {
  min-width: 148px;
  max-width: 58vw}
.market-table-focus .is-active-metric {
  min-width: 96px}
.business-empty-reset {
  width: 100%;
  min-height: 44px}}
.matrix-mobile-metric-controls {
display: none}
.route-context-bar {
display: flex;
min-height: 42px;
align-items: center;
justify-content: space-between;
gap: 12px;
margin: 0 0 var(--space-2);
padding: 7px 10px;
border: 1px solid var(--line-soft);
border-radius: var(--radius-card);
background: var(--surface-soft)}
.route-context-bar > span {
display: flex;
min-width: 0;
align-items: baseline;
gap: 7px}
.route-context-bar small {
color: var(--muted);
font-size: var(--type-xs)}
.route-context-bar strong {
overflow: hidden;
font-size: var(--type-sm);
text-overflow: ellipsis;
white-space: nowrap}
.route-context-bar button {
flex: 0 0 auto;
min-height: 32px;
padding: 0 10px;
border: 1px solid var(--line-strong);
border-radius: var(--radius-pill);
color: var(--brand-gold-ink);
background: var(--surface);
font: inherit;
font-size: var(--type-xs);
font-weight: 800;
cursor: pointer}
.route-context-bar button:hover,
.route-context-bar button:focus-visible {
border-color: rgba(200, 147, 47, 0.5);
outline: 3px solid rgba(200, 147, 47, 0.18);
outline-offset: 2px}
.evidence-action-help {
flex-basis: 100%;
color: var(--muted);
font-size: var(--type-xs)}
@media (max-width: 600px) {
.shell-header,
.shell-header.is-compact {
  gap: 4px;
  padding: 7px 8px}
.shell-header .shell-header-top,
.shell-header.is-compact .shell-header-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px}
.shell-header .shell-title-stack,
.shell-header.is-compact .shell-title-stack {
  display: block}
.shell-header .shell-title-stack h1,
.shell-header.is-compact h1 {
  font-size: 0.94rem}
.shell-meta {
  flex-wrap: nowrap;
  justify-content: flex-end}
.shell-meta span {
  min-height: 20px;
  padding: 0 6px;
  font-size: 0.66rem}
.module-nav-shell {
  gap: 3px;
  padding: 3px}
.module-nav-primary {
  padding-bottom: 2px}
.module-nav button {
  min-height: 44px;
  padding: 0 8px;
  font-size: 0.7rem}
.compact-filter-bar {
  gap: 4px;
  padding: 5px 7px}
.compact-filter-bar > small {
  display: none}
.compact-filter-actions {
  width: auto;
  max-width: 100%;
  margin-left: auto}
.compact-filter-actions > button,
.compact-filter-actions > details {
  min-height: 44px}
.matrix-mobile-metric-controls {
  display: inline-grid;
  flex-basis: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-pill);
  background: var(--surface-soft)}
.matrix-mobile-metric-controls button {
  min-height: 44px;
  padding: 0 9px;
  border: 0;
  border-radius: var(--radius-pill);
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: var(--type-xs);
  font-weight: 800}
.matrix-mobile-metric-controls button[aria-pressed="true"] {
  color: #ffffff;
  background: var(--brand-charcoal)}
[data-mobile-matrix-metric="primary"] [data-matrix-metric-line="secondary"],
[data-mobile-matrix-metric="secondary"] [data-matrix-metric-line="primary"] {
  display: none}
.channel-matrix-table,
.brand-matrix-table,
.tier-price-band-table,
.refund-risk-matrix-table {
  width: max-content;
  min-width: 100%;
  table-layout: auto}
.channel-matrix-table th:not(:first-child),
.channel-matrix-table td:not(:first-child),
.brand-matrix-table th:not(:first-child),
.brand-matrix-table td:not(:first-child),
.tier-price-band-table th:not(:first-child),
.tier-price-band-table td:not(:first-child),
.refund-risk-matrix-table th:not(:first-child),
.refund-risk-matrix-table td:not(:first-child) {
  min-width: 112px}
.matrix-metric-pair {
  min-height: 34px;
  justify-content: center}
.matrix-metric-line {
  grid-template-columns: auto minmax(52px, 1fr)}
.heatmap-grid {
  grid-template-columns: minmax(126px, 1.2fr) repeat(var(--heatmap-data-columns), minmax(108px, 1fr));
  min-width: max(760px, calc(var(--heatmap-columns) * 112px))}
.route-context-bar {
  min-height: 44px;
  margin-bottom: 6px;
  padding: 5px 7px}
.route-context-bar small {
  display: none}
.route-context-bar button {
  min-height: 44px}}
@media (max-width: 370px) {
.shell-header .shell-title-stack h1,
.shell-header.is-compact h1 {
  font-size: 0.85rem}}

/* P29: controlled analysis range, task navigation and review journeys */
.module-nav {overflow:visible}
.module-nav-shell {display:block;overflow:visible}
.module-nav-primary {display:flex;gap:4px;padding:0;overflow:visible;border:0}
.module-nav-menu {position:relative;min-width:0}
.module-nav-menu > button {display:grid;min-width:72px;gap:0;align-content:center;text-align:left}
.module-nav-menu > button small {color:inherit;font-size:.62rem;font-weight:650;opacity:.72}
.module-nav-popover {position:absolute;z-index:460;top:calc(100% + 7px);left:0;display:grid;min-width:180px;gap:4px;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(42,40,37,.98);box-shadow:0 18px 48px rgba(20,16,12,.28)}
.module-nav-popover[hidden] {display:none}
.module-nav-popover button {width:100%;min-height:40px;justify-content:flex-start;text-align:left}
.mobile-bottom-nav,.mobile-nav-layer {display:none}
.filter-dialog-layer,.saved-analysis-layer {position:fixed;z-index:600;inset:0;display:grid;place-items:center;padding:24px}
.filter-dialog-layer[hidden],.saved-analysis-layer[hidden] {display:none}
.filter-dialog-backdrop,.saved-analysis-backdrop {position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(28,22,16,.42);cursor:default}
.filter-dialog,.saved-analysis-dialog {position:relative;z-index:1;display:grid;width:min(920px,100%);max-height:min(88dvh,860px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(200,147,47,.32);border-radius:22px;background:var(--surface);box-shadow:0 28px 80px rgba(32,24,16,.28)}
.filter-dialog-header,.saved-analysis-dialog > header {display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:16px 18px 13px;border-bottom:1px solid var(--line-soft)}
.filter-dialog-header h2,.saved-analysis-dialog h2 {margin:1px 0 3px;font-size:var(--type-xl)}
.filter-dialog-header small {color:var(--muted)}
.filter-dialog-header > button,.saved-analysis-dialog > header > button {width:42px;min-width:42px;height:42px;border:1px solid var(--line-soft);border-radius:50%;background:var(--surface-soft);font:inherit;font-size:1.25rem;cursor:pointer}
.filter-dialog-body {display:grid;min-height:0;gap:12px;padding:14px 18px 18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.filter-chip-popover[data-filter-floating="true"] {position:fixed;inset:auto;z-index:640;display:grid;min-width:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.filter-chip-popover[data-filter-floating="true"] .filter-chip-head {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.filter-chip-popover[data-filter-floating="true"] .filter-dimension-search {grid-column:1/-1}
.filter-chip-popover[data-filter-floating="true"] .filter-chip-head > span:not(.filter-button-row) {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-chip-popover[data-filter-floating="true"] .filter-chip-list {min-height:0;max-height:none;overflow:auto}
.filter-draft-summary {margin:0;padding:8px 10px;border-radius:10px;color:var(--muted);background:var(--surface-soft);font-size:var(--type-xs)}
.filter-applicability {display:grid;gap:9px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:linear-gradient(135deg,rgba(200,147,47,.08),var(--surface))}
.filter-applicability header {display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.filter-applicability header > div {display:grid;gap:2px}
.filter-applicability header small,.filter-applicability header p {color:var(--muted);font-size:var(--type-xs)}
.filter-applicability header p {max-width:620px;margin:0;text-align:right}
.filter-applicability ul {display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.filter-applicability li {display:inline-flex;gap:6px;align-items:center;padding:5px 8px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--type-xs)}
.filter-applicability li strong {color:var(--brand-gold-ink)}
.filter-applicability li[data-applicability-status="pending"] strong,.filter-applicability li[data-applicability-status="partial"] strong {color:#8a5b14}
.filter-applicability li[data-applicability-status="not-applied"] strong,.filter-applicability li[data-applicability-status="unavailable"] strong {color:var(--muted)}
.filter-dimension-section {display:grid;gap:8px}
.filter-dimension-section > header {display:flex;align-items:baseline;justify-content:space-between}
.filter-dimension-section h3 {margin:0;font-size:var(--type-md)}
.filter-dimension-section > header small {color:var(--muted)}
.filter-dialog-actions {display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;padding:11px 18px max(11px,env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:var(--surface)}
.filter-dialog-actions button {min-height:42px;padding:0 15px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);background:var(--surface);font:inherit;font-weight:780;cursor:pointer}
.filter-dialog-actions button.is-primary {border-color:var(--brand-charcoal);color:#fff;background:var(--brand-charcoal)}
.filter-dialog-actions button:disabled {cursor:not-allowed;opacity:.44}
body.dashboard-filter-dialog-open,body.dashboard-saved-analysis-open,body.dashboard-mobile-nav-open {overflow:hidden;overscroll-behavior:none}
.saved-analysis-layer {z-index:620}
.saved-analysis-dialog {width:min(720px,100%);grid-template-rows:auto minmax(0,1fr)}
.saved-analysis-dialog .saved-filter-views {min-height:0;padding:14px 18px 18px;overflow-y:auto}
.shared-context-notice {display:flex;align-items:center;min-height:42px;margin:0;padding:9px 16px;border-top:1px solid var(--line-soft);color:var(--muted);background:var(--surface-soft);font-size:var(--type-xs);font-weight:700}
.shared-context-notice.is-stale {color:#7a5215;background:var(--brand-gold-soft)}
.shared-context-notice.is-blocked {color:var(--danger);background:rgba(185,45,38,.06)}
.personal-continuity-group {display:grid;gap:8px}
.personal-continuity-group > header {display:flex;align-items:center;justify-content:space-between;gap:8px}
.personal-continuity-group > header small {color:var(--muted);font-size:var(--type-xs)}
.personal-continuity-group ul {display:grid;gap:6px;margin:0;padding:0;list-style:none}
.personal-continuity-group li {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.personal-continuity-group li > button:first-child {min-width:0}
.global-search-result-actions {grid-template-columns:minmax(0,1fr) auto auto}
.global-search-favorite,.entity-favorite {width:auto!important;min-width:max-content!important;padding:0 10px!important;color:var(--muted)!important;font-size:var(--type-xs)!important;font-weight:800!important}
.global-search-favorite.is-active,.entity-favorite.is-active {color:var(--brand-gold-ink)!important;border-color:rgba(200,147,47,.42)!important;background:var(--brand-gold-soft)!important}
.personal-search-history {display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.personal-search-history button {width:auto!important;min-height:34px!important;padding:0 11px!important;border-radius:var(--radius-pill)!important;color:var(--muted)!important;font-size:var(--type-xs)!important}
.personal-workspace-entities {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
.personal-workspace-entities .personal-continuity-group {padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--surface)}
.personal-workspace-empty {margin:12px 0 0;color:var(--muted);font-size:var(--type-xs)}
.analysis-template-workspace {display:grid;gap:10px;margin-top:14px;padding:13px;border:1px solid rgba(200,147,47,.28);border-radius:var(--radius-card);background:linear-gradient(135deg,rgba(200,147,47,.08),var(--surface))}
.analysis-template-workspace > header {display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.analysis-template-workspace > header > div {display:grid;gap:2px}
.analysis-template-workspace > header h3 {margin:0;font-size:var(--type-md)}
.analysis-template-workspace > header small,.analysis-template-workspace > header > span,.analysis-template-status {color:var(--muted);font-size:var(--type-xs)}
.analysis-template-workspace > header > span {white-space:nowrap}
.analysis-template-status {margin:0}
.analysis-template-workspace[data-template-state="blocked"] .analysis-template-status {color:var(--danger)}
.analysis-template-create {display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) minmax(160px,.8fr) auto;gap:7px;padding:10px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface)}
.analysis-template-create label {display:grid;gap:4px;min-width:0;color:var(--muted);font-size:var(--type-xs);font-weight:760}
.analysis-template-create input {width:100%;min-width:0;min-height:38px;padding:0 10px;border:1px solid var(--line-soft);border-radius:10px;color:var(--ink);background:var(--surface-soft);font:inherit}
.analysis-template-create button,.analysis-template-actions button {min-height:38px;padding:0 11px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--type-xs);font-weight:780;cursor:pointer}
.analysis-template-create > button {align-self:end}
.analysis-template-create button:disabled,.analysis-template-actions button:disabled {cursor:not-allowed;opacity:.45}
.analysis-template-list {display:grid;gap:7px;margin:0;padding:0;list-style:none}
.analysis-template-list > li {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface)}
.analysis-template-list > li[data-template-status="withdrawn"] {opacity:.66}
.analysis-template-copy {display:grid;gap:3px;min-width:0}
.analysis-template-copy > small,.analysis-template-copy > p {margin:0;color:var(--muted);font-size:var(--type-xs);line-height:1.45}
.analysis-template-tags {display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.analysis-template-tags small {padding:3px 7px;border-radius:var(--radius-pill);color:var(--brand-gold-ink);background:var(--brand-gold-soft)}
.analysis-template-fit {width:max-content;margin-top:2px;color:var(--muted);font-size:var(--type-xs);font-weight:760}
.analysis-template-fit[data-template-fit="compatible"] {color:#166534}
.analysis-template-fit[data-template-fit="warning"] {color:#9a6700}
.analysis-template-fit[data-template-fit="blocked"] {color:var(--danger)}
.analysis-template-catalog-summary {display:block;margin-top:3px;color:var(--muted);font-size:var(--type-xs);line-height:1.45}
.analysis-template-catalog-summary[data-review-status="due"],.analysis-template-catalog-summary[data-review-status="missing"] {color:var(--danger)}
.analysis-template-catalog-summary[data-review-status="soon"] {color:#8a5b14}
.analysis-template-actions {display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.analysis-template-actions button.is-primary {border-color:var(--brand-charcoal);color:#fff;background:var(--brand-charcoal)}
.analysis-template-replacement select {min-height:38px;max-width:180px;padding:0 30px 0 10px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--type-xs);font-weight:740}
.analysis-template-governance {display:grid;gap:11px;padding:12px;border:1px solid rgba(37,99,235,.24);border-radius:12px;background:#f8fbff}
.analysis-template-governance > header {display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.analysis-template-governance > header > div {display:grid;gap:2px}
.analysis-template-governance > header small {color:var(--muted);font-size:var(--type-xs)}
.analysis-template-governance button {min-height:38px;padding:0 11px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--type-xs);font-weight:780;cursor:pointer}
.analysis-template-governance button.is-primary {border-color:var(--brand-charcoal);color:#fff;background:var(--brand-charcoal)}
.analysis-template-governance button.is-danger {border-color:rgba(185,28,28,.24);color:var(--danger);background:#fff7f7}
.analysis-template-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}
.analysis-template-metrics > div {display:grid;gap:2px;padding:9px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface)}
.analysis-template-metrics dt {color:var(--muted);font-size:var(--type-xs)}
.analysis-template-metrics dd {margin:0;font-size:var(--type-sm);font-weight:800}
.analysis-template-governance-form {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.analysis-template-governance-form label {display:grid;gap:4px;min-width:0;color:var(--muted);font-size:var(--type-xs);font-weight:760}
.analysis-template-governance-form label.is-wide {grid-column:1/-1}
.analysis-template-governance-form input,.analysis-template-governance-form select,.analysis-template-governance-form textarea {width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line-soft);border-radius:10px;color:var(--ink);background:var(--surface);font:inherit}
.analysis-template-governance-form textarea {min-height:64px;resize:vertical}
.analysis-template-governance-form label > small {font-weight:650}
.analysis-template-governance-form footer {display:flex;grid-column:1/-1;flex-wrap:wrap;gap:7px}
.analysis-template-preview {display:grid;gap:10px;padding:12px;border:1px solid rgba(37,99,235,.28);border-radius:12px;background:#f8fbff}
.analysis-template-preview[data-compatibility-status="warning"] {border-color:rgba(200,147,47,.42);background:#fffaf0}
.analysis-template-preview[data-compatibility-status="blocked"] {border-color:rgba(185,28,28,.3);background:#fff7f7}
.analysis-template-preview > header,.analysis-template-preview > footer {display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.analysis-template-preview > header > div {display:grid;gap:2px}
.analysis-template-preview > header small,.analysis-template-preview > footer span,.analysis-template-compatibility {color:var(--muted);font-size:var(--type-xs);line-height:1.5}
.analysis-template-preview button {min-height:36px;padding:0 11px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--type-xs);font-weight:780}
.analysis-template-preview button.is-primary {border-color:var(--brand-charcoal);color:#fff;background:var(--brand-charcoal)}
.analysis-template-preview button:disabled {cursor:not-allowed;opacity:.45}
.analysis-template-preview dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.analysis-template-preview dl > div {display:grid;gap:2px;padding:9px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface)}
.analysis-template-preview dt {color:var(--muted);font-size:var(--type-xs)}
.analysis-template-preview dd {margin:0;font-size:var(--type-sm);font-weight:780}
.analysis-template-compatibility p,.analysis-template-compatibility ul {margin:0}
.analysis-template-compatibility ul {display:grid;gap:3px;padding-left:18px}
.analysis-template-compatibility [data-compatibility-level="blocked"] {color:var(--danger)}
.analysis-template-compatibility [data-compatibility-level="warning"] {color:#9a6700}
.saved-filter-template-origin {display:block!important;margin-top:2px;color:#8a5b13!important;white-space:normal!important}
.personal-recovery-panel {display:grid;gap:10px;margin-top:14px;padding:13px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--surface)}
.personal-recovery-panel > header {display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.personal-recovery-panel > header > div {display:grid;gap:2px}
.personal-recovery-panel small,.personal-recovery-panel > p {color:var(--muted);font-size:var(--type-xs)}
.personal-recovery-panel > p {margin:0;line-height:1.55}
.personal-recovery-panel > header button {min-height:34px;padding:0 11px;border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--ink);background:var(--surface-soft);font:inherit;font-size:var(--type-xs);font-weight:780;cursor:pointer}
.personal-recovery-panel > header button:disabled {cursor:not-allowed;opacity:.45}
.personal-recovery-panel ol {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}
.personal-recovery-panel li {display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;padding:9px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-soft)}
.personal-recovery-panel li > span {display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:var(--muted);background:var(--surface);font-size:var(--type-xs);font-weight:850}
.personal-recovery-panel li > div {display:grid;gap:2px;min-width:0}
.personal-recovery-panel li.is-active {border-color:#93c5fd;background:#eff6ff}
.personal-recovery-panel li.is-active > span {color:#fff;background:#2563eb}
.saved-filter-actions button[data-filter-view-move] {padding-inline:8px}
.saved-action-compact {display:none}
.investigation-context-actions,.investigation-queue-actions {display:flex;gap:7px;align-items:center}
.investigation-queue-actions {padding:3px;border:1px solid var(--line-soft);border-radius:var(--radius-pill)}
.investigation-queue-actions button {min-height:36px}
.investigation-queue-actions span {min-width:42px;color:var(--muted);font-size:var(--type-xs);text-align:center}

@media (max-width:780px) {
body {padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.shell-header .module-nav {display:none}
.mobile-bottom-nav {position:fixed;z-index:470;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(42,40,37,.97);box-shadow:0 12px 38px rgba(20,16,12,.28)}
.mobile-bottom-nav button {display:grid;min-width:0;min-height:50px;place-content:center;gap:1px;padding:4px;border:0;border-radius:13px;color:rgba(255,255,255,.7);background:transparent;font:inherit;font-weight:760;cursor:pointer}
.mobile-bottom-nav button::before {content:"";width:5px;height:5px;margin:0 auto;border-radius:50%;background:currentColor;opacity:.55}
.mobile-bottom-nav button.is-active {color:var(--brand-charcoal);background:var(--brand-gold)}
.mobile-bottom-nav button small {max-width:100%;overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.mobile-nav-layer {position:fixed;z-index:650;inset:0;display:block}
.mobile-nav-layer[hidden] {display:none}
.mobile-nav-backdrop {position:absolute;inset:0;width:100%;border:0;background:rgba(28,22,16,.42)}
.mobile-nav-drawer {position:absolute;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;display:grid;max-height:min(82dvh,680px);grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:22px;background:var(--surface);box-shadow:0 28px 80px rgba(32,24,16,.3)}
.mobile-nav-drawer > header {display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--line-soft)}
.mobile-nav-drawer > header > div {display:grid}
.mobile-nav-drawer > header small {color:var(--muted)}
.mobile-nav-drawer > header button {width:42px;height:42px;border:1px solid var(--line-soft);border-radius:50%;background:var(--surface-soft);font-size:1.2rem}
.global-search-result-actions,.personal-workspace-entities {grid-template-columns:minmax(0,1fr)}
.personal-continuity-group li {grid-template-columns:minmax(0,1fr)}
.analysis-template-workspace > header,.analysis-template-list > li {display:grid;grid-template-columns:minmax(0,1fr)}
.analysis-template-create {grid-template-columns:minmax(0,1fr)}
.analysis-template-create > button {width:100%}
.analysis-template-actions {justify-content:stretch}
.analysis-template-actions button {flex:1 1 132px}
.analysis-template-replacement,.analysis-template-replacement select {width:100%;max-width:none}
.analysis-template-governance > header {display:grid}
.analysis-template-metrics,.analysis-template-governance-form {grid-template-columns:minmax(0,1fr)}
.analysis-template-governance-form label.is-wide,.analysis-template-governance-form footer {grid-column:1}
.analysis-template-governance-form footer button {width:100%}
.analysis-template-preview > header,.analysis-template-preview > footer {display:grid}
.analysis-template-preview dl {grid-template-columns:minmax(0,1fr)}
.analysis-template-preview > footer button {width:100%}
.personal-recovery-panel ol {grid-template-columns:minmax(0,1fr)}
.personal-recovery-panel > header {display:grid}
.saved-action-full {display:none}
.saved-action-compact {display:inline}
.saved-filter-actions button {min-width:38px;padding-inline:8px;white-space:nowrap}
.global-search-favorite {width:100%!important}
.mobile-nav-groups {display:grid;gap:12px;padding:13px 15px 18px;overflow-y:auto}
.mobile-nav-groups section {display:grid;gap:6px}
.mobile-nav-groups h2 {margin:0;color:var(--muted);font-size:var(--type-xs)}
.mobile-nav-groups section > div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.mobile-nav-groups [data-module-target] {min-height:46px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:12px;color:var(--ink);background:var(--surface-soft);font:inherit;text-align:left}
.mobile-nav-groups [data-module-target].is-active {border-color:rgba(200,147,47,.52);background:var(--brand-gold-soft)}
.filter-dialog-layer,.saved-analysis-layer {place-items:end center;padding:0}
.filter-dialog,.saved-analysis-dialog {width:100%;max-height:92dvh;border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0}
.filter-dialog-header,.saved-analysis-dialog > header {padding:13px 14px 11px}
.filter-dialog-body {padding:12px 14px 16px}
.filter-applicability header {display:grid;gap:4px}
.filter-applicability header p {text-align:left}
.filter-applicability ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.filter-applicability li {display:grid;gap:1px;border-radius:10px}
.filter-dialog-actions {grid-template-columns:1fr 1fr;padding:10px 14px max(10px,env(safe-area-inset-bottom))}
.filter-dialog-actions > span {display:none}
.filter-dialog-actions .filter-reset {grid-column:1/-1;order:3}
.filter-primary-grid,.filter-advanced-grid {grid-template-columns:minmax(0,1fr)}
.investigation-context-actions {width:100%;flex-wrap:wrap}
.investigation-queue-actions {flex:1;justify-content:space-between}}

/* P30: reliable interactions, denser desktop shell and consistent deep-page decisions */
.module-nav-menu > button[aria-expanded="true"] {
border-color:rgba(200,147,47,.64);
background:rgba(200,147,47,.18);
box-shadow:inset 0 0 0 1px rgba(200,147,47,.22)}
@media (min-width:781px) {
.shell-header,
.shell-header.is-compact {
  gap:5px;
  padding:8px 12px}
.shell-header .shell-header-top,
.shell-header.is-compact .shell-header-top {
  gap:8px}
.module-nav-menu > button {
  min-height:38px}
.compact-filter-bar {
  padding-top:2px}}

/* P31: decision intelligence core */
.decision-intelligence {
  margin:20px 0;
  padding:24px;
  border:1px solid rgba(133,84,23,.2);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,252,246,.98),rgba(248,241,230,.94));
  box-shadow:0 14px 38px rgba(54,37,20,.08)}
.intelligence-heading,.intelligence-signals > header,.intelligence-explorer > header,.intelligence-semantics summary,.intelligence-signals li,.intelligence-mobile-rows article > header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px}
.intelligence-heading h2,.intelligence-signals h3,.intelligence-explorer h3 {margin:2px 0 4px}
.intelligence-heading p,.intelligence-signals header p,.intelligence-explorer header p {margin:0;color:var(--muted)}
.intelligence-heading > span,.intelligence-signals header > span,.intelligence-heading > button,.intelligence-product-request button {
  flex:none;
  border:0;
  border-radius:999px;
  padding:9px 14px;
  color:#fff;
  background:#27231f;
  font-weight:700}
.intelligence-semantics {
  margin-top:16px;
  border:1px solid rgba(91,62,31,.16);
  border-radius:16px;
  background:rgba(255,255,255,.7)}
.intelligence-semantics summary {min-height:52px;padding:10px 14px;cursor:pointer;list-style:none}
.intelligence-semantics summary::-webkit-details-marker,.intelligence-action-menu summary::-webkit-details-marker {display:none}
.intelligence-semantics summary span {display:grid;gap:2px}
.intelligence-semantics summary small,.intelligence-semantics summary b,.intelligence-semantics article small,.intelligence-semantics article em {
  color:var(--muted);
  font-size:12px;
  font-style:normal}
.intelligence-semantics-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 12px 12px}
.intelligence-semantics article {display:grid;gap:7px;padding:12px;border-radius:12px;background:rgba(248,244,238,.88)}
.intelligence-semantics article header {display:flex;justify-content:space-between;gap:8px}
.intelligence-semantics article header span {color:#89580f;font-size:11px;font-weight:700}
.intelligence-semantics article p {margin:0;font-weight:700}
.intelligence-signals,.intelligence-explorer {margin-top:18px;padding:18px;border-radius:18px;background:rgba(255,255,255,.84)}
.intelligence-signals ol {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none}
.intelligence-signals li {
  min-width:0;
  padding:12px;
  border:1px solid rgba(82,61,38,.12);
  border-left:4px solid #bd8422;
  border-radius:13px;
  background:#fff}
.intelligence-signals li.is-risk {border-left-color:#a12632}
.intelligence-signals li.is-opportunity {border-left-color:#28724b}
.intelligence-signals li > div {min-width:0;flex:1}
.intelligence-signals li small,.intelligence-signals li strong,.intelligence-signals li p {display:block;margin:0}
.intelligence-signals li small,.intelligence-signals li p {color:var(--muted);font-size:12px}
.intelligence-signals li strong {margin:3px 0}
.signal-rank {display:grid;width:27px;height:27px;flex:none;place-items:center;border-radius:50%;background:#efe3cf;font-weight:800}
.intelligence-signals li > button,.intelligence-explorer > header > button,.intelligence-path button,.intelligence-metric-controls button,.intelligence-dimension-controls button,.intelligence-table th button {
  border:1px solid rgba(58,44,29,.18);
  border-radius:999px;
  padding:7px 10px;
  background:#fff;
  color:inherit;
  font:inherit;
  font-weight:700;
  cursor:pointer}
.intelligence-metric-controls,.intelligence-dimension-controls,.intelligence-dimension-controls > div,.intelligence-path {display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.intelligence-metric-controls {margin:15px 0 10px}
.intelligence-metric-controls button.is-active,.intelligence-dimension-controls button.is-active {border-color:#8b5e15;background:#d5a33a;color:#1c1711}
.intelligence-path {min-height:42px;padding:7px 9px;border-radius:12px;background:#f5efe6}
.intelligence-path button {display:inline-flex;align-items:center;gap:5px;border-color:transparent;padding:5px 8px;background:transparent}
.intelligence-path button:last-child {background:#fff}
.intelligence-path button small {color:var(--muted)}
.intelligence-current-metric {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}
.intelligence-current-metric > div {display:grid;gap:3px;padding:10px;border-radius:11px;background:#f8f5f0}
.intelligence-current-metric small {color:var(--muted)}
.intelligence-current-metric .is-risk,.intelligence-table .is-risk {color:#9a2030}
.intelligence-current-metric .is-opportunity,.intelligence-table .is-opportunity {color:#216d47}
.intelligence-dimension-controls {justify-content:space-between;margin:12px 0}
.intelligence-dimension-controls > span {font-weight:700}
.intelligence-reconcile {margin:10px 0 6px;color:var(--muted);font-size:12px}
.intelligence-reconcile[data-intelligence-reconciled="true"]::before {content:"✓ ";color:#217348;font-weight:800}
.intelligence-table-wrap {overflow-x:auto}
.intelligence-table {width:100%;border-collapse:collapse}
.intelligence-table th,.intelligence-table td {padding:10px 8px;border-bottom:1px solid rgba(73,54,34,.1);text-align:right;white-space:nowrap}
.intelligence-table th:first-child,.intelligence-table td:first-child {text-align:left}
.intelligence-table th button {max-width:240px;overflow:hidden;border:0;padding-left:0;text-overflow:ellipsis}
.intelligence-action-menu {position:relative}
.intelligence-action-menu summary {display:grid;width:34px;min-height:34px;place-items:center;border-radius:50%;background:#292521;color:#fff;cursor:pointer;list-style:none}
.intelligence-action-menu > div {
  position:absolute;
  z-index:18;
  top:calc(100% + 5px);
  right:0;
  display:grid;
  min-width:170px;
  padding:6px;
  border:1px solid rgba(38,31,24,.14);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(40,29,18,.18)}
.intelligence-action-menu button {border:0;border-radius:8px;padding:9px;background:transparent;text-align:left;cursor:pointer}
.intelligence-action-menu button:hover,.intelligence-action-menu button:focus-visible {background:#f1e8da}
.intelligence-product-request,.intelligence-empty {
  display:grid;
  justify-items:start;
  gap:6px;
  padding:18px;
  border:1px dashed rgba(77,55,31,.3);
  border-radius:13px;
  background:#faf7f2}
.intelligence-product-request p {margin:0;color:var(--muted)}
.intelligence-mobile-rows {display:none}

@media (max-width:760px) {
.decision-intelligence {margin:14px 0;padding:15px;border-radius:18px}
.intelligence-heading,.intelligence-signals > header,.intelligence-explorer > header {align-items:flex-start}
.intelligence-semantics-grid,.intelligence-signals ol {grid-template-columns:1fr}
.intelligence-signals li {align-items:flex-start}
.intelligence-current-metric {grid-template-columns:repeat(2,minmax(0,1fr))}
.intelligence-current-metric > div:last-child {grid-column:1/-1}
.intelligence-table-wrap {display:none}
.intelligence-mobile-rows {display:grid;gap:9px}
.intelligence-mobile-rows article {padding:11px;border:1px solid rgba(73,54,34,.12);border-radius:12px;background:#fff}
.intelligence-mobile-rows header > button {min-width:0;overflow:hidden;border:0;background:transparent;text-overflow:ellipsis;font-weight:800;white-space:nowrap}
.intelligence-mobile-rows dl {display:grid;gap:6px;margin:9px 0 0}
.intelligence-mobile-rows dl > div {display:flex;justify-content:space-between;gap:12px}
.intelligence-mobile-rows dt {color:var(--muted)}}

/* P32: decision quality, decomposition coverage and deterministic briefing */
.signal-thresholds {margin:10px 0 0;color:var(--muted);font-size:12px}
.signal-metrics {display:grid!important;grid-template-columns:1fr!important;gap:4px!important;margin:7px 0!important;padding:0!important;list-style:none}
.signal-metrics li {display:flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:7px!important;padding:0!important;border:0!important;background:transparent!important}
.signal-metrics b {font-size:12px}
.signal-metrics span,.signal-score-detail p {color:var(--muted);font-size:12px}
.signal-score-detail summary {color:var(--brand-gold-ink);font-size:12px;font-weight:750;cursor:pointer}
.signal-score-detail p {margin:5px 0 0!important}
.intelligence-compare-controls {display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:13px 0 0}
.intelligence-compare-controls span {margin-right:3px;font-size:12px;font-weight:750}
.intelligence-compare-controls button,.intelligence-expand {min-height:36px;padding:0 12px;border:1px solid rgba(58,44,29,.18);border-radius:999px;background:#fff;color:inherit;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.intelligence-compare-controls button.is-active {border-color:#8b5e15;background:#d5a33a;color:#1c1711}
.intelligence-coverage {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.intelligence-coverage > div {display:grid;gap:3px;padding:10px;border:1px solid rgba(73,54,34,.1);border-radius:11px;background:#f8f5f0}
.intelligence-coverage small {color:var(--muted);font-size:11px}
.intelligence-coverage strong {overflow-wrap:anywhere;font-size:13px}
.intelligence-expand {margin:0 0 8px}
.management-brief-preview {display:grid;gap:12px;padding:14px;border:1px solid rgba(200,147,47,.32);border-radius:var(--radius-card);background:linear-gradient(145deg,var(--brand-gold-soft),var(--surface))}
.management-brief-preview > header {display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.management-brief-preview > header span {padding:4px 8px;border-radius:var(--radius-pill);color:var(--brand-gold-ink);background:rgba(200,147,47,.14);font-size:11px;font-weight:800}
.management-brief-context {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.management-brief-context > div {display:grid;gap:2px}
.management-brief-context dt,.management-brief-preview article small,.management-brief-preview footer {color:var(--muted);font-size:11px}
.management-brief-context dd {margin:0;font-size:12px;font-weight:750}
.management-brief-preview article {display:grid;gap:4px;padding:10px;border-radius:11px;background:rgba(255,255,255,.76)}
.management-brief-preview article p {color:var(--muted);font-size:12px}
.management-brief-preview h4 {margin:0 0 6px;font-size:13px}
.management-brief-preview ol {display:grid;gap:6px;margin:0;padding-left:18px}
.management-brief-preview li {padding-left:3px;font-size:12px}
.management-brief-preview li strong,.management-brief-preview li span {display:block}
.management-brief-preview li span {color:var(--muted)}
@media (max-width:760px) {
.intelligence-coverage {grid-template-columns:repeat(2,minmax(0,1fr))}
.signal-metrics li {display:grid!important;gap:1px!important}
.management-brief-context {grid-template-columns:1fr}}

/* P35: progressive disclosure for converged signal and root-cause layers */
.intelligence-signal-more,
.intelligence-explorer-disclosure {
  margin-top:12px;
  border-top:1px solid var(--line-soft)}
.intelligence-signal-more > summary,
.intelligence-explorer-disclosure > summary {
  min-height:42px;
  padding:10px 2px;
  color:var(--apple-blue-hover);
  font-size:var(--type-sm);
  font-weight:800;
  cursor:pointer}
.intelligence-signal-more > ol {
  margin-top:4px}
.intelligence-explorer-disclosure > .intelligence-semantics {
  margin-top:8px}
.intelligence-explorer-disclosure > .intelligence-explorer {
  margin-top:12px}

/* P34: unified interaction and visual system, aligned with the division dashboard */
:root {
--apple-blue:#2563eb;
--apple-blue-hover:#1d4ed8;
--page:#f8fafc;
--header:#ffffff;
--surface:#ffffff;
--surface-soft:#f8fafc;
--ink:#0f172a;
--muted:#64748b;
--line:#e2e8f0;
--line-strong:#cbd5e1;
--line-soft:rgba(148,163,184,.28);
--blue-soft:#eff6ff;
--blue-border:#bfdbfe;
--glass:rgba(255,255,255,.94);
--shadow-card:0 1px 2px rgba(15,23,42,.04),0 10px 28px rgba(15,23,42,.06);
--shadow-card-hover:0 2px 5px rgba(15,23,42,.06),0 14px 34px rgba(15,23,42,.09);
--shadow-header:0 1px 0 rgba(15,23,42,.06),0 10px 30px rgba(15,23,42,.06);
--shadow-popover:0 18px 54px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.08);
--radius-card:10px;
--radius-button:8px;
--radius-panel:12px;
--type-xs:.75rem;
--type-sm:.8125rem;
--type-body:.875rem;
--type-title:1rem;
--type-display:1.5rem;
--font-ui:-apple-system,"SF Pro Text",BlinkMacSystemFont,"PingFang SC",Inter,ui-sans-serif,system-ui,"Segoe UI","Microsoft YaHei",sans-serif}
html {background:var(--page)}
body {
color:var(--ink);
background:var(--page);
font-family:var(--font-ui);
font-size:13px;
line-height:1.45}
button,input,select,textarea {font-family:inherit}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
outline-color:rgba(37,99,235,.72)}
.shell-header,
.shell-header.is-compact {
color:var(--ink);
border-color:var(--line);
background:rgba(255,255,255,.94);
box-shadow:var(--shadow-header)}
@supports ((-webkit-backdrop-filter:blur(14px)) or (backdrop-filter:blur(14px))) {
.shell-header,
.shell-header.is-compact {
background:rgba(255,255,255,.9);
-webkit-backdrop-filter:saturate(145%) blur(14px);
backdrop-filter:saturate(145%) blur(14px)}}
.shell-header .shell-title-stack h1,
.shell-header.is-compact h1 {
color:var(--ink);
font-size:1.5rem;
line-height:1.18;
letter-spacing:-.02em}
.shell-header .eyebrow {color:var(--brand-gold-ink)}
.shell-header .status-pill,
.shell-header .shell-meta span,
.shell-header.is-compact .shell-meta span {
color:var(--muted);
border-color:var(--line);
background:var(--surface-soft)}
.shell-header .shell-meta strong,
.shell-header.is-compact .shell-meta strong {color:var(--ink)}
.module-nav-shell {
border-color:var(--line);
background:#f1f5f9}
.module-nav-menu > button,
.module-nav button {
color:#475569;
background:transparent}
.module-nav-menu > button:hover,
.module-nav-menu > button:focus-visible,
.module-nav button:hover,
.module-nav button:focus-visible {
color:#1d4ed8;
background:#eff6ff}
.module-nav-menu > button.is-active,
.module-nav button.is-active,
.module-nav-menu > button[aria-expanded="true"] {
color:#1d4ed8;
background:#ffffff;
box-shadow:0 1px 3px rgba(15,23,42,.1)}
.module-nav-popover {
border-color:var(--line);
background:rgba(255,255,255,.98);
box-shadow:var(--shadow-popover)}
.module-nav-popover button {color:var(--ink)}
.compact-filter-bar {
color:var(--muted);
border-color:var(--line);
background:var(--surface-soft)}
.compact-filter-bar strong,
.shell-header .compact-filter-bar > span {color:var(--ink)}
.shell-header .compact-filter-bar,
.shell-header .compact-filter-bar small {color:var(--muted)}
.shell-header .compact-filter-actions {color:var(--ink)}
.filter-dialog,
.saved-analysis-dialog {
border-color:var(--line);
border-radius:var(--radius-panel);
box-shadow:0 24px 70px rgba(15,23,42,.2)}
.filter-dialog-backdrop,
.saved-analysis-backdrop {background:rgba(15,23,42,.42)}
.filter-applicability {border-color:var(--line);background:var(--surface-soft)}
.filter-applicability li strong {color:#1d4ed8}
.filter-dialog-actions button.is-primary {
color:#fff;
border-color:#2563eb;
background:#2563eb}
.filter-dialog-actions button.is-primary:hover,
.filter-dialog-actions button.is-primary:focus-visible {background:#1d4ed8}
.route-context-bar {
border-color:var(--line);
background:var(--surface)}
.route-context-bar button {
color:#1d4ed8;
border-color:#bfdbfe;
border-radius:var(--radius-button)}
.route-context-bar button:hover,
.route-context-bar button:focus-visible {
border-color:#2563eb;
background:#eff6ff;
outline-color:rgba(37,99,235,.22)}
.investigation-context {
border-color:#bfdbfe;
border-left-color:#2563eb;
background:linear-gradient(135deg,#eff6ff,#ffffff)}
.investigation-context button {
color:#1d4ed8;
border-color:#93c5fd;
border-radius:var(--radius-button)}
.investigation-context button:hover,
.investigation-context button:focus-visible {background:#eff6ff}
.investigation-context .investigation-apply {
color:#ffffff;
border-color:#2563eb;
background:#2563eb}
.investigation-context .investigation-apply:hover,
.investigation-context .investigation-apply:focus-visible {background:#1d4ed8}
.decision-intelligence {
border-color:var(--line);
background:var(--surface);
box-shadow:var(--shadow-card)}
.intelligence-semantics,.intelligence-signals,.intelligence-explorer,
.intelligence-current-metric > div,.intelligence-coverage > div,
.intelligence-path,.intelligence-product-request,.intelligence-empty {
border-color:var(--line);
background:var(--surface-soft)}
.intelligence-signals li,.intelligence-mobile-rows article {border-color:var(--line);background:var(--surface)}
.intelligence-metric-controls button.is-active,
.intelligence-dimension-controls button.is-active,
.intelligence-compare-controls button.is-active {
color:#ffffff;
border-color:#2563eb;
background:#2563eb}
.intelligence-action-menu summary {background:#0f172a}
.intelligence-heading > button,
.intelligence-product-request button,
.market-diagnostics-launcher button {
color:#ffffff;
border-color:#2563eb;
background:#2563eb}
.intelligence-heading > button:hover,
.intelligence-heading > button:focus-visible,
.intelligence-product-request button:hover,
.intelligence-product-request button:focus-visible,
.market-diagnostics-launcher button:hover,
.market-diagnostics-launcher button:focus-visible {background:#1d4ed8}
.intelligence-action-menu button:hover,
.intelligence-action-menu button:focus-visible {background:#eff6ff}
.share-menu > summary {
color:#1d4ed8;
border-color:#bfdbfe;
background:#eff6ff}
.filter-button-row button.is-active,
.filter-button-row button[aria-pressed="true"],
.comparison-mode-segments button.is-active,
.market-sort button.is-active,
.trend-granularity-controls button.is-active,
.cross-view-segments button.is-active,
.analysis-task-switcher button.is-active {
color:#ffffff;
border-color:#2563eb;
background:#2563eb}
.month-cell.is-start,
.month-cell.is-end {color:#ffffff;border-color:#2563eb;background:#2563eb}
.month-cell.is-between {color:#1d4ed8;background:#dbeafe}
.export-button,.section-export-button {color:#ffffff;border-color:#2563eb;background:#2563eb}
.export-button:hover,.export-button:focus-visible,
.section-export-button:hover,.section-export-button:focus-visible {background:#1d4ed8}
.market-table-focus .is-active-metric,
.market-table-focus tbody tr:nth-child(even) .is-active-metric,
.market-table-focus tbody tr:hover .is-active-metric {background:rgba(37,99,235,.08)}
@media (max-width:780px) {
.mobile-bottom-nav {
border-color:var(--line);
background:rgba(255,255,255,.97);
box-shadow:0 12px 38px rgba(15,23,42,.16)}
.mobile-bottom-nav button {color:#64748b}
.mobile-bottom-nav button.is-active {color:#1d4ed8;background:#eff6ff}
.mobile-nav-groups [data-module-target].is-active {border-color:#93c5fd;background:#eff6ff}}
@media (max-width:600px) {
.shell-header .shell-title-stack h1,
.shell-header.is-compact h1 {font-size:1.25rem}
.investigation-context-actions {display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.investigation-context-actions > button {width:100%;min-height:44px}}
