/*
 * L2 route-spanning pattern layer.
 * A selector family moves here only after a second valid use proves the same
 * responsive and accessibility contract. Route-local narrative stays local.
 */

/* Explainer card: six existing instances across home and governance routes. */
.how-card{
  position:relative;
  padding:var(--ivc-comp-explainer-padding);
  border:1px solid var(--ivc-comp-explainer-border);
  border-radius:var(--ivc-comp-explainer-radius);
  background:var(--ivc-comp-explainer-background);
  box-shadow:var(--ivc-comp-explainer-shadow)
}
.how-card .step{
  display:grid;
  place-items:center;
  width:var(--ivc-comp-explainer-step-size);
  height:var(--ivc-comp-explainer-step-size);
  border-radius:var(--ivc-comp-explainer-step-radius);
  background:var(--ivc-comp-explainer-step-background);
  color:var(--ivc-comp-explainer-step-text);
  font:var(--ivc-comp-explainer-step-font)
}
.how-card h3{
  margin:18px 0 8px;
  color:var(--ivc-comp-explainer-title-text);
  font-size:var(--ivc-comp-explainer-title-size)
}
.how-card p{
  margin:0;
  color:var(--ivc-comp-explainer-body-text);
  font-size:var(--ivc-comp-explainer-body-size);
  line-height:var(--ivc-comp-explainer-body-leading)
}
.how-card button{
  margin-top:18px;
  min-height:40px;
  padding:0;
  border:0;
  background:none;
  color:var(--ivc-comp-explainer-action-text);
  font-weight:var(--ivc-ref-font-weight-bold);
  text-align:left
}
.how-card button:hover{color:var(--ivc-comp-explainer-action-hover)}

/* Platform-data summaries: 17 dashboards / 39 cards across governed data routes. */
.pd-dashboard{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--ivc-comp-data-summary-grid-min),1fr));
  gap:var(--ivc-comp-data-summary-grid-gap);
  margin:var(--ivc-comp-data-summary-margin-block) 0
}
.pd-card{
  min-width:0;
  padding:var(--ivc-comp-data-summary-card-padding-block) var(--ivc-comp-data-summary-card-padding-inline);
  border:1px solid var(--ivc-comp-data-summary-card-border);
  border-radius:var(--ivc-comp-data-summary-card-radius);
  background:var(--ivc-comp-data-summary-card-background)
}
.pd-card h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--ivc-comp-data-summary-heading-gap);
  margin:0 0 var(--ivc-comp-data-summary-heading-margin-block-end);
  color:var(--ivc-comp-data-summary-heading-text);
  font-family:var(--ivc-comp-data-summary-heading-font);
  font-size:var(--ivc-comp-data-summary-heading-size)
}
.pd-card h3 span{
  padding:var(--ivc-comp-data-summary-badge-padding-block) var(--ivc-comp-data-summary-badge-padding-inline);
  border:1px solid var(--ivc-comp-data-summary-badge-border);
  border-radius:var(--ivc-comp-data-summary-badge-radius);
  background:var(--ivc-comp-data-summary-badge-background);
  color:var(--ivc-comp-data-summary-badge-text);
  font-family:var(--ivc-comp-data-summary-badge-font);
  font-size:var(--ivc-comp-data-summary-badge-size);
  font-weight:var(--ivc-comp-data-summary-badge-weight);
  white-space:nowrap
}
.pd-kv{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--ivc-comp-data-summary-kv-gap);
  margin:0
}
.pd-kv div{
  display:grid;
  grid-template-columns:minmax(var(--ivc-comp-data-summary-label-min),.9fr) minmax(0,1.3fr);
  gap:var(--ivc-comp-data-summary-heading-gap);
  align-items:baseline
}
.pd-kv dt{
  color:var(--ivc-comp-data-summary-label-text);
  font-size:var(--ivc-comp-data-summary-label-size)
}
.pd-kv dd{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
  color:var(--ivc-comp-data-summary-value-text);
  font-size:var(--ivc-comp-data-summary-value-size);
  font-weight:var(--ivc-comp-data-summary-value-weight)
}
.pd-kv dd small{
  display:block;
  margin-top:var(--ivc-comp-data-summary-detail-margin-block-start);
  color:var(--ivc-comp-data-summary-detail-text);
  font-family:var(--ivc-comp-data-summary-detail-font);
  font-size:var(--ivc-comp-data-summary-detail-size);
  font-weight:var(--ivc-comp-data-summary-detail-weight)
}

/* Row-selection tools: shared watch and compare actions in query and cluster rows. */
.ui-round-tool{
  border-radius:var(--ivc-comp-row-tool-radius);
  border:var(--ivc-comp-row-tool-border-width) solid var(--ivc-comp-row-tool-border);
  background:var(--ivc-comp-row-tool-background);
  color:var(--ivc-comp-row-tool-text);
  font-weight:var(--ivc-comp-row-tool-weight);
  box-shadow:var(--ivc-comp-row-tool-shadow)
}
.ui-round-tool:hover{
  border-color:var(--ivc-comp-row-tool-hover-border);
  background:var(--ivc-comp-row-tool-hover-background);
  color:var(--ivc-comp-row-tool-hover-text)
}
.ui-round-tool.on{
  border-color:var(--ivc-comp-row-tool-selected-border);
  background:var(--ivc-comp-row-tool-selected-background);
  color:var(--ivc-comp-row-tool-selected-text);
  box-shadow:var(--ivc-comp-row-tool-selected-shadow)
}
.cmp-check.ui-round-tool{font-size:var(--ivc-comp-row-tool-compare-icon-size)}
.star-btn.ui-round-tool{font-size:var(--ivc-comp-row-tool-watch-icon-size)}
#app .screen-view .wb-result-row .star-btn.ui-round-tool{
  min-width:var(--ivc-comp-row-tool-screen-watch-size);
  width:var(--ivc-comp-row-tool-screen-watch-size);
  min-height:var(--ivc-comp-row-tool-screen-watch-size);
  height:var(--ivc-comp-row-tool-screen-watch-size);
  border-color:var(--ivc-comp-row-tool-screen-border);
  background:var(--ivc-comp-row-tool-screen-background);
  box-shadow:var(--ivc-comp-row-tool-screen-shadow);
  color:var(--ivc-comp-row-tool-screen-text);
  padding:var(--ivc-comp-row-tool-screen-padding);
  border-radius:var(--ivc-comp-row-tool-screen-radius);
  justify-self:center;
  align-self:center
}
#app .screen-view .wb-result-row .star-btn.ui-round-tool:hover,
#app .screen-view .wb-result-row .star-btn.ui-round-tool.on{
  border-color:var(--ivc-comp-row-tool-screen-border);
  background:var(--ivc-comp-row-tool-screen-background);
  box-shadow:var(--ivc-comp-row-tool-screen-shadow);
  color:var(--ivc-comp-row-tool-screen-selected-text)
}
#app .screen-view .wb-result-row .cmp-check.ui-round-tool{
  min-width:var(--ivc-comp-row-tool-screen-compare-size);
  width:var(--ivc-comp-row-tool-screen-compare-size);
  min-height:var(--ivc-comp-row-tool-screen-compare-size);
  height:var(--ivc-comp-row-tool-screen-compare-size);
  aspect-ratio:1/1;
  box-sizing:border-box;
  padding:var(--ivc-comp-row-tool-screen-padding);
  border-radius:var(--ivc-comp-row-tool-radius);
  display:inline-grid;
  place-items:center;
  justify-self:center;
  align-self:center;
  font-size:var(--ivc-comp-row-tool-screen-compare-icon-size);
  line-height:var(--ivc-comp-row-tool-line-height)
}

/* Data-universe panels: 48 panels, 20 headers / 45 bodies across platform routes. */
.pd-universe-panel{
  margin:var(--ivc-comp-data-universe-panel-margin-block-start) 0 var(--ivc-comp-data-universe-panel-margin-block-end);
  border:var(--ivc-comp-data-universe-panel-border-width) solid var(--ivc-comp-data-universe-panel-border);
  border-radius:var(--ivc-comp-data-universe-panel-radius);
  background:var(--ivc-comp-data-universe-panel-background);
  box-shadow:var(--ivc-comp-data-universe-panel-shadow);
  overflow:hidden
}
.pd-universe-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--ivc-comp-data-universe-head-gap);
  padding:var(--ivc-comp-data-universe-head-padding-block) var(--ivc-comp-data-universe-head-padding-inline);
  border-bottom:var(--ivc-comp-data-universe-panel-border-width) solid var(--ivc-comp-data-universe-head-border)
}
.pd-universe-head b{
  display:block;
  color:var(--ivc-comp-data-universe-heading-text);
  font-size:var(--ivc-comp-data-universe-heading-size)
}
.pd-universe-head span{
  display:block;
  margin-top:var(--ivc-comp-data-universe-description-offset);
  color:var(--ivc-comp-data-universe-description-text);
  font-size:var(--ivc-comp-data-universe-description-size);
  line-height:var(--ivc-comp-data-universe-description-leading)
}
.pd-universe-body{padding:var(--ivc-comp-data-universe-body-padding-block) var(--ivc-comp-data-universe-body-padding-inline)}
.home-universe-bridge .pd-universe-head b{font-size:var(--ivc-comp-data-universe-home-heading-size)}

/* Platform data-status primitives: 71 states / 34 badges / 33 pills across governance and company data views. */
.pd-badge{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border:var(--ivc-comp-data-status-badge-border-width) solid var(--ivc-comp-data-status-badge-border);
  border-radius:var(--ivc-comp-data-status-badge-radius);
  padding:var(--ivc-comp-data-status-badge-padding-block) var(--ivc-comp-data-status-badge-padding-inline);
  background:var(--ivc-comp-data-status-badge-background);
  color:var(--ivc-comp-data-status-badge-text);
  font-size:var(--ivc-comp-data-status-badge-size);
  font-weight:var(--ivc-comp-data-status-badge-weight);
  letter-spacing:var(--ivc-comp-data-status-badge-letter-spacing)
}
.pd-state{
  color:var(--ivc-comp-data-status-text);
  font-size:var(--ivc-comp-data-status-state-size);
  line-height:var(--ivc-comp-data-status-state-leading)
}
.pd-state code{
  padding:var(--ivc-comp-data-status-code-padding-block) var(--ivc-comp-data-status-code-padding-inline);
  border:var(--ivc-comp-data-status-badge-border-width) solid var(--ivc-comp-data-status-code-border);
  border-radius:var(--ivc-comp-data-status-code-radius);
  background:var(--ivc-comp-data-status-code-background);
  color:var(--ivc-comp-data-status-code-text);
  font-family:var(--ivc-comp-data-status-code-font);
  font-size:var(--ivc-comp-data-status-code-size)
}
.pd-meta{
  display:flex;
  gap:var(--ivc-comp-data-status-meta-gap);
  flex-wrap:wrap;
  margin-bottom:var(--ivc-comp-data-status-meta-margin-block-end)
}
.pd-pill{
  display:inline-flex;
  align-items:center;
  padding:var(--ivc-comp-data-status-pill-padding-block) var(--ivc-comp-data-status-pill-padding-inline);
  border:var(--ivc-comp-data-status-pill-border-width) solid var(--ivc-comp-data-status-pill-border);
  border-radius:var(--ivc-comp-data-status-pill-radius);
  background:var(--ivc-comp-data-status-pill-background);
  color:var(--ivc-comp-data-status-pill-text);
  font-size:var(--ivc-comp-data-status-pill-size)
}
.pd-pill strong{margin-left:var(--ivc-comp-data-status-pill-value-margin-inline-start);color:var(--ivc-comp-data-status-pill-value-text)}
.pd-tag{
  display:inline-flex;
  padding:var(--ivc-comp-data-status-tag-padding-block) var(--ivc-comp-data-status-tag-padding-inline);
  border-radius:var(--ivc-comp-data-status-tag-radius);
  background:var(--ivc-comp-data-status-tag-background);
  color:var(--ivc-comp-data-status-tag-text);
  font-size:var(--ivc-comp-data-status-tag-size);
  font-weight:var(--ivc-comp-data-status-tag-weight)
}
.pd-warn{
  margin-top:var(--ivc-comp-data-status-warning-margin-block-start);
  padding-top:var(--ivc-comp-data-status-warning-padding-block-start);
  border-top:var(--ivc-comp-data-status-warning-border-width) var(--ivc-comp-data-status-warning-border-style) var(--ivc-comp-data-status-warning-border);
  color:var(--ivc-comp-data-status-warning-text);
  font-size:var(--ivc-comp-data-status-warning-size);
  line-height:var(--ivc-comp-data-status-warning-leading)
}
body:not(.is-data-governance) .pd-warn{display:none}

/* Company decision briefs: 40 surfaces / 25 compact cards across company rendering paths. */
.co-brief{
  margin:var(--ivc-comp-company-brief-margin-block-start) var(--ivc-comp-company-brief-margin-inline) var(--ivc-comp-company-brief-margin-block-end);
  background:var(--ivc-comp-company-brief-surface);
  border:var(--ivc-comp-company-brief-border-width) solid var(--ivc-comp-company-brief-border);
  border-radius:var(--ivc-comp-company-brief-radius);
  box-shadow:var(--ivc-comp-company-brief-shadow);
  padding:var(--ivc-comp-company-brief-padding)
}
.co-brief-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:var(--ivc-comp-company-brief-head-gap);
  margin-bottom:var(--ivc-comp-company-brief-head-margin-block-end)
}
.co-brief-head h2{
  margin:var(--ivc-comp-company-brief-heading-margin);
  font-family:var(--ivc-comp-company-brief-heading-font);
  font-size:var(--ivc-comp-company-brief-heading-size);
  font-weight:var(--ivc-comp-company-brief-heading-weight);
  color:var(--ivc-comp-company-brief-heading-text)
}
.co-brief-head p{
  margin:var(--ivc-comp-company-brief-description-margin-block-start) var(--ivc-comp-company-brief-description-margin-inline) var(--ivc-comp-company-brief-description-margin-block-end);
  color:var(--ivc-comp-company-brief-description-text);
  font-size:var(--ivc-comp-company-brief-description-size);
  line-height:var(--ivc-comp-company-brief-description-leading)
}
.co-brief-grid{
  display:grid;
  grid-template-columns:var(--ivc-comp-company-brief-grid-desktop);
  gap:var(--ivc-comp-company-brief-grid-gap)
}
.co-brief-card{
  border:var(--ivc-comp-company-brief-card-border-width) solid var(--ivc-comp-company-brief-card-border);
  border-radius:var(--ivc-comp-company-brief-card-radius);
  background:var(--ivc-comp-company-brief-card-surface);
  padding:var(--ivc-comp-company-brief-card-padding-block) var(--ivc-comp-company-brief-card-padding-inline);
  min-height:var(--ivc-comp-company-brief-card-min-height);
  box-shadow:var(--ivc-comp-company-brief-card-shadow)
}
.co-brief-card b{
  display:block;
  margin:var(--ivc-comp-company-brief-card-copy-margin) var(--ivc-comp-company-brief-card-copy-margin) var(--ivc-comp-company-brief-card-title-margin-block-end);
  color:var(--ivc-comp-company-brief-card-title-text);
  font-size:var(--ivc-comp-company-brief-card-title-size);
  font-weight:var(--ivc-comp-company-brief-card-title-weight)
}
.co-brief-card p{
  margin:var(--ivc-comp-company-brief-card-copy-margin);
  color:var(--ivc-comp-company-brief-card-copy-text);
  font-size:var(--ivc-comp-company-brief-card-copy-size);
  line-height:var(--ivc-comp-company-brief-card-copy-leading)
}
.co-brief-card strong{color:var(--ivc-comp-company-brief-card-accent-text);font-weight:var(--ivc-comp-company-brief-card-accent-weight)}
.co-brief-card em{
  display:block;
  margin:var(--ivc-comp-company-brief-card-meta-margin-block-start) var(--ivc-comp-company-brief-card-meta-margin-inline) var(--ivc-comp-company-brief-card-meta-margin-block-end);
  font-style:normal;
  color:var(--ivc-comp-company-brief-card-meta-text);
  font-size:var(--ivc-comp-company-brief-card-meta-size);
  line-height:var(--ivc-comp-company-brief-card-meta-leading)
}
@media(max-width:1100px){.co-brief-grid{grid-template-columns:var(--ivc-comp-company-brief-grid-tablet)}}
@media(max-width:640px){.co-brief{padding:var(--ivc-comp-company-brief-padding-mobile)}.co-brief-grid{grid-template-columns:var(--ivc-comp-company-brief-grid-mobile)}.co-brief-card{min-height:var(--ivc-comp-company-brief-card-min-height-mobile)}}

/* Analysis cards: 7 grids / 20 cards / 22 explanations across seven analytical routes. */
.an-grid{display:grid;grid-template-columns:var(--ivc-comp-analysis-card-grid-template);gap:var(--ivc-comp-analysis-card-grid-gap)}
.an-card{background:var(--ivc-comp-analysis-card-surface);border:var(--ivc-comp-analysis-card-border-width) solid var(--ivc-comp-analysis-card-border);border-radius:var(--ivc-comp-analysis-card-radius);padding:var(--ivc-comp-analysis-card-padding);box-shadow:var(--ivc-comp-analysis-card-shadow)}
.an-card h4{margin:var(--ivc-comp-analysis-card-heading-margin-block-start) var(--ivc-comp-analysis-card-heading-margin-inline) var(--ivc-comp-analysis-card-heading-margin-block-end);font-family:var(--ivc-comp-analysis-card-heading-font);font-weight:var(--ivc-comp-analysis-card-heading-weight);font-size:var(--ivc-comp-analysis-card-heading-size);color:var(--ivc-comp-analysis-card-heading-text)}
.an-sub{margin:var(--ivc-comp-analysis-card-sub-margin-block-start) var(--ivc-comp-analysis-card-sub-margin-inline) var(--ivc-comp-analysis-card-sub-margin-block-end);font-size:var(--ivc-comp-analysis-card-sub-size);color:var(--ivc-comp-analysis-card-sub-text);line-height:var(--ivc-comp-analysis-card-sub-leading)}
.an-card.hi{background:var(--ivc-comp-analysis-card-highlight-background);border-color:var(--ivc-comp-analysis-card-highlight-border)}
.special-detail .an-card,.shock-detail .an-card{border-color:var(--ivc-comp-analysis-card-variant-border);border-radius:var(--ivc-comp-analysis-card-variant-radius);box-shadow:var(--ivc-comp-analysis-card-variant-shadow);padding:var(--ivc-comp-analysis-card-variant-padding)}
.special-detail .an-card h4,.shock-detail .an-card h4{color:var(--ivc-comp-analysis-card-variant-heading-text)}
.shock-detail .an-card{min-width:var(--ivc-comp-analysis-card-min-inline-size)}
.arena-support-card .an-sub{margin-bottom:var(--ivc-comp-analysis-card-support-sub-margin-block-end)}
@media print{.an-card,.special-detail .an-card,.shock-detail .an-card{box-shadow:var(--ivc-comp-analysis-card-print-shadow);break-inside:var(--ivc-comp-analysis-card-print-break)}}

/* Company relationship chips: 27 source instances across company, theme, special, arena and shock paths. */
.co-item{
  display:inline-flex;
  align-items:center;
  gap:var(--ivc-comp-company-chip-gap);
  padding:var(--ivc-comp-company-chip-padding-block) var(--ivc-comp-company-chip-padding-inline);
  border:var(--ivc-comp-company-chip-border-width) var(--ivc-comp-company-chip-border-style) var(--ivc-comp-company-chip-border);
  border-radius:var(--ivc-comp-company-chip-radius);
  background:var(--ivc-comp-company-chip-surface);
  color:var(--ivc-comp-company-chip-text);
  font-size:var(--ivc-comp-company-chip-size);
  box-shadow:var(--ivc-comp-company-chip-shadow)
}
.co-item svg{width:var(--ivc-comp-company-chip-icon-size);height:var(--ivc-comp-company-chip-icon-size);flex-shrink:0}
.co-item .code{font-family:var(--ivc-comp-company-chip-code-font);font-size:var(--ivc-comp-company-chip-code-size);color:var(--ivc-comp-company-chip-code-text)}
.co-item.dom{cursor:var(--ivc-comp-company-chip-cursor);transition:var(--ivc-comp-company-chip-transition)}
.co-item.dom:hover{background:var(--ivc-comp-company-chip-hover-surface);border-color:var(--ivc-comp-company-chip-hover-border);color:var(--ivc-comp-company-chip-hover-text)}
.co-item.dom:hover .code{color:var(--ivc-comp-company-chip-hover-code-text)}
.co-item.dom:hover svg *{stroke:var(--ivc-comp-company-chip-hover-icon-stroke)}
.co-item:not(.dom):not(.foreign):hover{background:var(--ivc-comp-company-chip-context-hover-surface);border-color:var(--ivc-comp-company-chip-context-hover-border);color:var(--ivc-comp-company-chip-context-hover-text)}
.co-item .tico{color:var(--ivc-comp-company-chip-tico-text)}
.co-item .gico{color:var(--ivc-comp-company-chip-gico-text)}
.co-item .star{color:var(--ivc-comp-company-chip-star-text);font-style:var(--ivc-comp-company-chip-star-style);font-size:var(--ivc-comp-company-chip-star-size)}
.co-item.foreign{border-style:var(--ivc-comp-company-chip-foreign-border-style);border-color:var(--ivc-comp-company-chip-foreign-border);background:var(--ivc-comp-company-chip-foreign-surface);color:var(--ivc-comp-company-chip-foreign-text);cursor:var(--ivc-comp-company-chip-foreign-cursor)}
@media(max-width:900px){
  .co-item{min-height:var(--ivc-comp-company-chip-mobile-min-height);display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:var(--ivc-comp-company-chip-mobile-tap-highlight);transition:var(--ivc-comp-company-chip-mobile-press-transition)}
  .co-item:active{background:var(--ivc-comp-company-chip-mobile-press-surface);transform:var(--ivc-comp-company-chip-mobile-press-transform)}
}
.arena-country-players .co-item{min-height:var(--ivc-comp-company-chip-arena-min-height);padding:var(--ivc-comp-company-chip-arena-padding-block) var(--ivc-comp-company-chip-arena-padding-inline);border-radius:var(--ivc-comp-company-chip-arena-radius);font-size:var(--ivc-comp-company-chip-arena-size);box-shadow:var(--ivc-comp-company-chip-shadow)}
.co-item.is-theme,.co-item.dom.is-theme:hover{background:var(--ivc-comp-company-chip-theme-surface);border-color:var(--ivc-comp-company-chip-theme-border);color:var(--ivc-comp-company-chip-theme-text);box-shadow:var(--ivc-comp-company-chip-theme-shadow);font-weight:var(--ivc-comp-company-chip-theme-weight)}
.co-item.dom.is-theme:hover .star,.co-item.dom.is-theme:hover .code{color:var(--ivc-comp-company-chip-hover-code-text)}
@media(max-width:900px){.arena-country-players .co-item{min-height:var(--ivc-comp-company-chip-arena-touch-min-height)}}

/* Utility action controls: 21 source instances across screener, market, fallback and company-detail paths. */
.act-btn{
  min-height:var(--ivc-comp-action-control-min-height);
  padding:var(--ivc-comp-action-control-padding-block) var(--ivc-comp-action-control-padding-inline);
  font-size:var(--ivc-comp-action-control-size);
  border:var(--ivc-comp-action-control-border-width) var(--ivc-comp-action-control-border-style) var(--ivc-comp-action-control-border);
  border-radius:var(--ivc-comp-action-control-radius);
  background:var(--ivc-comp-action-control-surface);
  color:var(--ivc-comp-action-control-text);
  font-weight:var(--ivc-comp-action-control-weight);
  box-shadow:var(--ivc-comp-action-control-shadow);
  cursor:var(--ivc-comp-action-control-cursor);
  white-space:var(--ivc-comp-action-control-white-space);
  transition:var(--ivc-comp-action-control-transition)
}
.act-btn:hover{background:var(--ivc-comp-action-control-hover-surface);border-color:var(--ivc-comp-action-control-hover-border)}
.act-btn.on{background:var(--ivc-comp-action-control-selected-surface);border-color:var(--ivc-comp-action-control-selected-border);color:var(--ivc-comp-action-control-selected-text)}
.screen-secondary-links .act-btn{min-height:var(--ivc-comp-action-control-compact-min-height);padding:var(--ivc-comp-action-control-compact-padding-block) var(--ivc-comp-action-control-compact-padding-inline);font-size:var(--ivc-comp-action-control-compact-size)}
html[data-theme="bright"] .act-btn{border-radius:var(--ivc-comp-action-control-bright-radius);font-weight:var(--ivc-comp-action-control-bright-weight)}
@media(max-width:900px){
  .act-btn{min-height:var(--ivc-comp-action-control-touch-min-height);display:var(--ivc-comp-action-control-touch-display);align-items:var(--ivc-comp-action-control-touch-align-items);justify-content:var(--ivc-comp-action-control-touch-justify-content);-webkit-tap-highlight-color:var(--ivc-comp-action-control-touch-tap-highlight);transition:var(--ivc-comp-action-control-touch-transition)}
  .act-btn:active{background:var(--ivc-comp-action-control-touch-press-surface);transform:var(--ivc-comp-action-control-touch-press-transform)}
}
.act-btn:active{transform:var(--ivc-comp-action-control-active-transform)}
.co-hd .co-actions .act-btn{
  min-width:var(--ivc-comp-action-control-company-min-width);
  min-height:var(--ivc-comp-action-control-company-min-height);
  padding:var(--ivc-comp-action-control-company-padding-block) var(--ivc-comp-action-control-company-padding-inline);
  border-radius:var(--ivc-comp-action-control-company-radius);
  background:var(--ivc-comp-action-control-company-surface);
  border-color:var(--ivc-comp-action-control-company-border);
  color:var(--ivc-comp-action-control-company-text);
  box-shadow:var(--ivc-comp-action-control-company-shadow);
  font-weight:var(--ivc-comp-action-control-company-weight)
}
.co-hd .co-actions .act-btn:hover{background:var(--ivc-comp-action-control-company-hover-surface);border-color:var(--ivc-comp-action-control-company-hover-border);color:var(--ivc-comp-action-control-company-hover-text)}
.co-hd .co-actions .act-btn.on{background:var(--ivc-comp-action-control-company-selected-surface);border-color:var(--ivc-comp-action-control-company-selected-border);color:var(--ivc-comp-action-control-company-selected-text);box-shadow:var(--ivc-comp-action-control-company-selected-shadow)}
@media(max-width:760px){.co-hd .co-actions .act-btn{min-width:var(--ivc-comp-action-control-company-mobile-min-width);min-height:var(--ivc-comp-action-control-company-mobile-min-height)}}

/* Narrative primary CTAs: 12 source instances across About and desktop mega-menu paths. */
.ab-go,.mgf-b{
  min-height:var(--ivc-comp-narrative-cta-min-height);
  border:var(--ivc-comp-narrative-cta-border-width) var(--ivc-comp-narrative-cta-border-style) var(--ivc-comp-narrative-cta-border);
  border-radius:var(--ivc-comp-narrative-cta-radius);
  background:var(--ivc-comp-narrative-cta-surface);
  color:var(--ivc-comp-narrative-cta-text);
  font-weight:var(--ivc-comp-narrative-cta-weight);
  box-shadow:var(--ivc-comp-narrative-cta-shadow);
  cursor:var(--ivc-comp-narrative-cta-cursor)
}
.ab-go:hover,.mgf-b:hover{background:var(--ivc-comp-narrative-cta-hover-surface);border-color:var(--ivc-comp-narrative-cta-hover-border)}
.ab-go{
  margin-top:var(--ivc-comp-narrative-cta-about-margin-block-start);
  margin-right:var(--ivc-comp-narrative-cta-about-margin-inline-end);
  padding:var(--ivc-comp-narrative-cta-about-padding-block) var(--ivc-comp-narrative-cta-about-padding-inline);
  font-family:var(--ivc-comp-narrative-cta-about-font);
  font-size:var(--ivc-comp-narrative-cta-about-size);
  transition:var(--ivc-comp-narrative-cta-about-transition)
}
.ab-go.alt{background:var(--ivc-comp-narrative-cta-about-alternate-surface);color:var(--ivc-comp-narrative-cta-about-alternate-text)}
.ab-go.alt:hover{background:var(--ivc-comp-narrative-cta-about-alternate-hover-surface)}
.ab-go.sm{padding:var(--ivc-comp-narrative-cta-about-compact-padding-block) var(--ivc-comp-narrative-cta-about-compact-padding-inline);font-size:var(--ivc-comp-narrative-cta-about-compact-size)}
html[data-theme="bright"] .ab-go{border-radius:var(--ivc-comp-narrative-cta-bright-radius);font-weight:var(--ivc-comp-narrative-cta-bright-weight)}
.mgf-b{
  width:var(--ivc-comp-narrative-cta-mega-width);
  margin-top:var(--ivc-comp-narrative-cta-mega-margin-block-start);
  padding:var(--ivc-comp-narrative-cta-mega-padding);
  font-family:var(--ivc-comp-narrative-cta-mega-font);
  font-size:var(--ivc-comp-narrative-cta-mega-size);
  transition:var(--ivc-comp-narrative-cta-mega-transition)
}
.mg-feat.warn .mgf-b{background:var(--ivc-comp-narrative-cta-warning-surface);border-color:var(--ivc-comp-narrative-cta-warning-border);color:var(--ivc-comp-narrative-cta-warning-text);box-shadow:var(--ivc-comp-narrative-cta-shadow)}
.mg-feat.warn .mgf-b:hover{background:var(--ivc-comp-narrative-cta-hover-surface);border-color:var(--ivc-comp-narrative-cta-hover-border)}
@media(max-width:900px){
  .ab-go,.mgf-b{min-height:var(--ivc-comp-narrative-cta-touch-min-height);display:var(--ivc-comp-narrative-cta-touch-display);align-items:var(--ivc-comp-narrative-cta-touch-align-items);justify-content:var(--ivc-comp-narrative-cta-touch-justify-content);-webkit-tap-highlight-color:var(--ivc-comp-narrative-cta-touch-tap-highlight);transition:var(--ivc-comp-narrative-cta-touch-transition)}
  .ab-go:active,.mgf-b:active{background:var(--ivc-comp-narrative-cta-touch-press-surface);transform:var(--ivc-comp-narrative-cta-touch-press-transform)}
}
.ab-go:active,.mgf-b:active{transform:var(--ivc-comp-narrative-cta-active-transform)}

/* Filter-choice chips: 13 source templates across advanced screener and market quick-filter paths. */
.fchip{
  min-height:var(--ivc-comp-filter-chip-market-min-height);
  padding:var(--ivc-comp-filter-chip-market-padding-block) var(--ivc-comp-filter-chip-market-padding-inline);
  border:var(--ivc-comp-filter-chip-market-border-width) var(--ivc-comp-filter-chip-market-border-style) var(--ivc-comp-filter-chip-market-border);
  border-radius:var(--ivc-comp-filter-chip-market-radius);
  background:var(--ivc-comp-filter-chip-market-surface);
  color:var(--ivc-comp-filter-chip-market-text);
  font-size:var(--ivc-comp-filter-chip-market-size);
  font-weight:var(--ivc-comp-filter-chip-market-weight);
  cursor:var(--ivc-comp-filter-chip-market-cursor);
  transition:var(--ivc-comp-filter-chip-market-transition);
  box-shadow:var(--ivc-comp-filter-chip-market-shadow)
}
.fchip:hover{background:var(--ivc-comp-filter-chip-market-hover-surface);border-color:var(--ivc-comp-filter-chip-market-hover-border);color:var(--ivc-comp-filter-chip-market-hover-text)}
.fchip.on,.fchip.alt.on{
  background:var(--ivc-comp-filter-chip-market-selected-surface);
  border-color:var(--ivc-comp-filter-chip-market-selected-border);
  color:var(--ivc-comp-filter-chip-market-selected-text);
  font-weight:var(--ivc-comp-filter-chip-market-weight);
  box-shadow:var(--ivc-comp-filter-chip-market-selected-shadow)
}
/* The screener intentionally has its own visual hierarchy; market chips stay on the base contract. */
.screen-view .fchip{
  min-height:var(--ivc-comp-filter-chip-screen-min-height);
  border-radius:var(--ivc-comp-filter-chip-screen-radius);
  background:var(--ivc-comp-filter-chip-screen-surface);
  border-color:var(--ivc-comp-filter-chip-screen-border);
  color:var(--ivc-comp-filter-chip-screen-text);
  font-weight:var(--ivc-comp-filter-chip-screen-weight)
}
.screen-view .fchip:hover{
  background:var(--ivc-comp-filter-chip-screen-hover-surface);
  border-color:var(--ivc-comp-filter-chip-screen-hover-border);
  color:var(--ivc-comp-filter-chip-screen-hover-text)
}
.screen-view .fchip.on,.screen-view .fchip.alt.on{
  background:var(--ivc-comp-filter-chip-screen-selected-surface);
  border-color:var(--ivc-comp-filter-chip-screen-selected-border);
  color:var(--ivc-comp-filter-chip-screen-selected-text);
  font-weight:var(--ivc-comp-filter-chip-screen-weight);
  box-shadow:var(--ivc-comp-filter-chip-market-selected-shadow)
}
html[data-theme="bright"] .fchip.on{
  background:var(--ivc-comp-filter-chip-bright-selected-surface);
  border-color:var(--ivc-comp-filter-chip-bright-selected-border);
  color:var(--ivc-comp-filter-chip-bright-selected-text);
  border-radius:var(--ivc-comp-filter-chip-bright-radius);
  font-weight:var(--ivc-comp-filter-chip-bright-selected-weight);
  box-shadow:var(--ivc-comp-filter-chip-bright-selected-shadow)
}
@media(max-width:820px){.fchip{min-height:var(--ivc-comp-filter-chip-touch-min-height);display:var(--ivc-comp-filter-chip-touch-display);align-items:var(--ivc-comp-filter-chip-touch-align-items);justify-content:var(--ivc-comp-filter-chip-touch-justify-content)}}
@media(max-width:900px){
  .fchip{-webkit-tap-highlight-color:var(--ivc-comp-filter-chip-touch-tap-highlight);transition:var(--ivc-comp-filter-chip-touch-transition);white-space:var(--ivc-comp-filter-chip-touch-white-space);flex-shrink:var(--ivc-comp-filter-chip-touch-flex-shrink)}
  .market-view .fchip:not(.on):active{background:var(--ivc-comp-filter-chip-market-press-surface);transform:var(--ivc-comp-filter-chip-touch-press-transform)}
  #app .screen-view .fchip{min-height:var(--ivc-comp-filter-chip-mobile-min-height)}
  .screen-view .fchip:not(.on):active{background:var(--ivc-comp-filter-chip-screen-surface);transform:var(--ivc-comp-filter-chip-touch-press-transform)}
}
@media(max-width:620px){#app .screen-view .fchip{padding-inline:var(--ivc-comp-filter-chip-mobile-padding-inline)}}

/* Data-inventory and record lists: 14 inventory surfaces / 66 records across data and company routes. */
.pd-inventory{
  margin-top:var(--ivc-comp-data-record-inventory-margin-block-start);
  border:var(--ivc-comp-data-record-border-width) solid var(--ivc-comp-data-record-border);
  border-radius:var(--ivc-comp-data-record-radius);
  background:var(--ivc-comp-data-record-surface);
  padding:var(--ivc-comp-data-record-inventory-padding)
}
.pd-inventory-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--ivc-comp-data-record-inventory-head-gap);
  margin-bottom:var(--ivc-comp-data-record-inventory-head-margin-block-end)
}
.pd-inventory-head b{
  display:block;
  color:var(--ivc-comp-data-record-heading-text);
  font-size:var(--ivc-comp-data-record-heading-size)
}
.pd-inventory-head span{
  display:block;
  margin-top:var(--ivc-comp-data-record-description-offset);
  color:var(--ivc-comp-data-record-description-text);
  font-size:var(--ivc-comp-data-record-description-size);
  line-height:var(--ivc-comp-data-record-description-leading)
}
.pd-list{display:grid;gap:var(--ivc-comp-data-record-list-gap)}
.pd-record{
  border:var(--ivc-comp-data-record-border-width) solid var(--ivc-comp-data-record-border);
  border-radius:var(--ivc-comp-data-record-radius);
  padding:var(--ivc-comp-data-record-padding-block) var(--ivc-comp-data-record-padding-inline);
  background:var(--ivc-comp-data-record-surface)
}
.pd-record-top{
  display:flex;
  align-items:center;
  gap:var(--ivc-comp-data-record-top-gap);
  flex-wrap:wrap;
  margin-bottom:var(--ivc-comp-data-record-top-margin-block-end)
}
.pd-record-title{
  font-weight:var(--ivc-comp-data-record-title-weight);
  color:var(--ivc-comp-data-record-title-text);
  font-size:var(--ivc-comp-data-record-title-size)
}
.pd-record small{
  font-family:var(--ivc-comp-data-record-meta-font);
  font-size:var(--ivc-comp-data-record-meta-size);
  color:var(--ivc-comp-data-record-meta-text)
}
.pd-record p{
  margin:0;
  color:var(--ivc-comp-data-record-body-text);
  font-size:var(--ivc-comp-data-record-body-size);
  line-height:var(--ivc-comp-data-record-body-leading)
}
/* Preserve the existing company tab reading rhythm that formerly followed legacy.css. */
.tab-body .pd-record p{
  margin:0 0 var(--ivc-comp-data-record-company-body-margin-block-end);
  font-size:var(--ivc-comp-data-record-company-body-size)
}

/* Workbench data tables: nine source paths across query, watch, cluster and governed data views. */
.wb-count{
  margin:0 var(--ivc-comp-workbench-count-margin-inline) var(--ivc-comp-workbench-count-margin-block-end);
  color:var(--ivc-comp-workbench-count-text);
  font-family:var(--ivc-comp-workbench-count-font);
  font-size:var(--ivc-comp-workbench-count-size)
}
.wb-table{
  overflow:var(--ivc-comp-workbench-table-overflow);
  border:var(--ivc-comp-workbench-table-border-width) solid var(--ivc-comp-workbench-table-border);
  border-radius:var(--ivc-comp-workbench-table-radius);
  background:var(--ivc-comp-workbench-table-background);
  box-shadow:var(--ivc-comp-workbench-table-shadow)
}
.wb-head,.wb-row{
  display:grid;
  grid-template-columns:var(--ivc-comp-workbench-grid-desktop);
  align-items:center;
  gap:var(--ivc-comp-workbench-grid-gap);
  padding:var(--ivc-comp-workbench-row-padding-block) var(--ivc-comp-workbench-row-padding-inline)
}
.wb-head{
  border-bottom:var(--ivc-comp-workbench-table-border-width) solid var(--ivc-comp-workbench-head-border);
  background:var(--ivc-comp-workbench-head-background);
  color:var(--ivc-comp-workbench-head-text);
  font-size:var(--ivc-comp-workbench-head-size);
  font-weight:var(--ivc-comp-workbench-head-weight);
  letter-spacing:var(--ivc-comp-workbench-head-letter-spacing)
}
.wb-row{
  border-top:var(--ivc-comp-workbench-table-border-width) solid var(--ivc-comp-workbench-row-border);
  cursor:pointer;
  transition:var(--ivc-comp-workbench-row-transition)
}
.wb-row:hover{background:var(--ivc-comp-workbench-row-hover-background)}
.wb-code{
  color:var(--ivc-comp-workbench-code-text);
  font-family:var(--ivc-comp-workbench-code-font);
  font-size:var(--ivc-comp-workbench-code-size)
}
.wb-nm{
  display:flex;
  min-width:0;
  align-items:baseline;
  gap:var(--ivc-comp-workbench-name-gap);
  font-size:var(--ivc-comp-workbench-name-size);
  font-weight:var(--ivc-comp-workbench-head-weight)
}
.wb-nm em{
  flex-shrink:0;
  color:var(--ivc-comp-workbench-name-muted-text);
  font-size:var(--ivc-comp-workbench-name-muted-size);
  font-style:normal;
  font-weight:var(--ivc-comp-workbench-name-muted-weight)
}
.wb-identity{
  display:flex;
  grid-column:span 2;
  min-width:0;
  align-items:baseline;
  gap:var(--ivc-comp-workbench-identity-gap);
  flex-wrap:wrap
}
.wb-identity > b{
  color:var(--ivc-comp-workbench-identity-text);
  font-size:var(--ivc-comp-workbench-identity-size);
  font-weight:var(--ivc-comp-workbench-identity-weight);
  line-height:var(--ivc-comp-workbench-identity-leading)
}
.wb-identity .wb-code{
  padding:var(--ivc-comp-workbench-identity-code-padding-block) var(--ivc-comp-workbench-identity-code-padding-inline);
  border-radius:var(--ivc-comp-workbench-identity-code-radius);
  background:var(--ivc-comp-workbench-identity-code-background);
  color:var(--ivc-comp-workbench-identity-code-text);
  font-weight:var(--ivc-comp-workbench-identity-code-weight);
  line-height:var(--ivc-comp-workbench-identity-leading)
}
.wb-identity em{
  color:var(--ivc-comp-workbench-head-text);
  font-size:var(--ivc-comp-workbench-name-muted-size);
  font-style:normal;
  font-weight:var(--ivc-comp-workbench-identity-meta-weight)
}
.wb-cap{
  color:var(--ivc-comp-workbench-caption-text);
  font-size:var(--ivc-comp-workbench-caption-size)
}
.wb-chs{
  display:flex;
  overflow:visible;
  align-items:center;
  gap:var(--ivc-comp-workbench-tag-gap);
  flex-wrap:wrap;
  color:var(--ivc-comp-workbench-classification-text);
  font-size:var(--ivc-comp-workbench-classification-size);
  white-space:normal
}
.wb-chs i{
  padding:var(--ivc-comp-workbench-tag-padding-block) var(--ivc-comp-workbench-tag-padding-inline);
  border-radius:var(--ivc-comp-workbench-tag-radius);
  background:var(--ivc-comp-workbench-tag-background);
  color:var(--ivc-comp-workbench-tag-text);
  font-size:var(--ivc-comp-workbench-tag-size);
  font-style:normal
}
.wb-chs i.pri{
  border:var(--ivc-comp-workbench-table-border-width) solid var(--ivc-comp-workbench-tag-primary-border);
  background:var(--ivc-comp-workbench-tag-primary-background);
  color:var(--ivc-comp-workbench-tag-primary-text);
  font-weight:var(--ivc-comp-workbench-tag-weight)
}
.wb-chs .dv{
  padding:var(--ivc-comp-workbench-tag-padding-block) var(--ivc-comp-workbench-tag-padding-inline);
  border-radius:var(--ivc-comp-workbench-tag-radius);
  font-size:var(--ivc-comp-workbench-compact-tag-size);
  font-weight:var(--ivc-comp-workbench-tag-weight)
}
.wb-chs .dv.focus{background:var(--ivc-comp-workbench-tag-focus-background);color:var(--ivc-comp-workbench-tag-focus-text)}
.wb-chs .dv.dual{background:var(--ivc-comp-workbench-tag-dual-background);color:var(--ivc-comp-workbench-tag-dual-text)}
.wb-chs .dv.diverse{background:var(--ivc-comp-workbench-tag-diverse-background);color:var(--ivc-comp-workbench-tag-diverse-text)}
.wb-ths{
  display:flex;
  gap:var(--ivc-comp-workbench-theme-tag-gap);
  flex-wrap:wrap
}
.wb-ths i{
  padding:var(--ivc-comp-workbench-theme-tag-padding-block) var(--ivc-comp-workbench-theme-tag-padding-inline);
  border:var(--ivc-comp-workbench-table-border-width) solid var(--ivc-comp-workbench-theme-tag-border);
  border-radius:var(--ivc-comp-workbench-theme-tag-radius);
  background:var(--ivc-comp-workbench-theme-tag-background);
  color:var(--ivc-comp-workbench-theme-tag-text);
  font-size:var(--ivc-comp-workbench-theme-tag-size);
  font-style:normal
}
.wb-ths .none{
  border:var(--ivc-comp-workbench-empty-tag-border);
  background:var(--ivc-comp-workbench-empty-tag-background);
  color:var(--ivc-comp-workbench-empty-tag-text)
}
.wb-empty{
  padding:var(--ivc-comp-workbench-empty-padding);
  color:var(--ivc-comp-workbench-empty-text);
  font-size:var(--ivc-comp-workbench-empty-size);
  text-align:center
}
.wb-pri{display:flex}

/* Existing screen host variants remain structural only; row-tool ownership stays separate. */
.screen-view .wb-chs i{
  border:var(--ivc-comp-workbench-table-border-width) solid var(--ivc-comp-workbench-screen-tag-default-border);
  border-radius:var(--ivc-comp-workbench-screen-tag-radius);
  font-weight:var(--ivc-comp-workbench-screen-tag-default-weight)
}
.screen-view .wb-chs i.pri{
  border-color:var(--ivc-comp-workbench-screen-tag-primary-border);
  background:var(--ivc-comp-workbench-screen-tag-primary-background);
  color:var(--ivc-comp-workbench-screen-tag-primary-text);
  font-weight:var(--ivc-comp-workbench-screen-tag-primary-weight)
}
.screen-view .wb-chs .dv{
  border-radius:var(--ivc-comp-workbench-screen-tag-radius);
  font-weight:var(--ivc-comp-workbench-screen-tag-compact-weight)
}

@media(max-width:900px){
  .wb-row{
    -webkit-tap-highlight-color:var(--ivc-comp-workbench-row-tap-highlight);
    transition:var(--ivc-comp-workbench-row-press-transition)
  }
  .wb-row:active{
    background:var(--ivc-comp-workbench-row-press-background);
    transform:var(--ivc-comp-workbench-row-press-transform)
  }
}
@media(max-width:820px){
  .wb-head{display:none}
  .wb-row{grid-template-columns:var(--ivc-comp-workbench-grid-compact)}
  .wb-code,.wb-pri,.wb-chs{grid-column:2}
}
@media(max-width:760px){
  .wb-row{grid-auto-flow:row;row-gap:var(--ivc-comp-workbench-theme-tag-gap)}
  .wb-code,.wb-cap,.wb-chs,.wb-ths{grid-column:2}
  .wb-nm{grid-column:2;min-width:0}
}
@media (min-width:741px) and (max-width:820px){
  .screen-view .wb-head,
  .screen-view .wb-result-row{
    grid-template-columns:var(--ivc-comp-workbench-grid-tablet);
    gap:var(--ivc-comp-workbench-grid-gap);
    padding:var(--ivc-comp-workbench-row-padding-block) var(--ivc-comp-workbench-row-mobile-padding-inline)
  }
  .screen-view .wb-result-row .star-btn{
    grid-column:1;
    grid-row:1;
    align-self:center;
    justify-self:center
  }
  .screen-view .wb-result-row .wb-identity{grid-column:2 / span 2;grid-row:1}
  .screen-view .wb-result-row .wb-pri{grid-column:4;grid-row:1}
  .screen-view .wb-result-row .wb-chs{grid-column:5;grid-row:1;min-width:0}
  .screen-view .wb-result-row .cmp-check{
    grid-column:6;
    grid-row:1;
    align-self:center;
    justify-self:center
  }
}
@media(max-width:620px){
  .screen-view .wb-result-row{
    grid-template-columns:var(--ivc-comp-workbench-grid-screen-mobile);
    align-items:start;
    gap:var(--ivc-comp-workbench-row-mobile-gap) var(--ivc-comp-workbench-row-mobile-column-gap);
    padding:var(--ivc-comp-workbench-row-mobile-padding-block) var(--ivc-comp-workbench-row-mobile-padding-inline)
  }
  .screen-view .wb-result-row .star-btn{grid-column:1;grid-row:1;align-self:start}
  .screen-view .wb-result-row .wb-identity{grid-column:2;grid-row:1;align-self:center;gap:var(--ivc-comp-workbench-identity-mobile-gap)}
  .screen-view .wb-result-row .wb-identity > b{font-size:var(--ivc-comp-workbench-identity-mobile-size)}
  .screen-view .wb-result-row .wb-identity .wb-code{font-size:var(--ivc-comp-workbench-code-size)}
  .screen-view .wb-result-row .wb-pri{grid-column:2;grid-row:2}
  .screen-view .wb-result-row .wb-chs{grid-column:2 / 4;grid-row:3}
  .screen-view .wb-result-row .cmp-check{grid-column:3;grid-row:1;align-self:start}
}
@media print{
  .wb-table{box-shadow:var(--ivc-comp-workbench-print-shadow);break-inside:avoid}
}
