/* Visual tokens bridge legacy components without changing their state logic. */
body:is(.public-page, .console-body) {
  --primary: var(--color-primary);
  --primary-hover: var(--color-primary-hover);
  --sidebar-bg: var(--color-surface);
  --sidebar-text: var(--color-text-secondary);
  --bg: var(--color-background);
  --card: var(--color-surface);
  --border: var(--color-border);
  --text: var(--color-text-body);
  --muted: var(--color-text-secondary);
  --success: var(--color-accent);
  --danger: var(--color-danger);
  --admin-bg: var(--color-background);
  --admin-line: var(--color-border);
  --admin-accent: var(--color-primary);
  --admin-accent-soft: var(--color-primary-soft);
  --admin-strong: var(--color-text);
  --admin-muted: var(--color-text-secondary);
  color: var(--color-text-body);
  background: var(--color-background);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.8;
}
body:is(.public-page, .console-body) *,
body:is(.public-page, .console-body) *::before,
body:is(.public-page, .console-body) *::after {
  letter-spacing: 0;
  transition-duration: var(--motion-duration);
  transition-timing-function: var(--motion-easing);
}
body:is(.public-page, .console-body) :is(h1,h2,h3,h4,h5,h6,strong,b,dt,summary) { font-weight: 600; }
body:is(.public-page, .console-body) :is(h1,h2,h3,h4,h5,h6) { color: var(--color-text); overflow-wrap: anywhere; }
body:is(.public-page, .console-body) :is(p,li,dd,td,.muted-text) { line-height: 1.8; }
body:is(.public-page, .console-body) a { color: var(--color-link); text-underline-offset: 4px; }
body:is(.public-page, .console-body) :focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
body:is(.public-page, .console-body) :is(.card,.mkt-card,.stat-card,.auth-card,.product-card,.dash-chart-card,.dash-collapse) {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  color: var(--color-text-body);
}
body:is(.public-page, .console-body) :is(.card,.auth-card) :is(.card,.stat-card) { box-shadow: none; }
body:is(.public-page, .console-body) :is(.btn,.h5-primary-btn) {
  background: var(--color-action);
  border: 1px solid var(--color-action);
  color: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: none;
  font-weight: 600;
  line-height: 1.8;
  min-height: 40px;
  padding: 8px 18px;
  white-space: normal;
  text-align: center;
  text-decoration: none;
}
body:is(.public-page, .console-body) :is(.btn,.h5-primary-btn):hover {
  background: var(--color-action-hover); color: var(--color-surface); border-color: var(--color-action-hover);
}
body:is(.public-page, .console-body) :is(.btn-secondary,.h5-secondary-btn) {
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: none;
}
body:is(.public-page, .console-body) :is(.btn-secondary,.h5-secondary-btn):hover {
  color: var(--color-primary); background: var(--color-primary-soft); border-color: var(--color-primary-border);
}
body:is(.public-page, .console-body) :is(.btn,.h5-primary-btn):disabled { opacity: .5; cursor: not-allowed; }
body:is(.public-page, .console-body) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  max-width: 100%; min-height: 40px; border: 1px solid var(--color-border); border-radius: var(--radius-md);
  background: var(--color-surface); color: var(--color-text-body); font: inherit; padding: 8px 12px; box-shadow: none;
}
body:is(.public-page, .console-body) :is(input,select,textarea):focus { border-color: var(--color-primary); }
body:is(.public-page, .console-body) :is(input[type=checkbox],input[type=radio]) { accent-color: var(--color-primary); }
body:is(.public-page, .console-body) :is(.alert,.flash,.company-tag) { border-radius: var(--radius-md); box-shadow: none; }
body:is(.public-page, .console-body) :is(.alert-info,.company-tag) { color: var(--color-primary); background: var(--color-primary-soft); border-color: var(--color-primary-border); }
body:is(.public-page, .console-body) .alert-success { color: var(--color-accent); background: var(--color-accent-soft); border-color: var(--color-accent-border); }
body:is(.public-page, .console-body) .alert-error { color: var(--color-danger); background: var(--color-danger-soft); border-color: var(--color-danger); }
body:is(.public-page, .console-body) :is(.table-scroll,.table-responsive,.beo-table-scroll) { max-width: 100%; overflow-x: auto; border-color: var(--color-border); border-radius: var(--radius-md); }
body:is(.public-page, .console-body) :is(.data-table,.dash-table,.beo-table) { border-collapse: collapse; }
body:is(.public-page, .console-body) :is(.data-table,.dash-table,.beo-table) :is(th,td) {
  min-height: 48px; height: 48px; padding: 10px 16px; border: 0; border-bottom: 1px solid var(--color-border);
  color: var(--color-text-body); background: var(--color-surface); line-height: 1.8;
}
body:is(.public-page, .console-body) :is(.data-table,.dash-table,.beo-table) th { background: var(--color-background); color: var(--color-text-secondary); font-weight: 600; }
body:is(.public-page, .console-body) :is(.data-table,.dash-table) tr:hover td { background: var(--color-primary-soft); }
body:is(.public-page, .console-body) :is(.status-badge,.badge) {
  background: var(--color-transparent); border: 0; padding: 0; color: var(--color-text-secondary); border-radius: 0; font-weight: 400;
}
body:is(.public-page, .console-body) .status-badge::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-right: 7px; flex-shrink: 0; }
body:is(.public-page, .console-body) .status-badge--success { color: var(--color-accent); }
body:is(.public-page, .console-body) .status-badge--warning { color: var(--color-warning); }
body:is(.public-page, .console-body) .status-badge--danger { color: var(--color-danger); }
body:is(.public-page, .console-body) .status-badge--info { color: var(--color-primary); }
body:is(.public-page, .console-body) :is(.value,.stat-val,.dash-kpi-value,.kpi .value,.industry-score-panel strong,.brand-strength-result strong,.geo-console-bars strong) { font-family: var(--font-number); font-variant-numeric: tabular-nums; font-weight: 600; }
body:is(.public-page, .console-body) :is(.empty-state,.risk-empty-state,.dash-empty,.table-empty) {
  padding: 32px 20px; color: var(--color-text-secondary); background: var(--color-background); border-radius: var(--radius-md); line-height: 1.8;
}
body:is(.public-page, .console-body) .company-suggest-list { background: var(--color-surface); border-color: var(--color-border); box-shadow: var(--shadow-lg); }
body:is(.public-page, .console-body) .company-suggest-item { color: var(--color-text-body); background: var(--color-surface); }
body:is(.public-page, .console-body) .company-suggest-item:hover { background: var(--color-primary-soft); }
body:is(.public-page, .console-body) .site-footer { background: var(--color-background); color: var(--color-text-secondary); border-top: 1px solid var(--color-border); line-height: 1.8; }
@media (prefers-reduced-motion: reduce) {
  body:is(.public-page, .console-body) *, body:is(.public-page, .console-body) *::before, body:is(.public-page, .console-body) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
