/* ==========================================================================
   Mandate Atlas Theme Lock
   Loaded after page-local <style> blocks. Keep this file as the last visual
   layer so page-specific CSS cannot accidentally undo the production theme.
   ========================================================================== */

:root {
  --font-ui: "Inter", "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "IBM Plex Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --ma-topbar-h: 55px;
  --ma-page-ink: #16211d;
  --ma-page-muted: #566861;
  --ma-page-faint: #71817b;
  --ma-page-line: rgba(81, 101, 93, 0.13);
  --ma-page-line-strong: rgba(81, 101, 93, 0.22);
  --ma-glass-page:
    radial-gradient(980px 420px at 8% -12%, rgba(55, 136, 225, 0.12), transparent 70%),
    radial-gradient(780px 380px at 92% 0%, rgba(20, 156, 130, 0.08), transparent 66%),
    linear-gradient(180deg, #f1f6f4 0%, #e7efec 100%);
  --ma-glass-outer: linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.30));
  --ma-glass-inner: linear-gradient(180deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0.14));
  --ma-shadow-outer: 0 24px 68px rgba(15, 23, 42, 0.09), 0 4px 16px rgba(15, 23, 42, 0.035), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --ma-shadow-inner: inset 0 1px 0 rgba(255, 255, 255, 0.48);
  --ma-blur-outer: blur(22px) saturate(1.12);
  --ma-blur-inner: blur(14px) saturate(1.08);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-ui) !important;
}

body[data-page] {
  background: var(--ma-glass-page) !important;
  color: var(--ma-page-ink) !important;
}

body[data-page] h1,
body[data-page] h2,
body[data-page] h3,
body[data-page] h4,
body[data-page] h5,
body[data-page] h6,
body[data-page] .topbar-title,
body[data-page] .panel-title,
body[data-page] .section-title,
body[data-page] .card-title,
body[data-page] .dashboard-title,
body[data-page] .tm-section-card-title,
body[data-page] .pm-profile-name,
body[data-page] .kpi-value,
body[data-page] .stat-value,
body[data-page] .score-value,
body[data-page] .match-score,
body[data-page] .tm-kpi-value,
body[data-page] .pm-kpi-val,
body[data-page] .pm-profile-kpi-val {
  font-family: var(--font-display) !important;
  color: var(--ma-page-ink) !important;
  letter-spacing: 0 !important;
}

body[data-page] code,
body[data-page] pre,
body[data-page] .feed-code,
body[data-page] .pm-vb-num,
body[data-page] .intel-kpi-value,
body[data-page] .tm-kpi-value,
body[data-page] .dashboard-metric-value {
  font-family: var(--font-mono) !important;
}

body[data-page] .app-content,
body[data-page] .app-main,
body[data-page] .dashboard-content,
body[data-page] .sigma-page-content,
body[data-page] .landing-page,
body[data-page] .policy-page,
body[data-page] .dashboard-shell,
body[data-page] .container,
body[data-page] .container--wide,
body[data-page] .news-workspace {
  background: transparent !important;
}

body[data-page] .panel,
body[data-page] .policy-hero,
body[data-page] .policy-toc,
body[data-page] .policy-shell,
body[data-page] .news-panel-section,
body[data-page] .news-hero-panel,
body[data-page] .tm-section-card,
body[data-page] .pm-profile-workspace,
body[data-page] .pm-amendments-card,
body[data-page] .command-center,
body[data-page] .mep-card-panel,
body[data-page] .hero-panel,
body[data-page] .sigma-toolbar,
body[data-page] .explorer-tabbar {
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-radius: 8px !important;
  background: var(--ma-glass-outer) !important;
  box-shadow: var(--ma-shadow-outer) !important;
  -webkit-backdrop-filter: var(--ma-blur-outer) !important;
  backdrop-filter: var(--ma-blur-outer) !important;
}

body[data-page] .panel .chart-card,
body[data-page] .panel .command-card,
body[data-page] .panel .cp-context-card,
body[data-page] .panel .cp-personal-card,
body[data-page] .panel .cp-drilldown-card,
body[data-page] .panel .pm-profile-contact-card,
body[data-page] .panel .pm-profile-votemix-card,
body[data-page] .panel .pm-profile-overview-card,
body[data-page] .panel .pm-profile-kpi,
body[data-page] .panel .pm-debates-card,
body[data-page] .panel .tm-inner-card,
body[data-page] .panel .tm-topic-card,
body[data-page] .panel .tm-opportunity-card,
body[data-page] .panel .tm-cluster-card,
body[data-page] .panel .tm-context-card,
body[data-page] .panel .tm-drill-detail,
body[data-page] .pm-mcard,
body[data-page] .pm-debate-item,
body[data-page] .pm-amendment-detail,
body[data-page] .news-panel-section .article-card,
body[data-page] .news-panel-section .news-story-card,
body[data-page] .news-panel-section .src-card,
body[data-page] .news-panel-section .feed-editorial-card,
body[data-page] .news-panel-section .news-highlight-card,
body[data-page] .dashboard-brand-card,
body[data-page] .dashboard-dataset-snapshot,
body[data-page] .snapshot-stat,
body[data-page] .sidebar-kpi,
body[data-page] .tm-gd-col,
body[data-page] .tm-power-intel,
body[data-page] .tm-power-filter-group {
  border: 1px solid var(--ma-page-line) !important;
  border-radius: 8px !important;
  background: var(--ma-glass-inner) !important;
  box-shadow: var(--ma-shadow-inner) !important;
  -webkit-backdrop-filter: var(--ma-blur-inner) !important;
  backdrop-filter: var(--ma-blur-inner) !important;
}

body[data-page] .chart-container,
body[data-page] .pm-profile-votemix-canvas-wrap,
body[data-page] .pm-profile-mini-chart,
body[data-page] .pm-profile-influence-canvas,
body[data-page] .tm-matrix-wrap,
body[data-page] .tm-topic-alliance-wrap,
body[data-page] .tm-power-canvas-wrap,
body[data-page] .tm-drill-table-wrap,
body[data-page] .search-preview-shell,
body[data-page] .news-browser-reader,
body[data-page] .sigma-canvas-wrap,
body[data-page] .sigma-stage,
body[data-page] .sigma-stage-frame {
  border: 1px solid rgba(81, 101, 93, 0.10) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(rgba(81, 101, 93, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(81, 101, 93, 0.018) 1px, transparent 1px),
    rgba(255, 255, 255, 0.12) !important;
  background-size: 32px 32px, 32px 32px, auto !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
}

body[data-page] .panel .chart-card:hover,
body[data-page] .panel .command-card:hover,
body[data-page] .panel .pm-profile-votemix-card:hover,
body[data-page] .panel .pm-profile-kpi:hover,
body[data-page] .pm-mcard:hover,
body[data-page] .news-panel-section .article-card:hover,
body[data-page] .news-panel-section .news-story-card:hover {
  border-color: var(--ma-page-line-strong) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.20)) !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.055), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
  transform: translateY(-1px) !important;
}

body[data-page] .list-meta,
body[data-page] .panel-subtitle,
body[data-page] .panel-kicker,
body[data-page] .section-meta,
body[data-page] .card-meta,
body[data-page] .chart-card__subtitle,
body[data-page] .tm-section-card-sub,
body[data-page] .news-story-summary,
body[data-page] .art-summary,
body[data-page] .pm-debate-text,
body[data-page] .pm-amendment-detail-dossier,
body[data-page] p {
  color: var(--ma-page-muted) !important;
  opacity: 1 !important;
}

body[data-page] .tm-section-card-head,
body[data-page] .tm-section-card-body,
body[data-page] .tm-inner-card-head,
body[data-page] .chart-card__header,
body[data-page] .np-header,
body[data-page] .pm-debates-head,
body[data-page] .pm-amendment-diff-col-head,
body[data-page] .command-card-header {
  background: transparent !important;
}

body[data-page="landing-public"] .gdpr-notice-banner {
  background: rgba(15, 23, 42, 0.82) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}

body[data-page="parliament-members"] .app-main,
body[data-page="news"] .app-main,
body[data-page="graph"] .app-main,
body[data-page="dataset"] .app-main,
body[data-page="intel"] .app-main,
body[data-page="workspace-home"] .app-main {
  background: transparent !important;
}

body[data-page="news"] .article-card,
body[data-page="news"] .news-story-card,
body[data-page="news"] .news-highlight-card,
body[data-page="news"] .src-card,
body[data-page="news"] .feed-editorial-card {
  border-top-color: rgba(255, 255, 255, 0.48) !important;
  border-bottom-color: rgba(81, 101, 93, 0.12) !important;
}

body[data-page="news"] .ns-search-bar,
body[data-page="news"] .ns-input-wrap,
body[data-page="news"] .ns-ctrl,
body[data-page="news"] .feed-group-chip,
body[data-page="news"] .feed-category-chip,
body[data-page="news"] .chip[data-feed] {
  border: 1px solid var(--ma-page-line) !important;
  background: rgba(255, 255, 255, 0.30) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;
}

body[data-page="topics-mandates"] {
  --tm-topbar-h: var(--ma-topbar-h, 55px) !important;
}

body[data-page="topics-mandates"] .topbar,
body[data-page="topics-mandates"] .topbar.topbar--glass {
  height: var(--tm-topbar-h) !important;
  min-height: var(--tm-topbar-h) !important;
  flex-basis: var(--tm-topbar-h) !important;
}

body[data-page="topics-mandates"] .app-shell,
body[data-page="topics-mandates"] .app-shell > .app-main,
body[data-page="topics-mandates"] .dashboard-shell,
body[data-page="topics-mandates"] .dashboard-main,
body[data-page="topics-mandates"] .dashboard-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar,
body[data-page="topics-mandates"] .tm-workspace-nav {
  top: var(--tm-topbar-h) !important;
}

body[data-page="topics-mandates"] .tm-kpi-strip {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="topics-mandates"] .tm-kpi-cell {
  border: 1px solid rgba(255, 255, 255, 0.56) !important;
  background: rgba(255, 255, 255, 0.38) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.055), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

body[data-page="topics-mandates"] article.tm-topic-interest-panel,
body[data-page="topics-mandates"] article.tm-topic-interest-panel.chart-card,
body[data-page="topics-mandates"] article.tm-topic-interest-panel .tmep-list,
body[data-page="topics-mandates"] article.tm-topic-interest-panel .tmep-item {
  background: rgba(255, 255, 255, 0.18) !important;
  box-shadow: var(--ma-shadow-inner) !important;
}

body[data-page="topics-mandates"] .tm-topic-alliance-wrap {
  min-height: 520px !important;
}

/* Evidence & Influence Map is the page's hero/navigation hub (every other module opens from a
   node click here) — sized to dominate the viewport rather than sit at the same scale as a
   supporting chart. This is the actual cascade winner for this selector (traced during the
   Fase 0 styles.css consolidation; styles.css's own competing declarations for the same
   selector all lose to this one, being earlier in file/load order) — the value is edited here
   directly rather than overridden elsewhere, so there's still exactly one source of truth. */
body[data-page="topics-mandates"] .tm-power-canvas-wrap {
  min-height: 760px !important;
}

/* Matching responsive shrink for the hero sizing above — this has to live here, not in
   topics-mandates.html's own responsive rules, because theme-lock.css loads after that inline
   block: an unconditional !important rule here always wins over a same-specificity !important
   rule declared earlier in the document, media query or not. (topics-mandates.html's own
   @media rules for this selector were already dead for the same reason before this hero-sizing
   change — just less noticeable when the two values were close.) */
@media (max-width: 960px) {
  body[data-page="topics-mandates"] .tm-power-canvas-wrap {
    min-height: 520px !important;
  }
}
@media (max-width: 600px) {
  body[data-page="topics-mandates"] .tm-power-canvas-wrap {
    min-height: 420px !important;
  }
}

body[data-page="graph"] .sigma-page-content,
body[data-page="graph"] .explorer-shell {
  background: transparent !important;
}

body[data-page="graph"] .sigma-sidebar {
  background:
    linear-gradient(180deg, rgba(17, 31, 27, 0.96) 0%, rgba(11, 22, 19, 0.97) 100%) !important;
  border-right: 1px solid rgba(10, 20, 17, 0.62) !important;
  box-shadow: 18px 0 44px rgba(15, 23, 42, 0.13), inset -1px 0 0 rgba(255, 255, 255, 0.035) !important;
}

/* Final graph surface polish: no pale frame around the left controls column. */
body[data-page="graph"] .sigma-stage-frame,
body[data-page="graph"] .sigma-stage-frame .sigma-shell {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="graph"] .sigma-canvas-wrap {
  border: 0 !important;
  border-left: 1px solid rgba(12, 25, 21, 0.18) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(rgba(20, 31, 28, 0.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 31, 28, 0.038) 1px, transparent 1px),
    radial-gradient(900px 420px at 48% -8%, rgba(43, 113, 234, 0.12), transparent 68%),
    linear-gradient(180deg, rgba(250, 253, 251, 0.94) 0%, rgba(235, 244, 240, 0.96) 100%) !important;
  background-size: 34px 34px, 34px 34px, auto, auto !important;
}

body[data-page="graph"] .sigma-canvas-wrap::before {
  border-color: rgba(22, 36, 31, 0.075) !important;
}

body[data-page="graph"] .sg-axis-label {
  color: rgba(42, 58, 52, 0.84) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

body[data-page="graph"] .sg-sel-empty,
body[data-page="graph"] .sg-sel-empty-hint,
body[data-page="graph"] .sg-subtle-note,
body[data-page="graph"] .sg-toggle-row,
body[data-page="graph"] .sg-range-row,
body[data-page="graph"] .sg-mini-cnt,
body[data-page="graph"] .sg-mini-pct,
body[data-page="graph"] .sg-search-meta {
  color: rgba(230, 241, 236, 0.82) !important;
}

body[data-page="graph"] .sg-section {
  border-bottom-color: rgba(230, 241, 236, 0.10) !important;
}

body[data-page="graph"] .sg-legend,
body[data-page="graph"] .sg-fa2-badge,
body[data-page="graph"] .sg-sampling-notice,
body[data-page="graph"] .sg-zoom-btn,
body[data-page="graph"] .sigma-sidebar-drawer-toggle {
  background: rgba(255, 255, 255, 0.66) !important;
  border-color: rgba(255, 255, 255, 0.62) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
}

body[data-page="graph"] .sg-legend-lbl,
body[data-page="graph"] .sg-sampling-notice {
  color: rgba(43, 58, 52, 0.82) !important;
}

/* Global dot treatment: keep inline group colors but add light and depth. */
body[data-page] .sg-search-dot,
body[data-page] .sg-legend-dot,
body[data-page] .sg-tip-dot,
body[data-page] .sg-sel-dot,
body[data-page] .sg-mini-dot,
body[data-page] .group-dot,
body[data-page] .mep-chart-legend-dot,
body[data-page] .mep-cat-dot,
body[data-page] .pm-dist-dot,
body[data-page] .mep-group-dot,
body[data-page] .pm-sel-dot,
body[data-page] .pm-list-dot,
body[data-page] .pm-mcard-dot,
body[data-page] .pm-profile-dot,
body[data-page] .pm-profile-votemix-dot,
body[data-page] .pm-profile-meeting-dot,
body[data-page] .cp-dd-dot,
body[data-page] .cp-sel-dot,
body[data-page] .cp-mep-dot,
body[data-page] .vote-dot,
body[data-page] .src-dot,
body[data-page] .landing-legend-dot {
  background-image: radial-gradient(circle at 30% 24%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.32) 24%, rgba(255,255,255,0.00) 58%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.42), 0 2px 5px rgba(15,23,42,0.16) !important;
}

/* News controls: softer glass buttons, stronger active states, less template feel. */
body[data-page="news"] .np-btn,
body[data-page="news"] .sidebar-search-btn,
body[data-page="news"] .sidebar-reset-btn,
body[data-page="news"] .sidebar-panel-link,
body[data-page="news"] .inst-tab,
body[data-page="news"] .feed-group-chip,
body[data-page="news"] .feed-category-chip,
body[data-page="news"] .chip[data-feed],
body[data-page="news"] .news-view-btn,
body[data-page="news"] .sources-toggle-btn {
  border-radius: 8px !important;
  border: 1px solid rgba(81, 101, 93, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.50), rgba(255,255,255,0.26)) !important;
  color: rgba(22, 33, 29, 0.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.68), 0 7px 18px rgba(15, 23, 42, 0.045) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
}

body[data-page="news"] .np-btn:hover,
body[data-page="news"] .sidebar-search-btn:hover,
body[data-page="news"] .sidebar-reset-btn:hover,
body[data-page="news"] .sidebar-panel-link:hover,
body[data-page="news"] .inst-tab:hover,
body[data-page="news"] .feed-group-chip:hover,
body[data-page="news"] .feed-category-chip:hover,
body[data-page="news"] .chip[data-feed]:hover,
body[data-page="news"] .news-view-btn:hover,
body[data-page="news"] .sources-toggle-btn:hover {
  border-color: rgba(47, 103, 190, 0.32) !important;
  background:
    linear-gradient(180deg, rgba(244, 249, 255, 0.72), rgba(232, 241, 255, 0.42)) !important;
  transform: translateY(-1px) !important;
}

body[data-page="news"] .np-btn:not(.ghost),
body[data-page="news"] .sidebar-search-btn,
body[data-page="news"] .sidebar-panel-link.active,
body[data-page="news"] .feed-group-chip.active,
body[data-page="news"] .feed-category-chip.active,
body[data-page="news"] .chip[data-feed].active,
body[data-page="news"] .inst-tab.active,
body[data-page="news"] .news-view-btn.is-active {
  border-color: rgba(41, 99, 210, 0.42) !important;
  background:
    linear-gradient(135deg, rgba(31, 111, 216, 0.96), rgba(33, 150, 173, 0.88)) !important;
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(37, 99, 235, 0.18), inset 0 1px 0 rgba(255,255,255,0.32) !important;
}

body[data-page="news"] .art-author {
  color: rgba(22, 33, 29, 0.72) !important;
  background: rgba(255, 255, 255, 0.34) !important;
  border: 1px solid rgba(81, 101, 93, 0.13) !important;
  border-radius: 8px !important;
  padding: 2px 7px !important;
  font-weight: 650 !important;
}

@media (max-width: 900px) {
  body[data-page="topics-mandates"] .tm-workspace-nav {
    position: static !important;
  }
}

/* ==========================================================================
   Global Content Component Polish
   Scope: content surfaces only. Top navigation and left sidebars are excluded.
   ========================================================================== */

:root {
  --ma-comp-surface:
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.24));
  --ma-comp-surface-soft:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.16));
  --ma-comp-surface-hover:
    linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(241, 248, 255, 0.35));
  --ma-comp-border: rgba(67, 87, 80, 0.15);
  --ma-comp-border-strong: rgba(41, 99, 210, 0.28);
  --ma-comp-shadow: 0 18px 48px rgba(15, 23, 42, 0.075), inset 0 1px 0 rgba(255, 255, 255, 0.64);
  --ma-comp-shadow-soft: 0 10px 28px rgba(15, 23, 42, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.54);
  --ma-comp-shadow-hover: 0 20px 52px rgba(27, 74, 132, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --ma-comp-focus: 0 0 0 3px rgba(39, 110, 241, 0.32), 0 12px 30px rgba(15, 23, 42, 0.07);
  --ma-comp-accent: linear-gradient(135deg, rgba(31, 111, 216, 0.96), rgba(28, 154, 166, 0.90));
  --ma-comp-accent-soft: linear-gradient(135deg, rgba(231, 241, 255, 0.82), rgba(224, 249, 245, 0.58));
  --ma-icon-action: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.4 5.2L18 11l-4.6 2.8L12 19l-1.4-5.2L6 11l4.6-2.8L12 3z'/%3E%3Cpath d='M19 4v4M21 6h-4M5 16v3M6.5 17.5h-3'/%3E%3C/svg%3E");
  --ma-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.6'/%3E%3Cpath d='M16 16l4.4 4.4'/%3E%3Cpath d='M8.2 10.8h5.2M10.8 8.2v5.2' opacity='.55'/%3E%3C/svg%3E");
  --ma-icon-reset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 9.5A8 8 0 1 1 6.6 18'/%3E%3Cpath d='M4 4v5.5h5.5'/%3E%3C/svg%3E");
  --ma-icon-refresh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7v5h-5'/%3E%3Cpath d='M4 17v-5h5'/%3E%3Cpath d='M18.4 9A7 7 0 0 0 6.8 6.7L4 9.2'/%3E%3Cpath d='M5.6 15a7 7 0 0 0 11.6 2.3L20 14.8'/%3E%3C/svg%3E");
  --ma-icon-export: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 14V4'/%3E%3Cpath d='M8 8l4-4 4 4'/%3E%3Cpath d='M5 13v5.5A1.5 1.5 0 0 0 6.5 20h11a1.5 1.5 0 0 0 1.5-1.5V13'/%3E%3C/svg%3E");
  --ma-icon-import: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v10'/%3E%3Cpath d='M8 10l4 4 4-4'/%3E%3Cpath d='M5 13v5.5A1.5 1.5 0 0 0 6.5 20h11a1.5 1.5 0 0 0 1.5-1.5V13'/%3E%3C/svg%3E");
  --ma-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='8' width='10' height='12' rx='2'/%3E%3Cpath d='M6 16H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");
  --ma-icon-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.1 0l2-2a5 5 0 0 0-7.1-7.1l-1.1 1.1'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.1 0l-2 2A5 5 0 1 0 12 20.1l1.1-1.1'/%3E%3C/svg%3E");
  --ma-icon-compare: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h10'/%3E%3Cpath d='M10 4l4 4-4 4'/%3E%3Cpath d='M20 16H10'/%3E%3Cpath d='M14 12l-4 4 4 4'/%3E%3C/svg%3E");
  --ma-icon-intel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4.5a3 3 0 0 0-3 3v.7a3.2 3.2 0 0 0 0 6.2v.6a3.5 3.5 0 0 0 6 2.5V6.2A3.5 3.5 0 0 0 9 4.5z'/%3E%3Cpath d='M15 4.5a3 3 0 0 1 3 3v.7a3.2 3.2 0 0 1 0 6.2v.6a3.5 3.5 0 0 1-6 2.5V6.2a3.5 3.5 0 0 1 3-1.7z'/%3E%3Cpath d='M8 11h2M14 11h2M12 7v10' opacity='.65'/%3E%3C/svg%3E");
  --ma-icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.2 5.7.8-4.1 4 1 5.6-5.2-2.7-5.2 2.7 1-5.6-4.1-4 5.7-.8L12 3.5z'/%3E%3C/svg%3E");
  --ma-icon-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16'/%3E%3Cpath d='M7 12h10'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E");
  --ma-icon-more: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  --ma-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
  --ma-icon-view: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12s3.5-6 9-6 9 6 9 6-3.5 6-9 6-9-6-9-6z'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3C/svg%3E");
  --ma-icon-move: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 12h18'/%3E%3Cpath d='M8 7l4-4 4 4M8 17l4 4 4-4M7 8l-4 4 4 4M17 8l4 4-4 4'/%3E%3C/svg%3E");
  --ma-icon-translate: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h9M8.5 5v2.5M12 19l4-9 4 9M13.4 16h5.2'/%3E%3Cpath d='M5 9c1 3 3.2 5.2 6.2 6.4'/%3E%3Cpath d='M12 9c-.9 2.7-3.2 5-7 6.5'/%3E%3C/svg%3E");
  --ma-icon-fullscreen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H3v5M16 3h5v5M21 16v5h-5M3 16v5h5'/%3E%3C/svg%3E");
  --ma-icon-collapse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3v6H3M15 3v6h6M9 21v-6H3M15 21v-6h6'/%3E%3C/svg%3E");
  --ma-icon-zoom-in: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M10.5 7.5v6M7.5 10.5h6M16 16l4 4'/%3E%3C/svg%3E");
  --ma-icon-zoom-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M7.5 10.5h6M16 16l4 4'/%3E%3C/svg%3E");
}

body[data-page] .dashboard-content,
body:not([data-page="graph"]) .app-content,
body[data-page] .policy-page,
body[data-page] .landing-page,
body[data-page] .analysis-redirect-wrap {
  --ma-content-text: rgba(18, 31, 27, 0.92);
  --ma-content-muted: rgba(72, 88, 82, 0.76);
  --ma-content-faint: rgba(92, 108, 102, 0.64);
}


body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  .chart-card,
  .command-card,
  .tm-inner-card,
  .tm-context-card,
  .tm-cluster-card,
  .pm-profile-kpi,
  .pm-profile-contact-card,
  .pm-profile-votemix-card,
  .news-story-card,
  .article-card,
  .src-card,
  .feed-editorial-card,
  .news-highlight-card,
  .cp-result-card,
  .cp-session-card,
  .pm-mcard,
  .pm-debate-item
) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.30), rgba(255, 255, 255, 0.13)) !important;
  border-color: rgba(67, 87, 80, 0.11) !important;
  box-shadow: var(--ma-comp-shadow-soft) !important;
}


body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .control-btn,
  .upload-btn,
  .clear-btn,
  .remove-btn,
  .tab-btn,
  .np-btn,
  .news-view-btn,
  .sources-toggle-btn,
  .inst-tab,
  .feed-group-chip,
  .feed-category-chip,
  .chip,
  .tm-lens-chip,
  .tm-sections-showall,
  .tm-topic-tag,
  .tm-gd-hit,
  .pm-hm-group-chip,
  .pm-debates-topic-chip,
  .pm-amendments-label-chip,
  .pm-amendment-cosigners-toggle,
  .pm-debate-translate,
  .pm-social-feed-toggle,
  .cp-tag,
  .cp-sel-clear,
  .cp-session-link,
  .intel-target-picker-btn,
  .intel-target-picker-skip,
  .ma-fs-btn
) {
  border-radius: 8px !important;
  border: 1px solid var(--ma-comp-border) !important;
  background: var(--ma-comp-surface-soft) !important;
  color: var(--ma-content-text, rgba(18, 31, 27, 0.90)) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, color 160ms ease !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .control-btn,
  .upload-btn,
  .clear-btn,
  .remove-btn,
  .tab-btn,
  .np-btn,
  .news-view-btn,
  .sources-toggle-btn,
  .inst-tab,
  .feed-group-chip,
  .feed-category-chip,
  .chip,
  .tm-lens-chip,
  .tm-sections-showall,
  .tm-topic-tag,
  .tm-gd-hit,
  .pm-hm-group-chip,
  .pm-debates-topic-chip,
  .pm-amendments-label-chip,
  .pm-amendment-cosigners-toggle,
  .pm-debate-translate,
  .pm-social-feed-toggle,
  .cp-tag,
  .cp-sel-clear,
  .cp-session-link,
  .intel-target-picker-btn,
  .intel-target-picker-skip,
  .ma-fs-btn
):hover {
  border-color: var(--ma-comp-border-strong) !important;
  background: var(--ma-comp-accent-soft) !important;
  box-shadow: var(--ma-comp-shadow-hover) !important;
  transform: translateY(-1px) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .control-btn.primary,
  .control-btn.is-primary,
  .upload-btn.primary,
  .np-btn.primary,
  .np-btn:not(.ghost),
  .tab-btn.active,
  .feed-group-chip.active,
  .feed-category-chip.active,
  .chip.active,
  .chip[aria-pressed="true"],
  .tm-lens-chip.active,
  .tm-workspace-link.active,
  .pm-hm-group-chip.active,
  .pm-debates-topic-chip.active,
  .pm-amendments-label-chip.active,
  .inst-tab.active,
  .news-view-btn.is-active,
  .intel-target-picker-btn.primary
) {
  border-color: rgba(31, 111, 216, 0.36) !important;
  background: var(--ma-comp-accent) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(37, 99, 235, 0.17), inset 0 1px 0 rgba(255, 255, 255, 0.36) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .control-btn.danger,
  .upload-btn.danger,
  .remove-btn,
  .np-btn.danger
) {
  border-color: rgba(190, 42, 42, 0.24) !important;
  background: linear-gradient(135deg, rgba(252, 232, 232, 0.72), rgba(255, 255, 255, 0.28)) !important;
  color: rgba(132, 24, 24, 0.92) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button,
  a.control-btn,
  a.upload-btn,
  a.np-btn,
  a.tm-workspace-link,
  a.tm-gd-hit,
  a.tm-topic-tag,
  a.cp-tag
):not(:has(svg)):not(:has(img)):not(:has(.h-icon)) {
  --ma-btn-icon: var(--ma-icon-action);
  --ma-btn-icon-fill: linear-gradient(135deg, rgba(31, 111, 216, 0.96), rgba(28, 154, 166, 0.92));
  --ma-btn-icon-size: 14px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button,
  a.control-btn,
  a.upload-btn,
  a.np-btn,
  a.tm-workspace-link,
  a.tm-gd-hit,
  a.tm-topic-tag,
  a.cp-tag
):not(:has(svg)):not(:has(img)):not(:has(.h-icon))::before {
  content: "" !important;
  width: var(--ma-btn-icon-size) !important;
  height: var(--ma-btn-icon-size) !important;
  flex: 0 0 var(--ma-btn-icon-size) !important;
  display: inline-block !important;
  background: var(--ma-btn-icon-fill) !important;
  -webkit-mask: var(--ma-btn-icon) center / contain no-repeat !important;
  mask: var(--ma-btn-icon) center / contain no-repeat !important;
  opacity: 0.96 !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .control-btn.primary,
  .control-btn.is-primary,
  .upload-btn.primary,
  .np-btn.primary,
  .np-btn:not(.ghost),
  .tab-btn.active,
  .feed-group-chip.active,
  .feed-category-chip.active,
  .chip.active,
  .chip[aria-pressed="true"],
  .tm-lens-chip.active,
  .tm-workspace-link.active,
  .pm-hm-group-chip.active,
  .pm-debates-topic-chip.active,
  .pm-amendments-label-chip.active,
  .inst-tab.active,
  .news-view-btn.is-active,
  .intel-target-picker-btn.primary
) {
  --ma-btn-icon-fill: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(222, 250, 255, 0.92));
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  #topicSearchBtn,
  #topicSearchBtnGlobal,
  #topicSearchBtnInline,
  #searchRunBtn,
  .ns-run-btn,
  button[id*="SearchBtn"],
  button[id*="Analyze"],
  button[title*="Search"]
) {
  --ma-btn-icon: var(--ma-icon-search);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .upload-btn,
  button[id*="Upload"],
  button[id*="Import"],
  button[id*="Download"],
  button[id*="Sync"],
  button[id*="Rebuild"]
) {
  --ma-btn-icon: var(--ma-icon-import);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Refresh"],
  button[title*="Refresh"],
  button[onclick*="Refresh"],
  button[onclick*="loadSources"],
  button[onclick*="reload"]
) {
  --ma-btn-icon: var(--ma-icon-refresh);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Reset"],
  button[id*="Clear"],
  button[title*="Reset"],
  button[aria-label*="Clear"],
  .clear-btn,
  .coalition-overlay-clear
) {
  --ma-btn-icon: var(--ma-icon-reset);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Export"],
  button[title*="Export"],
  button[data-tip*="Export"],
  button[data-topic-export],
  .export-btn
) {
  --ma-btn-icon: var(--ma-icon-export);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Copy"],
  button[title*="Copy"],
  button[onclick*="copy"],
  button[data-copy-email],
  button[data-copy],
  .mep-copy-btn
) {
  --ma-btn-icon: var(--ma-icon-copy);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Link"],
  button[title*="URL"],
  button[title*="link"],
  button[title*="Link"]
) {
  --ma-btn-icon: var(--ma-icon-link);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Compare"],
  button[data-profile-open-compare],
  button[data-tm-action="compare"],
  button[data-open-mep-card],
  a[href*="parliament-members"]
) {
  --ma-btn-icon: var(--ma-icon-compare);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Intel"],
  button[id*="Brief"],
  button[data-profile-open-intel],
  a[href*="intel.html"]
) {
  --ma-btn-icon: var(--ma-icon-intel);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="Fav"],
  button[data-remove-profile],
  button[title*="Favorite"],
  button[aria-label*="favorite"],
  button[aria-label*="Favorite"]
) {
  --ma-btn-icon: var(--ma-icon-star);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .feed-category-chip,
  .feed-group-chip,
  .chip,
  .tm-lens-chip,
  .pm-hm-group-chip,
  .pm-debates-topic-chip,
  .pm-amendments-label-chip,
  button[data-mandate],
  button[data-feed-category],
  button[data-feed-group],
  button[data-feed],
  button[data-view],
  button[data-hm-group]
) {
  --ma-btn-icon: var(--ma-icon-filter);
  --ma-btn-icon-size: 12px;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button[id*="More"],
  button[onclick*="loadMore"],
  .pm-amendment-cosigners-toggle,
  .np-panel-size-btn
) {
  --ma-btn-icon: var(--ma-icon-more);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .np-panel-size-btn[aria-pressed="true"],
  button[aria-label*="Collapse"],
  button[title*="Collapse"]
) {
  --ma-btn-icon: var(--ma-icon-collapse);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  #newsMoveModeBtn,
  button[title*="move"],
  button[title*="Move"]
) {
  --ma-btn-icon: var(--ma-icon-move);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .news-view-btn,
  .sources-toggle-btn,
  button[data-session-id],
  button[data-profile-session-id]
) {
  --ma-btn-icon: var(--ma-icon-view);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .pm-debate-translate,
  button[data-debate-translate],
  button[data-debate-toggle-lang]
) {
  --ma-btn-icon: var(--ma-icon-translate);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .ma-fs-btn,
  button[title*="Fullscreen"],
  button[title*="FULLSCREEN"]
) {
  --ma-btn-icon: var(--ma-icon-fullscreen);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .cp-help-close,
  .tm-help-close,
  .tm-discovery-overlay-close,
  .settings-close,
  .mep-card-close,
  .cp-sel-clear,
  .cp-pair-remove,
  .pm-profile-history-remove,
  button[id*="Close"],
  button[aria-label*="Close"],
  button[aria-label*="Remove"],
  button[data-remove],
  .remove-btn
) {
  --ma-btn-icon: var(--ma-icon-close);
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .np-panel-size-btn,
  .cp-help-close,
  .tm-help-close,
  .tm-discovery-overlay-close,
  .settings-close,
  .mep-card-close,
  .cp-sel-clear,
  .cp-pair-remove,
  .pm-profile-history-remove
):not(:has(svg)):not(:has(img)):not(:has(.h-icon)) {
  min-width: 34px !important;
  min-height: 34px !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .np-panel-size-btn,
  .cp-help-close,
  .tm-help-close,
  .tm-discovery-overlay-close,
  .settings-close,
  .mep-card-close,
  .cp-sel-clear,
  .cp-pair-remove,
  .pm-profile-history-remove
):not(:has(svg)):not(:has(img)):not(:has(.h-icon))::before {
  width: 15px !important;
  height: 15px !important;
  flex-basis: 15px !important;
}

body[data-page="graph"] .sigma-canvas-wrap :where(.sg-zoom-btn, .sigma-sidebar-drawer-toggle):not(:has(svg)) {
  --ma-btn-icon-fill: linear-gradient(135deg, rgba(31, 111, 216, 0.96), rgba(28, 154, 166, 0.92));
  --ma-btn-icon-size: 15px;
  color: transparent !important;
  font-size: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body[data-page="graph"] .sigma-canvas-wrap :where(.sg-zoom-btn, .sigma-sidebar-drawer-toggle):not(:has(svg))::before {
  content: "" !important;
  width: var(--ma-btn-icon-size) !important;
  height: var(--ma-btn-icon-size) !important;
  background: var(--ma-btn-icon-fill) !important;
  -webkit-mask: var(--ma-btn-icon, var(--ma-icon-action)) center / contain no-repeat !important;
  mask: var(--ma-btn-icon, var(--ma-icon-action)) center / contain no-repeat !important;
}

body[data-page="graph"] .sigma-canvas-wrap #sgZoomIn { --ma-btn-icon: var(--ma-icon-zoom-in); }
body[data-page="graph"] .sigma-canvas-wrap #sgZoomOut { --ma-btn-icon: var(--ma-icon-zoom-out); }
body[data-page="graph"] .sigma-canvas-wrap #sgZoomReset,
body[data-page="graph"] .sigma-canvas-wrap .sigma-sidebar-drawer-toggle { --ma-btn-icon: var(--ma-icon-reset); }

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .control-btn,
  .upload-btn,
  .clear-btn,
  .remove-btn,
  .tab-btn,
  .np-btn,
  .news-view-btn,
  .sources-toggle-btn,
  .inst-tab,
  .feed-group-chip,
  .feed-category-chip,
  .chip,
  .tm-lens-chip,
  .pm-hm-group-chip,
  .pm-debates-topic-chip,
  .pm-amendments-label-chip,
  .cp-tag,
  .intel-target-picker-btn
):focus-visible {
  outline: 0 !important;
  box-shadow: var(--ma-comp-focus) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  .search-input,
  .news-filter-input,
  .sidebar-search-input,
  .pm-selector-input,
  .pm-hm-search,
  .ns-input
) {
  border-radius: 8px !important;
  border: 1px solid rgba(67, 87, 80, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.30)) !important;
  color: rgba(18, 31, 27, 0.92) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 7px 18px rgba(15, 23, 42, 0.035) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .input-with-icon,
  .ns-input-wrap,
  .pm-selector-search-wrap,
  .tm-sidebar-search-wrap,
  .search-wrap
) {
  border-radius: 8px !important;
  border-color: rgba(67, 87, 80, 0.14) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.20)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58), 0 8px 22px rgba(15, 23, 42, 0.035) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  .search-input,
  .news-filter-input,
  .pm-selector-input,
  .pm-hm-search,
  .ns-input
):focus {
  outline: 0 !important;
  border-color: rgba(31, 111, 216, 0.42) !important;
  box-shadow: var(--ma-comp-focus), inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  input,
  textarea,
  .search-input,
  .news-filter-input,
  .pm-selector-input,
  .ns-input
)::placeholder {
  color: rgba(92, 108, 102, 0.66) !important;
  opacity: 1 !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  .chart-container,
  .coalition-chart-wrap,
  .tm-topic-alliance-wrap,
  .tm-matrix-wrap,
  .tm-power-canvas-wrap,
  .tm-drill-table-wrap,
  .pm-profile-votemix-canvas-wrap,
  .pm-profile-mini-chart,
  .pm-profile-influence-canvas,
  .pm-profile-influence-stage,
  .news-browser-reader,
  .search-preview-shell
) {
  border-radius: 8px !important;
  border: 1px solid rgba(67, 87, 80, 0.11) !important;
  background:
    linear-gradient(rgba(67, 87, 80, 0.020) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 87, 80, 0.018) 1px, transparent 1px),
    radial-gradient(520px 240px at 78% 0%, rgba(45, 118, 224, 0.075), transparent 68%),
    rgba(255, 255, 255, 0.16) !important;
  background-size: 32px 32px, 32px 32px, auto, auto !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62), 0 10px 28px rgba(15, 23, 42, 0.038) !important;
  overflow: hidden !important;
}

body[data-page="graph"] .sigma-canvas-wrap {
  background:
    linear-gradient(rgba(20, 31, 28, 0.030) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 31, 28, 0.030) 1px, transparent 1px),
    radial-gradient(820px 360px at 50% -4%, rgba(43, 113, 234, 0.105), transparent 66%),
    linear-gradient(180deg, rgba(249, 253, 251, 0.95) 0%, rgba(234, 243, 240, 0.96) 100%) !important;
  background-size: 36px 36px, 36px 36px, auto, auto !important;
}

body[data-page="graph"] .sigma-canvas-wrap :where(.sg-legend, .sg-fa2-badge, .sg-sampling-notice, .sg-zoom-btn, .sigma-sidebar-drawer-toggle) {
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.42)) !important;
  box-shadow: 0 15px 36px rgba(15, 23, 42, 0.075), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
  backdrop-filter: blur(14px) saturate(1.12) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  .mep-chart-legend,
  .pm-profile-votemix-legend,
  .pm-hm-legend,
  .pm-dist-legend,
  .tm-power-legend,
  .chart-legend,
  .legend,
  .coalition-legend,
  .graph-legend,
  .landing-legend
),
body[data-page="graph"] .sigma-canvas-wrap .sg-legend {
  gap: 8px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(67, 87, 80, 0.11) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.24)) !important;
  color: rgba(31, 44, 40, 0.84) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  .mep-chart-legend-item,
  .pm-profile-votemix-legend-item,
  .pm-hm-legend-item,
  .pm-dist-legend-item,
  .legend-item,
  .chart-legend-item,
  .coalition-legend-item
),
body[data-page="graph"] .sg-legend-item {
  border-radius: 8px !important;
  color: rgba(31, 44, 40, 0.82) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  .h-icon,
  .input-icon,
  .tm-section-card-icon,
  .hero-stat-card__icon,
  .news-overview-card__icon,
  .np-empty-icon-24,
  .np-empty-icon-22,
  .panel-icon,
  .section-icon
) {
  color: rgba(31, 111, 216, 0.90) !important;
  filter: drop-shadow(0 4px 9px rgba(31, 111, 216, 0.14)) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  .tm-section-card-icon,
  .hero-stat-card__icon,
  .news-overview-card__icon,
  .np-empty-icon-24,
  .np-empty-icon-22,
  .panel-icon,
  .section-icon
) {
  border-radius: 8px !important;
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0) 55%),
    var(--ma-comp-accent-soft) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62), 0 8px 18px rgba(31, 111, 216, 0.105) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(.np-title-icon) {
  filter: drop-shadow(0 5px 10px rgba(31, 111, 216, 0.14)) saturate(1.06) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  table,
  .data-table,
  .tm-drill-table,
  .cp-drill-table,
  .pm-hm-table
) {
  border-color: rgba(67, 87, 80, 0.11) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page) :where(
  th,
  .table-head,
  .hm-th
) {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0.28)) !important;
  color: rgba(31, 44, 40, 0.78) !important;
}


/* ==========================================================================
   Page-Specific Deploy Polish: News + Graph + Members
   Content-only refinements. Top navigation and left sidebars remain untouched.
   ========================================================================== */

body[data-page="news"] .dashboard-content .news-workspace {
  gap: 18px !important;
}

body[data-page="news"] .dashboard-content .news-hero-panel {
  min-height: 126px !important;
  padding: 24px 28px !important;
  background:
    radial-gradient(640px 220px at 82% 0%, rgba(28, 154, 166, 0.115), transparent 66%),
    radial-gradient(520px 210px at 10% -18%, rgba(31, 111, 216, 0.12), transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.34)) !important;
}

body[data-page="news"] .dashboard-content .news-hero-copy h1 {
  font-size: clamp(2rem, 3.2vw, 3.45rem) !important;
  line-height: 0.96 !important;
  letter-spacing: 0 !important;
  max-width: 760px !important;
}

body[data-page="news"] .dashboard-content .news-hero-copy p {
  max-width: 780px !important;
  font-size: 0.98rem !important;
  line-height: 1.62 !important;
  color: rgba(54, 70, 64, 0.78) !important;
}

body[data-page="news"] .dashboard-content .page-toolbar--news {
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0.18)) !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
}

body[data-page="news"] .dashboard-content .news-overview-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
  gap: 12px !important;
}

body[data-page="news"] .dashboard-content .news-overview-card {
  position: relative !important;
  min-height: 104px !important;
  overflow: hidden !important;
}

body[data-page="news"] .dashboard-content .news-overview-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 3px !important;
  background: linear-gradient(180deg, rgba(31, 111, 216, 0.86), rgba(28, 154, 166, 0.78)) !important;
  opacity: 0.84 !important;
}

body[data-page="news"] .dashboard-content .news-overview-card__value {
  color: rgba(17, 29, 25, 0.95) !important;
  font-size: 1.75rem !important;
  letter-spacing: 0 !important;
}

body[data-page="news"] .dashboard-content .news-overview-card__kicker,
body[data-page="news"] .dashboard-content .news-overview-card__meta {
  color: rgba(70, 86, 80, 0.76) !important;
}

body[data-page="news"] .dashboard-content .news-panel-section {
  overflow: hidden !important;
}

body[data-page="news"] .dashboard-content .news-panel-section > .np {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="news"] .dashboard-content .np-header {
  padding: 15px 17px !important;
  border-bottom: 1px solid rgba(67, 87, 80, 0.10) !important;
}

body[data-page="news"] .dashboard-content .np-title {
  color: rgba(17, 29, 25, 0.92) !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.035em !important;
}

body[data-page="news"] .dashboard-content .stat-bar {
  gap: 12px !important;
  padding: 13px 15px !important;
  border-bottom: 1px solid rgba(67, 87, 80, 0.09) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.08)) !important;
}

body[data-page="news"] .dashboard-content .stat-item {
  min-width: 72px !important;
  padding-right: 10px !important;
  border-right: 1px solid rgba(67, 87, 80, 0.10) !important;
}

body[data-page="news"] .dashboard-content .stat-item:last-of-type {
  border-right: 0 !important;
}

body[data-page="news"] .dashboard-content .news-filter-input,
body[data-page="news"] .dashboard-content .ns-input,
body[data-page="news"] .dashboard-content .np-toolbar select {
  min-height: 38px !important;
}

body[data-page="news"] .dashboard-content .feed-category-filter,
body[data-page="news"] .dashboard-content .feed-group-filter,
body[data-page="news"] .dashboard-content .inst-tab-row {
  padding: 10px 15px !important;
  gap: 8px !important;
  border-bottom: 1px solid rgba(67, 87, 80, 0.075) !important;
}

body[data-page="news"] .dashboard-content .news-story-grid {
  gap: 12px !important;
}

body[data-page="news"] .dashboard-content .news-story-card,
body[data-page="news"] .dashboard-content .news-highlight-card,
body[data-page="news"] .dashboard-content .feed-editorial-card,
body[data-page="news"] .dashboard-content .src-card {
  position: relative !important;
  overflow: hidden !important;
}

body[data-page="news"] .dashboard-content .news-story-card::before,
body[data-page="news"] .dashboard-content .news-highlight-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 3px !important;
  background: linear-gradient(180deg, rgba(100, 116, 139, 0.72), rgba(148, 163, 184, 0.42)) !important;
}

body[data-page="news"] .dashboard-content .news-story-card.quality-institutional::before,
body[data-page="news"] .dashboard-content .news-highlight-card.quality-institutional::before {
  background: linear-gradient(180deg, #1f6fd8, #1c9aa6) !important;
}

body[data-page="news"] .dashboard-content .news-story-card.quality-major::before,
body[data-page="news"] .dashboard-content .news-highlight-card.quality-major::before {
  background: linear-gradient(180deg, #2d76e0, #6aa6ff) !important;
}

body[data-page="news"] .dashboard-content .news-story-card.quality-thinktank::before,
body[data-page="news"] .dashboard-content .news-highlight-card.quality-thinktank::before {
  background: linear-gradient(180deg, #16846f, #58b99f) !important;
}

body[data-page="news"] .dashboard-content .news-story-title,
body[data-page="news"] .dashboard-content .feed-editorial-title,
body[data-page="news"] .dashboard-content .news-highlight-card h4 {
  color: rgba(17, 29, 25, 0.94) !important;
  line-height: 1.28 !important;
}

body[data-page="news"] .dashboard-content .news-story-summary,
body[data-page="news"] .dashboard-content .feed-editorial-summary,
body[data-page="news"] .dashboard-content .nh-summary {
  color: rgba(58, 75, 69, 0.76) !important;
  line-height: 1.58 !important;
}

body[data-page="news"] .dashboard-content .news-story-meta,
body[data-page="news"] .dashboard-content .feed-editorial-meta,
body[data-page="news"] .dashboard-content .news-highlight-kicker {
  gap: 7px !important;
  color: rgba(80, 96, 90, 0.78) !important;
}

body[data-page="news"] .dashboard-content .art-tags {
  gap: 6px !important;
}

body[data-page="news"] .dashboard-content .art-tag,
body[data-page="news"] .dashboard-content .search-quality-pill,
body[data-page="news"] .dashboard-content .art-source,
body[data-page="news"] .dashboard-content .art-author,
body[data-page="news"] .dashboard-content .art-group-tag {
  border-radius: 8px !important;
  border: 1px solid rgba(67, 87, 80, 0.11) !important;
  background: rgba(255, 255, 255, 0.36) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;
}

body[data-page="news"] .dashboard-content .news-card-signal {
  height: 5px !important;
  gap: 5px !important;
  opacity: 0.92 !important;
}

body[data-page="news"] .dashboard-content .news-card-signal span {
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(31, 111, 216, 0.78), rgba(28, 154, 166, 0.66)) !important;
}

body[data-page="news"] .dashboard-content .news-story-actions {
  justify-content: flex-start !important;
  gap: 8px !important;
}

body[data-page="news"] .dashboard-content .search-result-head,
body[data-page="news"] .dashboard-content .sources-section-head,
body[data-page="news"] .dashboard-content .news-highlights-head {
  border-radius: 8px !important;
  border: 1px solid rgba(67, 87, 80, 0.10) !important;
  background: rgba(255, 255, 255, 0.28) !important;
  padding: 10px 12px !important;
}

body[data-page="news"] .dashboard-content .news-feed-pager {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 16px 0 4px !important;
}

body[data-page="news"] .dashboard-content .news-browser-reader,
body[data-page="news"] .dashboard-content .news-reader-markdown {
  color: rgba(24, 37, 32, 0.90) !important;
  line-height: 1.68 !important;
}

body[data-page="graph"] .sigma-stage-frame,
body[data-page="graph"] .sigma-stage-frame .sigma-shell {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body[data-page="graph"] .sigma-canvas-wrap {
  border: 0 !important;
  border-left: 0 !important;
  outline: 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 12px 0 34px rgba(18, 28, 24, 0.045) !important;
  background:
    linear-gradient(rgba(20, 31, 28, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 31, 28, 0.024) 1px, transparent 1px),
    radial-gradient(860px 390px at 52% -5%, rgba(31, 111, 216, 0.12), transparent 68%),
    radial-gradient(680px 340px at 86% 28%, rgba(28, 154, 166, 0.07), transparent 70%),
    linear-gradient(180deg, rgba(249, 253, 251, 0.96) 0%, rgba(236, 245, 241, 0.96) 100%) !important;
  background-size: 38px 38px, 38px 38px, auto, auto, auto !important;
}

body[data-page="graph"] .sigma-canvas-wrap::before {
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(16, 31, 26, 0.045) !important;
}

body[data-page="graph"] .sg-axis-label {
  border-radius: 8px !important;
  padding: 5px 8px !important;
  color: rgba(38, 55, 49, 0.78) !important;
  background: rgba(255, 255, 255, 0.46) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.06) !important;
  backdrop-filter: blur(12px) saturate(1.06) !important;
}

body[data-page="graph"] .sg-legend {
  bottom: 12px !important;
  max-width: min(760px, calc(100vw - 320px)) !important;
}

body[data-page="graph"] .sg-legend-item {
  padding: 4px 7px !important;
  background: rgba(255, 255, 255, 0.30) !important;
}

body[data-page="graph"] .sg-legend-lbl,
body[data-page="graph"] .sg-sampling-notice,
body[data-page="graph"] .sg-fa2-badge {
  color: rgba(35, 51, 45, 0.82) !important;
}

body[data-page="graph"] .sg-sampling-notice {
  top: 12px !important;
  border-color: rgba(255, 255, 255, 0.62) !important;
}

body[data-page="graph"] .sg-zoom-btn,
body[data-page="graph"] .sigma-sidebar-drawer-toggle {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.45)) !important;
}

body[data-page="graph"] .sigma-canvas-wrap #sgFitView {
  --ma-btn-icon: var(--ma-icon-fullscreen);
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-workspace {
  background:
    radial-gradient(900px 340px at 82% -8%, rgba(31, 111, 216, 0.10), transparent 66%),
    radial-gradient(700px 320px at 8% 0%, rgba(28, 154, 166, 0.065), transparent 70%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.34)) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-head {
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(67, 87, 80, 0.10) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-section-label {
  margin-top: 18px !important;
  color: rgba(65, 81, 75, 0.78) !important;
  letter-spacing: 0.08em !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-top-grid {
  grid-template-columns: minmax(320px, 0.92fr) minmax(420px, 1.08fr) !important;
  gap: 14px !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-votemix-body {
  gap: 12px !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-votemix-canvas-wrap,
body[data-page="parliament-members"] .dashboard-content .pm-profile-mini-chart,
body[data-page="parliament-members"] .dashboard-content .chart-container {
  background:
    linear-gradient(rgba(67, 87, 80, 0.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 87, 80, 0.014) 1px, transparent 1px),
    rgba(255, 255, 255, 0.16) !important;
  background-size: 30px 30px, 30px 30px, auto !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-card {
  grid-template-columns: minmax(230px, 0.30fr) minmax(540px, 0.70fr) !important;
  min-height: 460px !important;
  padding: 18px 20px !important;
  gap: 18px !important;
  align-items: center !important;
  background:
    radial-gradient(640px 330px at 76% 12%, rgba(31, 111, 216, 0.14), transparent 66%),
    radial-gradient(460px 260px at 18% 92%, rgba(28, 154, 166, 0.07), transparent 70%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.60), rgba(255, 255, 255, 0.34)) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-info {
  align-self: stretch !important;
  justify-content: center !important;
  gap: 8px !important;
  padding-right: 10px !important;
  border-right: 1px solid rgba(67, 87, 80, 0.10) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-title {
  font-size: 1.08rem !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-score-val {
  font-size: 2.35rem !important;
  color: #1f6fd8 !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-score-lbl {
  font-size: 0.68rem !important;
  color: rgba(72, 88, 82, 0.74) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-legend {
  max-width: 220px !important;
  gap: 6px !important;
  font-size: 0.67rem !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-legend > span {
  max-width: 100% !important;
  min-width: 0 !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-legend span span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-bench-ctrl {
  max-width: 230px !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-stage {
  min-height: 430px !important;
  align-items: center !important;
  justify-content: center !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-canvas-wrap {
  width: min(100%, 540px) !important;
}


body[data-page="parliament-members"] .dashboard-content .pm-kiviat-axis-track {
  background: rgba(67, 87, 80, 0.10) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-kiviat-axis-fill {
  background: linear-gradient(90deg, #1f6fd8, #1c9aa6) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-charts-grid {
  gap: 14px !important;
}

body[data-page="parliament-members"] .dashboard-content .chart-card--modern {
  min-height: 340px !important;
}

@media (max-width: 1320px) {
  body[data-page="news"] .dashboard-content .news-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-card,
  body[data-page="parliament-members"] .dashboard-content .pm-profile-top-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-info {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(67, 87, 80, 0.10) !important;
    padding-right: 0 !important;
    padding-bottom: 14px !important;
  }

  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-stage {
    min-height: 360px !important;
  }

  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-canvas-wrap {
    width: min(100%, 460px) !important;
  }
}

@media (max-width: 720px) {
  body[data-page="news"] .dashboard-content .news-overview-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="news"] .dashboard-content .news-hero-panel {
    padding: 20px !important;
  }
}

/* ==========================================================================
   Data Visualization Polish
   Chart canvases, heatmaps, matrices and graph overlays only.
   ========================================================================== */

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content)) :where(
  .chart-container,
  .chart-card,
  .chart-card--modern,
  .pm-profile-votemix-canvas-wrap,
  .pm-profile-mini-chart,
  .tm-topic-alliance-chart-wrap,
  .tm-power-canvas-wrap,
  .coalition-chart-wrap,
  .tm-matrix-wrap,
  .topic-matrix-wrap,
  .pm-heatmap-scroll,
  .heatmap-wrap
) {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.60) !important;
  background:
    linear-gradient(rgba(67, 87, 80, 0.020) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 87, 80, 0.018) 1px, transparent 1px),
    radial-gradient(480px 220px at 82% 6%, rgba(31, 111, 216, 0.070), transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.50), rgba(255, 255, 255, 0.20)) !important;
  background-size: 32px 32px, 32px 32px, auto, auto !important;
  box-shadow:
    0 18px 46px rgba(15, 23, 42, 0.060),
    inset 0 1px 0 rgba(255, 255, 255, 0.70),
    inset 0 -1px 0 rgba(67, 87, 80, 0.045) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content)) :where(
  .chart-container,
  .chart-card,
  .chart-card--modern,
  .pm-profile-votemix-canvas-wrap,
  .pm-profile-mini-chart,
  .tm-topic-alliance-chart-wrap,
  .tm-power-canvas-wrap,
  .coalition-chart-wrap
)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.38) 0%, rgba(255, 255, 255, 0.02) 42%, rgba(255, 255, 255, 0.22) 100%) !important;
  opacity: 0.62 !important;
}

/* .tm-power-canvas-wrap canvas deliberately excluded below (found 2026-09-14): this rule was
   written for single-canvas Chart.js charts, where forcing position:relative is harmless — but
   .tm-power-canvas-wrap holds Cytoscape's THREE stacked canvas layers (node/drag/selectbox),
   which Cytoscape itself positions with `position: absolute` via inline style so they overlay
   into one image. This !important rule overrode that (inline styles lose to an !important
   stylesheet rule), so the three layers stacked in normal document flow instead of on top of
   each other — the first layer alone (829px) already exceeded the container's clipped height
   (760px, overflow:hidden), pushing the other two entirely out of view. Nodes were still
   hoverable (Cytoscape's hit-testing is coordinate math, independent of what's actually
   painted) but nothing was ever visible. */
body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content)) :where(
  .chart-container canvas,
  .chart-card canvas,
  .chart-card--modern canvas,
  .pm-profile-votemix-canvas-wrap canvas,
  .pm-profile-mini-chart canvas,
  .tm-topic-alliance-chart-wrap canvas,
  .coalition-chart-wrap canvas
) {
  position: relative !important;
  z-index: 1 !important;
  filter: drop-shadow(0 10px 16px rgba(15, 23, 42, 0.035)) !important;
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content)) :where(
  .chart-card h3,
  .chart-title,
  .pm-chart-title,
  .tm-section-card-title,
  .panel-title
) {
  color: rgba(17, 29, 25, 0.94) !important;
  letter-spacing: 0 !important;
}

body[data-page="topics-mandates"] .dashboard-content .cross-group-matrix,
body[data-page="topics-mandates"] .dashboard-content .topic-matrix,
body[data-page="parliament-members"] .dashboard-content .pm-heatmap-table,
body[data-page] .dashboard-content .heatmap-table {
  border-collapse: separate !important;
  border-spacing: 3px !important;
  background: transparent !important;
}

body[data-page="topics-mandates"] .dashboard-content .cross-group-matrix th,
body[data-page="topics-mandates"] .dashboard-content .topic-matrix th,
body[data-page="parliament-members"] .dashboard-content .pm-heatmap-table th,
body[data-page] .dashboard-content .heatmap-table th {
  border: 0 !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.60), rgba(255, 255, 255, 0.30)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66) !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-cell,
body[data-page="topics-mandates"] .dashboard-content .topic-cell,
body[data-page] .dashboard-content .heatmap-cell,
body[data-page="parliament-members"] .dashboard-content .hm-cell {
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.48),
    inset 0 -1px 0 rgba(17, 29, 25, 0.10),
    0 6px 12px rgba(15, 23, 42, 0.040) !important;
  transition: transform 160ms ease, filter 160ms ease, opacity 160ms ease !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-cell:hover,
body[data-page="topics-mandates"] .dashboard-content .topic-cell:hover,
body[data-page] .dashboard-content .heatmap-cell:hover,
body[data-page="parliament-members"] .dashboard-content .hm-cell:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.10) brightness(1.02) !important;
  opacity: 1 !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-high {
  background: linear-gradient(135deg, rgba(45, 166, 128, 0.86), rgba(139, 220, 178, 0.74)) !important;
  color: #0b3a2e !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-mid {
  background: linear-gradient(135deg, rgba(216, 159, 44, 0.82), rgba(249, 211, 112, 0.72)) !important;
  color: #563708 !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-low {
  background: linear-gradient(135deg, rgba(220, 114, 54, 0.78), rgba(253, 180, 116, 0.68)) !important;
  color: #623016 !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-cold {
  background: linear-gradient(135deg, rgba(194, 65, 61, 0.80), rgba(248, 138, 128, 0.68)) !important;
  color: #5d1717 !important;
}

body[data-page="topics-mandates"] .dashboard-content .cgm-na,
body[data-page="topics-mandates"] .dashboard-content .cgm-diag,
body[data-page="topics-mandates"] .dashboard-content .topic-na,
body[data-page] .dashboard-content .heatmap-cell.na {
  background: linear-gradient(135deg, rgba(226, 234, 231, 0.72), rgba(247, 250, 249, 0.54)) !important;
  color: rgba(77, 94, 88, 0.58) !important;
}

body[data-page="topics-mandates"] .dashboard-content .topic-pct {
  background:
    radial-gradient(circle at 26% 18%, rgba(255, 255, 255, 0.52), transparent 48%),
    linear-gradient(135deg, hsla(var(--cell-h), 56%, 48%, 0.82), hsla(var(--cell-h), 60%, 66%, 0.62)) !important;
  color: rgba(14, 31, 25, 0.88) !important;
}

body[data-page="topics-mandates"] .dashboard-content .topic-ep-baseline {
  background: linear-gradient(135deg, rgba(222, 229, 226, 0.62), rgba(255, 255, 255, 0.50)) !important;
  color: rgba(39, 55, 49, 0.82) !important;
}

body[data-page] .dashboard-content .heatmap-cell.match,
body[data-page="parliament-members"] .dashboard-content .hm-cell.for {
  background: radial-gradient(circle at 26% 18%, rgba(255, 255, 255, 0.45), transparent 46%), linear-gradient(135deg, #16846f, #50b99b) !important;
  color: #0b3a2e !important;
}

body[data-page] .dashboard-content .heatmap-cell.mismatch,
body[data-page="parliament-members"] .dashboard-content .hm-cell.against {
  background: radial-gradient(circle at 26% 18%, rgba(255, 255, 255, 0.44), transparent 46%), linear-gradient(135deg, #c2413d, #f08a80) !important;
  color: #5d1717 !important;
}

body[data-page] .dashboard-content .heatmap-cell.conflict,
body[data-page="parliament-members"] .dashboard-content .hm-cell.abstain {
  background: radial-gradient(circle at 26% 18%, rgba(255, 255, 255, 0.44), transparent 46%), linear-gradient(135deg, #b7791f, #edc66d) !important;
  color: #563708 !important;
}

body[data-page="parliament-members"] .dashboard-content .hm-cell.absent {
  background: linear-gradient(135deg, rgba(214, 225, 220, 0.72), rgba(247, 250, 249, 0.52)) !important;
  opacity: 0.82 !important;
}

body[data-page="parliament-members"] .dashboard-content .hm-cell.hm-match {
  outline: 2px solid rgba(31, 111, 216, 0.86) !important;
  outline-offset: -2px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.56),
    0 0 0 3px rgba(31, 111, 216, 0.10),
    0 7px 14px rgba(15, 23, 42, 0.055) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-hm-legend,
body[data-page] .dashboard-content .heatmap-legend {
  border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.28)) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.050), inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
}

body[data-page="graph"] .sigma-canvas-wrap {
  background:
    linear-gradient(rgba(20, 31, 28, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 31, 28, 0.020) 1px, transparent 1px),
    radial-gradient(980px 390px at 48% -4%, rgba(31, 111, 216, 0.13), transparent 68%),
    radial-gradient(720px 340px at 83% 24%, rgba(28, 154, 166, 0.075), transparent 70%),
    radial-gradient(560px 280px at 20% 86%, rgba(31, 111, 216, 0.055), transparent 72%),
    linear-gradient(180deg, rgba(249, 253, 251, 0.965) 0%, rgba(235, 244, 240, 0.965) 100%) !important;
  background-size: 38px 38px, 38px 38px, auto, auto, auto, auto !important;
}

body[data-page="graph"] .sg-legend-dot {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.60),
    0 5px 10px rgba(15, 23, 42, 0.11) !important;
}

/* Compact fullscreen affordance: icon only, no visible label. */
body[data-page] .ma-fs-btn {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  justify-content: center !important;
  gap: 0 !important;
  border-radius: 8px !important;
  text-transform: none !important;
}

body[data-page] .ma-fs-btn-text {
  display: none !important;
}

body[data-page] .ma-fs-btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 0 !important;
}

body[data-page] .ma-fs-btn-icon::before {
  content: "" !important;
  width: 17px !important;
  height: 17px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--ma-icon-fullscreen) center / contain no-repeat !important;
  mask: var(--ma-icon-fullscreen) center / contain no-repeat !important;
}

/* Amendments list: compact cards with stable text flow. */
body[data-page="parliament-members"] .dashboard-content .pm-amendments-grid {
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) !important;
  min-height: 620px !important;
  max-height: 620px !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendments-list {
  align-content: start !important;
  padding: 8px !important;
  gap: 7px !important;
  background:
    linear-gradient(rgba(67, 87, 80, 0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 87, 80, 0.012) 1px, transparent 1px),
    rgba(255, 255, 255, 0.18) !important;
  background-size: 28px 28px, 28px 28px, auto !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-item {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 8px 9px !important;
  border-radius: 8px !important;
  background:
    radial-gradient(240px 100px at 92% -10%, rgba(31, 111, 216, 0.07), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.64), rgba(255, 255, 255, 0.36)) !important;
  border: 1px solid rgba(67, 87, 80, 0.11) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.64) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-item.is-active {
  border-color: rgba(31, 111, 216, 0.42) !important;
  box-shadow: 0 12px 28px rgba(31, 111, 216, 0.10), inset 3px 0 0 rgba(31, 111, 216, 0.72) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-top,
body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-main {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-date,
body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-seq,
body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-committee {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-ref {
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: 11px !important;
  line-height: 1.22 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-committee {
  max-width: 100px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  border-radius: 8px !important;
  padding: 2px 6px !important;
  font-size: 9.5px !important;
  color: #16846f !important;
  background: rgba(22, 132, 111, 0.09) !important;
  border: 1px solid rgba(22, 132, 111, 0.16) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-dossier {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  max-width: 100% !important;
  overflow: hidden !important;
  font-size: 10.4px !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-labels {
  gap: 4px !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-mini-chip {
  max-width: 112px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  border-radius: 8px !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-diff-grid {
  border-radius: 8px !important;
}

@media (max-width: 1040px) {
  body[data-page="parliament-members"] .dashboard-content .pm-amendments-grid {
    grid-template-columns: 1fr !important;
    max-height: none !important;
  }
}

/* Influence graph color pass. */
body[data-page="parliament-members"] .dashboard-content .pm-profile-influence-canvas {
  background:
    linear-gradient(rgba(67, 87, 80, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 87, 80, 0.016) 1px, transparent 1px),
    radial-gradient(620px 320px at 46% 38%, rgba(31, 111, 216, 0.075), transparent 70%),
    radial-gradient(420px 240px at 74% 28%, rgba(22, 132, 111, 0.055), transparent 68%),
    linear-gradient(180deg, rgba(250, 253, 251, 0.94), rgba(239, 247, 243, 0.94)) !important;
  background-size: 34px 34px, 34px 34px, auto, auto, auto !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-influence-edge {
  mix-blend-mode: multiply !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-influence-node circle {
  filter: drop-shadow(0 7px 10px rgba(15, 23, 42, 0.14)) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-profile-influence-node text {
  paint-order: stroke !important;
  stroke: rgba(255, 255, 255, 0.82) !important;
  stroke-width: 3px !important;
  stroke-linejoin: round !important;
}

/* Topics & Mandate production pass: local query panels, section pills, and data cards. */
:root {
  --ma-icon-overview: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1.5'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1.5'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1.5'/%3E%3Crect x='14' y='14' width='6' height='6' rx='1.5'/%3E%3C/svg%3E");
  --ma-icon-power-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3Ccircle cx='5' cy='6' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='5' cy='18' r='2'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3Cpath d='M7 7.5l3.2 2.8M17 7.5l-3.2 2.8M7 16.5l3.2-2.8M17 16.5l-3.2-2.8'/%3E%3C/svg%3E");
  --ma-icon-discovery: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 4v3M12 17v3M4 12h3M17 12h3'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3C/svg%3E");
  --ma-icon-behaviour: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9M10 19V5M16 19v-7M22 19H2'/%3E%3Cpath d='M4 9l6-4 6 7 6-4'/%3E%3C/svg%3E");
  --ma-icon-coalition: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='12' r='4'/%3E%3Ccircle cx='16' cy='12' r='4'/%3E%3Cpath d='M11 12h2M4 17c4 3 12 3 16 0'/%3E%3C/svg%3E");
  --ma-icon-matrix: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.95' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='4' height='4' rx='1'/%3E%3Crect x='10' y='4' width='4' height='4' rx='1'/%3E%3Crect x='16' y='4' width='4' height='4' rx='1'/%3E%3Crect x='4' y='10' width='4' height='4' rx='1'/%3E%3Crect x='10' y='10' width='4' height='4' rx='1'/%3E%3Crect x='16' y='10' width='4' height='4' rx='1'/%3E%3Crect x='4' y='16' width='4' height='4' rx='1'/%3E%3Crect x='10' y='16' width='4' height='4' rx='1'/%3E%3Crect x='16' y='16' width='4' height='4' rx='1'/%3E%3C/svg%3E");
  --ma-icon-topic-radar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 5v8l-8 5-8-5V8l8-5z'/%3E%3Cpath d='M12 3v18M4 8l16 8M20 8L4 16' opacity='.55'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E");
  --ma-icon-signals: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a8 8 0 0 1 16 0'/%3E%3Cpath d='M8 14a4 4 0 0 1 8 0'/%3E%3Cpath d='M12 14v6'/%3E%3Ccircle cx='12' cy='20' r='1.5'/%3E%3C/svg%3E");
  --ma-icon-patterns: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l4-7 4 4 4-8 6 11'/%3E%3Cpath d='M3 21h18' opacity='.6'/%3E%3C/svg%3E");
  --ma-icon-drilldown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h12M4 11h8M4 17h7'/%3E%3Ccircle cx='17' cy='17' r='3.2'/%3E%3Cpath d='M19.4 19.4L22 22'/%3E%3C/svg%3E");
  --ma-icon-vote-scope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3Cpath d='M4 4h16v16H4z' opacity='.55'/%3E%3C/svg%3E");
}

body[data-page="topics-mandates"] .dashboard-sidebar {
  border-right: 1px solid rgba(255, 255, 255, 0.07) !important;
  background:
    radial-gradient(260px 520px at 10% 0%, rgba(31, 111, 216, 0.11), transparent 72%),
    radial-gradient(240px 360px at 94% 30%, rgba(28, 154, 166, 0.08), transparent 72%),
    linear-gradient(180deg, rgba(15, 30, 26, 0.98), rgba(10, 23, 20, 0.985)) !important;
  box-shadow: 18px 0 44px rgba(6, 18, 15, 0.20) !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-section-head {
  color: rgba(223, 236, 232, 0.68) !important;
  letter-spacing: 0.13em !important;
  font-weight: 820 !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-divider {
  height: 1px !important;
  border: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent) !important;
  margin: 16px 0 !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar :where(.search-input, .sidebar-filter-ctrl) {
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  background: rgba(255, 255, 255, 0.065) !important;
  color: rgba(235, 245, 241, 0.92) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
  outline: 0 !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar :where(.search-input, .sidebar-filter-ctrl):focus {
  border-color: rgba(80, 158, 240, 0.54) !important;
  box-shadow: 0 0 0 3px rgba(45, 118, 224, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-filter-label,
body[data-page="topics-mandates"] .dashboard-sidebar #topicFilterStatus {
  color: rgba(222, 236, 232, 0.66) !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar :where(.tm-lens-chip, .chip, .sidebar-reset-btn, .tm-sidebar-export-btn, #topicSearchBtn, #topicClearBtn) {
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(235, 245, 241, 0.88) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  text-decoration: none !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar :where(.tm-lens-chip, .chip, .sidebar-reset-btn, .tm-sidebar-export-btn):not(:has(svg)) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar :where(.tm-lens-chip, .chip, .sidebar-reset-btn, .tm-sidebar-export-btn):not(:has(svg))::before {
  content: "" !important;
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 13px !important;
  background: linear-gradient(135deg, rgba(105, 184, 255, 0.98), rgba(87, 221, 205, 0.88)) !important;
  -webkit-mask: var(--ma-btn-icon, var(--ma-icon-action)) center / contain no-repeat !important;
  mask: var(--ma-btn-icon, var(--ma-icon-action)) center / contain no-repeat !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar :where(.tm-lens-chip.active, .chip.active, .sidebar-reset-btn:hover, .tm-sidebar-export-btn:hover, #topicSearchBtn:hover) {
  border-color: rgba(80, 158, 240, 0.50) !important;
  background: linear-gradient(135deg, rgba(31, 111, 216, 0.92), rgba(28, 154, 166, 0.74)) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(31, 111, 216, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-panel-link {
  min-height: 31px !important;
  border: 1px solid rgba(255, 255, 255, 0.055) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.028) !important;
  color: rgba(224, 237, 233, 0.74) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-panel-link:hover {
  border-color: rgba(80, 158, 240, 0.28) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: rgba(255, 255, 255, 0.96) !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-panel-link.active {
  border-color: rgba(80, 158, 240, 0.42) !important;
  background: linear-gradient(135deg, rgba(31, 111, 216, 0.54), rgba(31, 111, 216, 0.18)) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(31, 111, 216, 0.17), inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-panel-link svg {
  width: 14px !important;
  height: 14px !important;
  padding: 1px !important;
  color: rgba(93, 174, 240, 0.94) !important;
  filter: drop-shadow(0 4px 7px rgba(31, 111, 216, 0.22)) !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-overview"],
body[data-page="topics-mandates"] .dashboard-content .sidebar-panel-link[href="#tm-anchor-overview"] { --ma-btn-icon: var(--ma-icon-overview); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-powergraph"] { --ma-btn-icon: var(--ma-icon-power-map); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-discovery"] { --ma-btn-icon: var(--ma-icon-discovery); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-behaviour"] { --ma-btn-icon: var(--ma-icon-behaviour); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-coalition"] { --ma-btn-icon: var(--ma-icon-coalition); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-matrix"] { --ma-btn-icon: var(--ma-icon-matrix); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-topicmatrix"] { --ma-btn-icon: var(--ma-icon-topic-radar); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-signals"] { --ma-btn-icon: var(--ma-icon-signals); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-patterns"] { --ma-btn-icon: var(--ma-icon-patterns); }
body[data-page="topics-mandates"] .dashboard-content .tm-workspace-link[href="#tm-anchor-drilldown"] { --ma-btn-icon: var(--ma-icon-drilldown); }
body[data-page="topics-mandates"] .dashboard-sidebar .tm-lens-chip[data-lens-mode="adaptive"] { --ma-btn-icon: var(--ma-icon-topic-radar); }
body[data-page="topics-mandates"] .dashboard-sidebar .tm-lens-chip[data-lens-mode="signals"] { --ma-btn-icon: var(--ma-icon-signals); }
body[data-page="topics-mandates"] .dashboard-sidebar .tm-lens-chip[data-lens-mode="votes"] { --ma-btn-icon: var(--ma-icon-vote-scope); }

body[data-page="topics-mandates"] .dashboard-content .tm-topic-alliance-card {
  min-height: 560px !important;
  overflow: hidden !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-topic-alliance-wrap {
  min-height: 430px !important;
  padding: 14px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(67, 87, 80, 0.105) !important;
  background:
    linear-gradient(rgba(67, 87, 80, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 87, 80, 0.016) 1px, transparent 1px),
    radial-gradient(520px 260px at 50% 42%, rgba(31, 111, 216, 0.078), transparent 70%),
    radial-gradient(360px 200px at 74% 25%, rgba(22, 132, 111, 0.055), transparent 70%),
    linear-gradient(180deg, rgba(251, 254, 252, 0.74), rgba(238, 247, 243, 0.46)) !important;
  background-size: 32px 32px, 32px 32px, auto, auto, auto !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 14px 30px rgba(15, 23, 42, 0.045) !important;
}

body[data-page="topics-mandates"] .dashboard-content #tmTopicAllianceChart {
  width: 100% !important;
  min-height: 410px !important;
  height: 410px !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-topic-alliance-tags {
  align-content: start !important;
  gap: 7px !important;
  max-height: 92px !important;
  overflow: auto !important;
  padding-right: 2px !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-topic-tag {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  line-height: 1.22 !important;
  background:
    radial-gradient(140px 60px at 18% 0%, rgba(255, 255, 255, 0.64), transparent 60%),
    rgba(255, 255, 255, 0.38) !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-card-feed {
  min-width: 0 !important;
  overflow: hidden !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed {
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  align-items: stretch !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed-item {
  min-width: 0 !important;
  min-height: 104px !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  overflow: hidden !important;
  padding: 11px 12px !important;
}

body[data-page="topics-mandates"] .dashboard-content .feed-head {
  min-width: 0 !important;
  align-items: flex-start !important;
}

body[data-page="topics-mandates"] .dashboard-content .feed-title {
  min-width: 0 !important;
  max-width: 100% !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.25 !important;
  color: rgba(18, 31, 27, 0.88) !important;
}

body[data-page="topics-mandates"] .dashboard-content .feed-code {
  max-width: 58px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  opacity: 0.52 !important;
}

body[data-page="topics-mandates"] .dashboard-content .feed-badges {
  align-self: end !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-drill-table {
  table-layout: fixed !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-drill-table th:nth-child(1),
body[data-page="topics-mandates"] .dashboard-content .tm-drill-table td:nth-child(1) {
  width: 92px !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-drill-table th:nth-child(2),
body[data-page="topics-mandates"] .dashboard-content .tm-drill-table td:nth-child(2) {
  min-width: 0 !important;
  max-width: 420px !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.28 !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-drill-table th:nth-child(3),
body[data-page="topics-mandates"] .dashboard-content .tm-drill-table td:nth-child(3) {
  width: 230px !important;
}

body[data-page="topics-mandates"] .dashboard-content .tm-drill-detail-head h4 {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.25 !important;
}

/* Final production guardrails: no automatic decorative SVGs on generic buttons. */
body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button,
  a.control-btn,
  a.upload-btn,
  a.np-btn,
  a.tm-workspace-link,
  a.tm-gd-hit,
  a.tm-topic-tag,
  a.cp-tag
):not(:has(svg)):not(:has(img)):not(:has(.h-icon))::before,
body[data-page="topics-mandates"] .dashboard-sidebar :where(.tm-lens-chip, .chip, .sidebar-reset-btn, .tm-sidebar-export-btn):not(:has(svg))::before,
body[data-page="graph"] .sigma-canvas-wrap :where(.sg-zoom-btn, .sigma-sidebar-drawer-toggle):not(:has(svg))::before,
body[data-page] .ma-fs-btn::before {
  content: none !important;
  display: none !important;
}

body[data-page] .ma-fs-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
}

body[data-page] .ma-fs-btn-icon {
  margin: 0 !important;
  transform: none !important;
}

body[data-page="graph"] .sigma-canvas-wrap :where(.sg-zoom-btn, .sigma-sidebar-drawer-toggle):not(:has(svg)) {
  color: rgba(20, 31, 28, 0.86) !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-indent: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

body[data-page="graph"] .sigma-canvas-wrap #sgFitView {
  --ma-btn-icon: none;
  font-size: 16px !important;
}

/* Topics sidebar: remove News-only dataset filters and keep navigation compact. */
body[data-page="topics-mandates"] .dashboard-sidebar .tm-sidebar-search-wrap {
  margin-bottom: 8px !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .sidebar-panel-nav {
  gap: 5px !important;
}

body[data-page="topics-mandates"] .dashboard-sidebar .tm-sections-actions {
  margin-top: 12px !important;
}

/* News sidebar: dark professional treatment aligned with Members/Graph sidebars. */
body[data-page="news"] .dashboard-sidebar {
  border-right: 1px solid rgba(255, 255, 255, 0.07) !important;
  background:
    radial-gradient(260px 520px at 10% -6%, rgba(31, 111, 216, 0.12), transparent 72%),
    radial-gradient(260px 430px at 94% 32%, rgba(28, 154, 166, 0.09), transparent 72%),
    linear-gradient(180deg, rgba(15, 30, 26, 0.985), rgba(9, 21, 18, 0.99)) !important;
  color: rgba(236, 247, 242, 0.90) !important;
  box-shadow: 18px 0 44px rgba(6, 18, 15, 0.18), inset -1px 0 0 rgba(255, 255, 255, 0.035) !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-section-head,
body[data-page="news"] .dashboard-sidebar .sidebar-filter-label {
  color: rgba(224, 238, 231, 0.67) !important;
  letter-spacing: 0.13em !important;
  font-weight: 820 !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-search-input,
body[data-page="news"] .dashboard-sidebar .sidebar-filter-ctrl {
  border: 1px solid rgba(231, 242, 236, 0.13) !important;
  background: rgba(255, 255, 255, 0.065) !important;
  color: rgba(238, 247, 242, 0.92) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-search-input::placeholder,
body[data-page="news"] .dashboard-sidebar .sidebar-filter-ctrl::placeholder {
  color: rgba(224, 238, 231, 0.44) !important;
}

body[data-page="news"] .dashboard-sidebar :where(.sidebar-search-btn, .sidebar-reset-btn, .sidebar-panel-link) {
  border: 1px solid rgba(231, 242, 236, 0.11) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: rgba(231, 242, 236, 0.78) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body[data-page="news"] .dashboard-sidebar :where(.sidebar-search-btn:hover, .sidebar-reset-btn:hover, .sidebar-panel-link:hover) {
  border-color: rgba(144, 190, 255, 0.34) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  color: #fff !important;
  transform: none !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-panel-link.active,
body[data-page="news"] .dashboard-sidebar .sidebar-search-btn {
  border-color: rgba(80, 158, 240, 0.46) !important;
  background: linear-gradient(135deg, rgba(31, 111, 216, 0.88), rgba(28, 154, 166, 0.70)) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(31, 111, 216, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-kpi {
  color: rgba(236, 247, 242, 0.88) !important;
  background: rgba(255, 255, 255, 0.075) !important;
  border-color: rgba(231, 242, 236, 0.12) !important;
  border-radius: 8px !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-checkbox-row {
  color: rgba(231, 242, 236, 0.78) !important;
}

body[data-page="news"] .dashboard-sidebar .sidebar-divider {
  border: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent) !important;
}

/* Graph sidebar contrast pass: remove pale grey slabs and keep empty states readable. */
body[data-page="graph"] .sigma-sidebar {
  background:
    radial-gradient(300px 540px at 12% -4%, rgba(31, 111, 216, 0.13), transparent 72%),
    radial-gradient(260px 380px at 96% 24%, rgba(28, 154, 166, 0.09), transparent 70%),
    linear-gradient(180deg, rgba(15, 30, 26, 0.99), rgba(8, 19, 17, 0.995)) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.07) !important;
  color: rgba(236, 247, 242, 0.90) !important;
  box-shadow: 18px 0 44px rgba(6, 18, 15, 0.18), inset -1px 0 0 rgba(255, 255, 255, 0.035) !important;
}

body[data-page="graph"] .sigma-sidebar .sg-section-title {
  color: rgba(224, 238, 231, 0.70) !important;
  letter-spacing: 0.11em !important;
  font-weight: 820 !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sigma-layout-chip, .sigma-edge-mode-chip, .sigma-affinity-chip, .sigma-topic-chip, .sg-text-btn) {
  border: 1px solid rgba(231, 242, 236, 0.11) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: rgba(231, 242, 236, 0.80) !important;
  box-shadow: none !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sigma-layout-chip:hover, .sigma-edge-mode-chip:hover, .sigma-affinity-chip:hover, .sigma-topic-chip:hover, .sg-text-btn:hover) {
  border-color: rgba(144, 190, 255, 0.34) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  color: #fff !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sigma-layout-chip.active, .sigma-edge-mode-chip.active, .sigma-affinity-chip.active, .sigma-topic-chip.active) {
  border-color: rgba(80, 158, 240, 0.46) !important;
  background: linear-gradient(135deg, rgba(31, 111, 216, 0.84), rgba(28, 154, 166, 0.62)) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(31, 111, 216, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sg-select, .sg-search-input) {
  border: 1px solid rgba(231, 242, 236, 0.13) !important;
  background: rgba(255, 255, 255, 0.065) !important;
  color: rgba(238, 247, 242, 0.92) !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sg-sel-wrap, .sg-sel-card, .sg-subtle-note) {
  background:
    radial-gradient(180px 110px at 50% -15%, rgba(255, 255, 255, 0.08), transparent 68%),
    rgba(255, 255, 255, 0.055) !important;
  border-color: rgba(231, 242, 236, 0.12) !important;
  color: rgba(236, 247, 242, 0.86) !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sg-sel-empty, .sg-sel-empty-hint, .sg-toggle-row, .sg-range-row, .sg-subtle-note, .sg-mini-row, .sg-sel-meta) {
  color: rgba(231, 242, 236, 0.80) !important;
}

/* Text containment guardrails for dense discovery/results cards. */
body[data-page] :where(
  .tm-gd-hit,
  .tm-gd-card,
  .tmep-item,
  .tmep-card,
  .topic-mep-panel,
  .feed-editorial-card,
  .news-story-card,
  .article-card,
  .src-card,
  .sources-section,
  .pm-amendment-list-item,
  .pm-debate-item,
  .cp-result-card
) {
  min-width: 0 !important;
  overflow: hidden !important;
}

body[data-page] :where(
  .tm-gd-title,
  .tm-gd-hit-title,
  .tmep-name,
  .tmep-title,
  .feed-editorial-title,
  .news-story-title,
  .art-title,
  .src-card-name,
  .pm-amendment-list-dossier,
  .pm-debate-title,
  .cp-result-title
) {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.28 !important;
}

body[data-page] :where(
  .feed-editorial-summary,
  .news-story-summary,
  .art-summary,
  .tm-gd-summary,
  .tmep-sub,
  .tmep-meta,
  .src-card-meta,
  .cp-result-summary
) {
  overflow-wrap: break-word !important;
  line-height: 1.45 !important;
}

/* Production restraint: remove the repeated decorative action glyph from generic controls. */
body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) :where(
  button,
  a.control-btn,
  a.upload-btn,
  a.np-btn,
  a.tm-workspace-link,
  a.tm-gd-hit,
  a.tm-topic-tag,
  a.cp-tag
):not(:has(svg)):not(:has(img)):not(:has(.h-icon))::before,
body[data-page="topics-mandates"] .dashboard-sidebar :where(.tm-lens-chip, .chip, .sidebar-reset-btn, .tm-sidebar-export-btn):not(:has(svg))::before,
body[data-page="graph"] .sigma-canvas-wrap :where(.sg-zoom-btn, .sigma-sidebar-drawer-toggle):not(:has(svg))::before,
body[data-page] .ma-fs-btn::before,
body[data-page] .ma-fs-btn-icon::before {
  content: none !important;
  display: none !important;
}

body[data-page] .ma-fs-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  gap: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body[data-page] .ma-fs-btn > :not(.sr-only) {
  display: none !important;
}

body[data-page="graph"] .sigma-canvas-wrap :where(.sg-zoom-btn, .sigma-sidebar-drawer-toggle):not(:has(svg)) {
  color: rgba(20, 31, 28, 0.88) !important;
  text-indent: 0 !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed-item .feed-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: start !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed-item .feed-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-width: 100% !important;
  font-size: 12.5px !important;
  line-height: 1.23 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed-item .feed-code {
  max-width: 62px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  opacity: 0.54 !important;
  font-size: 10px !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed-item .feed-meta {
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  color: rgba(67, 87, 80, 0.72) !important;
}

body[data-page="topics-mandates"] .dashboard-content .command-feed-item .feed-badges {
  align-self: end !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 7px !important;
}

/* Public homepage: premium commercial landing treatment. */
body[data-page="landing-public"] {
  --landing-ink: #12201b;
  --landing-muted: #51625b;
  --landing-faint: #73827c;
  --landing-line: rgba(61, 82, 74, 0.14);
  --landing-line-strong: rgba(61, 82, 74, 0.24);
  --landing-blue: #1f6fd8;
  --landing-teal: #149c82;
  --landing-green: #1f7a5f;
  --landing-surface: rgba(255, 255, 255, 0.54);
  --landing-surface-strong: rgba(255, 255, 255, 0.72);
  background:
    linear-gradient(180deg, rgba(245, 249, 247, 0.98), rgba(232, 241, 237, 0.98)) !important;
  color: var(--landing-ink) !important;
}

body[data-page="landing-public"] .landing-page {
  overflow: hidden !important;
  background:
    linear-gradient(110deg, rgba(31, 111, 216, 0.08), transparent 34%),
    linear-gradient(250deg, rgba(20, 156, 130, 0.09), transparent 32%),
    linear-gradient(180deg, rgba(249, 252, 250, 0.98), rgba(232, 241, 237, 0.98)) !important;
}

body[data-page="landing-public"] .landing-wrap {
  width: min(100% - 48px, 1240px) !important;
  max-width: 1240px !important;
}

body[data-page="landing-public"] .landing-hero-lite {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: calc(100dvh - var(--ma-topbar-h, 55px) - 86px) !important;
  padding: 34px 0 42px !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(61, 82, 74, 0.10) !important;
  background:
    linear-gradient(rgba(61, 82, 74, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 82, 74, 0.014) 1px, transparent 1px),
    linear-gradient(180deg, rgba(252, 254, 253, 0.18), rgba(236, 245, 241, 0.56)) !important;
  background-size: 44px 44px, 44px 44px, auto !important;
}

body[data-page="landing-public"] .landing-hero-stage {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body[data-page="landing-public"] .landing-hero-stage::before {
  content: "" !important;
  position: absolute !important;
  left: 6% !important;
  right: 6% !important;
  bottom: 7% !important;
  height: 28% !important;
  border-radius: 8px !important;
  background:
    linear-gradient(90deg, transparent, rgba(31, 111, 216, 0.16), rgba(20, 156, 130, 0.15), transparent) !important;
  filter: blur(28px) !important;
  opacity: 0.65 !important;
}

body[data-page="landing-public"] .landing-hero-mark {
  position: absolute !important;
  right: max(28px, calc((100vw - 1240px) / 2)) !important;
  top: 13% !important;
  width: 92px !important;
  height: 92px !important;
  opacity: 0.18 !important;
  filter: drop-shadow(0 22px 44px rgba(31, 111, 216, 0.22)) !important;
}

body[data-page="landing-public"] .landing-product-orbit {
  position: absolute !important;
  border: 1px solid rgba(31, 111, 216, 0.12) !important;
  border-radius: 50% !important;
  transform: rotate(-12deg) !important;
}

body[data-page="landing-public"] .landing-product-orbit--one {
  right: -90px !important;
  top: 6% !important;
  width: 620px !important;
  height: 620px !important;
}

body[data-page="landing-public"] .landing-product-orbit--two {
  right: 160px !important;
  bottom: -210px !important;
  width: 520px !important;
  height: 520px !important;
  border-color: rgba(20, 156, 130, 0.12) !important;
}

body[data-page="landing-public"] .landing-product-cockpit {
  position: absolute !important;
  right: max(24px, calc((100vw - 1240px) / 2)) !important;
  bottom: 9% !important;
  width: min(520px, 42vw) !important;
  min-height: 360px !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.32)),
    linear-gradient(135deg, rgba(31, 111, 216, 0.08), rgba(20, 156, 130, 0.08)) !important;
  box-shadow:
    0 32px 90px rgba(17, 34, 28, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.12) !important;
  backdrop-filter: blur(28px) saturate(1.12) !important;
  padding: 18px !important;
  opacity: 0.86 !important;
}

body[data-page="landing-public"] .landing-cockpit-topline,
body[data-page="landing-public"] .landing-cockpit-grid {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  color: rgba(18, 32, 27, 0.62) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
}

body[data-page="landing-public"] .landing-cockpit-topline strong {
  color: var(--landing-ink) !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-cockpit-chart {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: center !important;
  min-height: 226px !important;
}

body[data-page="landing-public"] .landing-cockpit-ring {
  display: grid !important;
  place-items: center !important;
  width: 146px !important;
  height: 146px !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.98) 0 48%, transparent 49%),
    conic-gradient(from 220deg, var(--landing-blue) 0 38%, var(--landing-teal) 38% 82%, rgba(61, 82, 74, 0.12) 82% 100%) !important;
  box-shadow: 0 22px 48px rgba(31, 111, 216, 0.14) !important;
}

body[data-page="landing-public"] .landing-cockpit-ring span {
  color: var(--landing-ink) !important;
  font-size: 32px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-cockpit-bars {
  display: grid !important;
  gap: 14px !important;
}

body[data-page="landing-public"] .landing-cockpit-bars i {
  display: block !important;
  height: 12px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(61, 82, 74, 0.10) !important;
}

body[data-page="landing-public"] .landing-cockpit-bars i::before {
  content: "" !important;
  display: block !important;
  width: var(--w, 50%) !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--landing-blue), var(--landing-teal)) !important;
}

body[data-page="landing-public"] .landing-cockpit-grid span {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 1px solid rgba(61, 82, 74, 0.10) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.38) !important;
  padding: 9px 10px !important;
  text-align: center !important;
}

body[data-page="landing-public"] .landing-hero-copy {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  justify-items: start !important;
  max-width: 790px !important;
  margin: 0 !important;
  gap: 15px !important;
  text-align: left !important;
}

body[data-page="landing-public"] .landing-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 32px !important;
  border: 1px solid rgba(31, 111, 216, 0.20) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.58) !important;
  color: #1859cc !important;
  padding: 0 13px !important;
  font-size: 12px !important;
  font-weight: 820 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 12px 32px rgba(17, 34, 28, 0.055), inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

body[data-page="landing-public"] .landing-product-title {
  margin: 0 !important;
  color: var(--landing-ink) !important;
  font-size: 86px !important;
  line-height: 0.94 !important;
  font-weight: 860 !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-title {
  max-width: 13ch !important;
  margin: 0 !important;
  color: var(--landing-ink) !important;
  font-size: 64px !important;
  line-height: 1.02 !important;
  font-weight: 860 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body[data-page="landing-public"] .landing-title span {
  display: block !important;
  color: var(--landing-blue) !important;
}

body[data-page="landing-public"] .landing-subtitle {
  max-width: 650px !important;
  margin: 0 !important;
  color: var(--landing-muted) !important;
  font-size: 19px !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body[data-page="landing-public"] .landing-cta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin-top: 5px !important;
}

body[data-page="landing-public"] .landing-cta-row .upload-btn {
  min-height: 44px !important;
  border-radius: 8px !important;
  padding: 0 18px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 780 !important;
}

body[data-page="landing-public"] .landing-cta-row .upload-btn.primary {
  border-color: rgba(31, 111, 216, 0.42) !important;
  background: linear-gradient(135deg, #1f6fd8, #149c82) !important;
  color: #fff !important;
  box-shadow: 0 20px 44px rgba(31, 111, 216, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.30) !important;
}

body[data-page="landing-public"] .landing-cta-row .upload-btn.secondary {
  border-color: rgba(61, 82, 74, 0.18) !important;
  background: rgba(255, 255, 255, 0.54) !important;
  color: var(--landing-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

body[data-page="landing-public"] .landing-trust-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 9px !important;
}

body[data-page="landing-public"] .landing-trust-row span {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  min-height: 32px !important;
  border: 1px solid rgba(61, 82, 74, 0.12) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.42) !important;
  color: var(--landing-muted) !important;
  padding: 0 11px !important;
  font-size: 12.5px !important;
  font-weight: 720 !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
}

body[data-page="landing-public"] .landing-trust-row strong {
  color: var(--landing-ink) !important;
  font-weight: 860 !important;
}

body[data-page="landing-public"] .landing-outcomes-section {
  position: relative !important;
  padding: 58px 0 70px !important;
  background:
    linear-gradient(180deg, rgba(232, 241, 237, 0.68), rgba(247, 251, 249, 0.86)) !important;
  border-bottom: 1px solid rgba(61, 82, 74, 0.10) !important;
}

body[data-page="landing-public"] .landing-outcomes-head {
  display: grid !important;
  gap: 10px !important;
  max-width: 900px !important;
  margin-bottom: 22px !important;
}

body[data-page="landing-public"] .landing-outcomes-head span,
body[data-page="landing-public"] .landing-demo-kicker {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 30px !important;
  align-items: center !important;
  border: 1px solid rgba(31, 111, 216, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.46) !important;
  color: #1859cc !important;
  padding: 0 11px !important;
  font-size: 12px !important;
  font-weight: 820 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body[data-page="landing-public"] .landing-outcomes-head h2,
body[data-page="landing-public"] .landing-demo-header h2,
body[data-page="landing-public"] .landing-auth-copy h2 {
  margin: 0 !important;
  color: var(--landing-ink) !important;
  font-size: 48px !important;
  line-height: 1.06 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-outcome-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body[data-page="landing-public"] .landing-outcome-card {
  display: grid !important;
  align-content: start !important;
  min-height: 222px !important;
  gap: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.64) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.30)) !important;
  box-shadow: 0 22px 56px rgba(17, 34, 28, 0.075), inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
  padding: 20px !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
}

body[data-page="landing-public"] .landing-outcome-card span {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, rgba(31, 111, 216, 0.14), rgba(20, 156, 130, 0.14)) !important;
  color: #1859cc !important;
  font-size: 12px !important;
  font-weight: 860 !important;
}

body[data-page="landing-public"] .landing-outcome-card h3 {
  margin: 0 !important;
  color: var(--landing-ink) !important;
  font-size: 23px !important;
  line-height: 1.16 !important;
  font-weight: 830 !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-outcome-card p {
  margin: 0 !important;
  color: var(--landing-muted) !important;
  font-size: 15px !important;
  line-height: 1.52 !important;
}

body[data-page="landing-public"] .landing-demo-section {
  padding: 70px 0 !important;
  background:
    linear-gradient(rgba(61, 82, 74, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 82, 74, 0.014) 1px, transparent 1px),
    linear-gradient(180deg, rgba(247, 251, 249, 0.96), rgba(231, 241, 236, 0.96)) !important;
  background-size: 40px 40px, 40px 40px, auto !important;
}

body[data-page="landing-public"] .landing-demo-shell {
  border: 1px solid rgba(255, 255, 255, 0.66) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0.28)) !important;
  box-shadow: 0 30px 82px rgba(17, 34, 28, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
  padding: 24px !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.08) !important;
  backdrop-filter: blur(24px) saturate(1.08) !important;
}

body[data-page="landing-public"] .landing-demo-header {
  max-width: 860px !important;
  margin-bottom: 24px !important;
}

body[data-page="landing-public"] .landing-demo-header p,
body[data-page="landing-public"] .landing-auth-copy p {
  margin: 10px 0 0 !important;
  max-width: 700px !important;
  color: var(--landing-muted) !important;
  font-size: 17px !important;
  line-height: 1.58 !important;
}

body[data-page="landing-public"] .landing-demo-grid {
  grid-template-columns: minmax(250px, 0.68fr) minmax(420px, 1.12fr) minmax(250px, 0.62fr) !important;
  gap: 14px !important;
}

body[data-page="landing-public"] .landing-demo-controls,
body[data-page="landing-public"] .landing-kiviat-card,
body[data-page="landing-public"] .landing-demo-groups,
body[data-page="landing-public"] .landing-login-card {
  border: 1px solid rgba(255, 255, 255, 0.66) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.34)) !important;
  box-shadow: 0 18px 48px rgba(17, 34, 28, 0.075), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

body[data-page="landing-public"] .landing-kiviat-stage {
  min-height: 410px !important;
}

body[data-page="landing-public"] .landing-kiviat-svg {
  width: min(100%, 500px) !important;
}

body[data-page="landing-public"] .landing-kiviat-member {
  fill: rgba(31, 111, 216, 0.20) !important;
  stroke: var(--landing-blue) !important;
}

body[data-page="landing-public"] .landing-kiviat-benchmark {
  fill: rgba(20, 156, 130, 0.10) !important;
  stroke: rgba(20, 156, 130, 0.58) !important;
}

body[data-page="landing-public"] .landing-demo-result {
  border-radius: 8px !important;
  background:
    linear-gradient(135deg, rgba(18, 32, 27, 0.96), rgba(31, 122, 95, 0.92)) !important;
}

body[data-page="landing-public"] .landing-demo-preset,
body[data-page="landing-public"] .landing-demo-field select,
body[data-page="landing-public"] .landing-login-card input,
body[data-page="landing-public"] .landing-login-card button {
  border-radius: 8px !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-demo-bar i::before {
  background: linear-gradient(90deg, var(--landing-blue), var(--landing-teal)) !important;
}

body[data-page="landing-public"] .landing-login-section {
  padding: 70px 0 !important;
  background:
    linear-gradient(180deg, rgba(232, 241, 237, 0.94), rgba(245, 250, 247, 0.98)) !important;
}

body[data-page="landing-public"] .landing-login-section .landing-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  align-items: center !important;
  gap: 24px !important;
}

body[data-page="landing-public"] .landing-login-card {
  padding: 22px !important;
}

body[data-page="landing-public"] .landing-login-card h3 {
  margin: 0 0 16px !important;
  color: var(--landing-ink) !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

body[data-page="landing-public"] .landing-login-card label {
  color: var(--landing-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body[data-page="landing-public"] .landing-login-card input {
  min-height: 44px !important;
  border: 1px solid rgba(61, 82, 74, 0.18) !important;
  background: rgba(255, 255, 255, 0.68) !important;
  color: var(--landing-ink) !important;
}

body[data-page="landing-public"] .landing-login-card button {
  min-height: 44px !important;
  background: linear-gradient(135deg, var(--landing-blue), var(--landing-teal)) !important;
  color: #fff !important;
  box-shadow: 0 18px 38px rgba(31, 111, 216, 0.16) !important;
}

body[data-page="landing-public"] .landing-footer {
  border-top: 1px solid rgba(61, 82, 74, 0.10) !important;
  background: rgba(245, 250, 247, 0.94) !important;
}

body[data-page="landing-public"] .landing-footer-copy {
  display: grid !important;
  gap: 6px !important;
}

body[data-page="landing-public"] .landing-footer-agency {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body[data-page="landing-public"] .landing-footer-agency img {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
}

@media (max-width: 1040px) {
  body[data-page="landing-public"] .landing-product-cockpit {
    right: 24px !important;
    bottom: 5% !important;
    width: 420px !important;
    opacity: 0.36 !important;
  }

  body[data-page="landing-public"] .landing-product-title {
    font-size: 70px !important;
  }

  body[data-page="landing-public"] .landing-title {
    font-size: 52px !important;
  }

  body[data-page="landing-public"] .landing-outcome-grid,
  body[data-page="landing-public"] .landing-demo-grid,
  body[data-page="landing-public"] .landing-login-section .landing-wrap {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  body[data-page="landing-public"] .landing-wrap {
    width: min(100% - 28px, 1240px) !important;
  }

  body[data-page="landing-public"] .landing-hero-lite {
    min-height: auto !important;
    padding: 36px 0 46px !important;
  }

  body[data-page="landing-public"] .landing-product-cockpit,
  body[data-page="landing-public"] .landing-product-orbit {
    display: none !important;
  }

  body[data-page="landing-public"] .landing-hero-mark {
    right: 18px !important;
    top: 22px !important;
    width: 58px !important;
    height: 58px !important;
  }

  body[data-page="landing-public"] .landing-product-title {
    font-size: 48px !important;
  }

  body[data-page="landing-public"] .landing-title {
    max-width: 11ch !important;
    font-size: 38px !important;
  }

  body[data-page="landing-public"] .landing-subtitle,
  body[data-page="landing-public"] .landing-demo-header p,
  body[data-page="landing-public"] .landing-auth-copy p {
    font-size: 15px !important;
  }

  body[data-page="landing-public"] .landing-outcomes-head h2,
  body[data-page="landing-public"] .landing-demo-header h2,
  body[data-page="landing-public"] .landing-auth-copy h2 {
    font-size: 32px !important;
  }

  body[data-page="landing-public"] .landing-outcomes-section,
  body[data-page="landing-public"] .landing-demo-section,
  body[data-page="landing-public"] .landing-login-section {
    padding: 42px 0 !important;
  }

  body[data-page="landing-public"] .landing-demo-shell {
    padding: 14px !important;
  }

  body[data-page="landing-public"] .landing-kiviat-stage {
    min-height: 318px !important;
  }

  body[data-page="landing-public"] .landing-kiviat-axis-labels text {
    font-size: 10px !important;
  }
}

/* Final contrast and data-rendering guardrails from production review. */
body[data-page] .coalition-overlay-panel.active,
body[data-page] .coalition-overlay-panel {
  background:
    radial-gradient(420px 260px at 18% -10%, rgba(79, 150, 255, 0.18), transparent 66%),
    linear-gradient(180deg, rgba(15, 24, 37, 0.96), rgba(18, 28, 42, 0.94)) !important;
  color: #f8fafc !important;
  border-color: rgba(226, 232, 240, 0.28) !important;
  box-shadow: 0 24px 62px rgba(2, 8, 23, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

body[data-page] .coalition-overlay-title,
body[data-page] .coalition-overlay-name,
body[data-page] .coalition-overlay-sub strong {
  color: #ffffff !important;
}

body[data-page] .coalition-overlay-sub,
body[data-page] .coalition-overlay-meta,
body[data-page] .coalition-overlay-empty,
body[data-page] .coalition-overlay-more {
  color: rgba(226, 232, 240, 0.86) !important;
}

body[data-page] .coalition-overlay-list,
body[data-page] .coalition-overlay-row {
  background: rgba(15, 23, 42, 0.58) !important;
  border-color: rgba(226, 232, 240, 0.18) !important;
}

body[data-page] .coalition-overlay-clear {
  color: #f8fafc !important;
  background: rgba(255, 255, 255, 0.11) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
}

body[data-page="news"] #panel-ep .np-body,
body[data-page="news"] #panel-sources .np-body {
  color: var(--ma-page-ink) !important;
}

body[data-page="news"] #panel-ep .ep-feed-item {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background:
    radial-gradient(260px 120px at 95% -20%, rgba(31, 111, 216, 0.08), transparent 62%),
    rgba(255, 255, 255, 0.66) !important;
  border-top: 1px solid rgba(81, 101, 93, 0.10) !important;
  border-right: 1px solid rgba(81, 101, 93, 0.12) !important;
  border-bottom: 1px solid rgba(81, 101, 93, 0.12) !important;
  color: #15211d !important;
}

body[data-page="news"] #panel-ep .ep-feed-title,
body[data-page="news"] #panel-ep .ep-feed-title a {
  color: #111827 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.24 !important;
}

body[data-page="news"] #panel-ep .ep-feed-desc,
body[data-page="news"] #panel-ep .ep-feed-date {
  color: #566861 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body[data-page="news"] #panel-ep .ep-feed-source,
body[data-page="news"] #panel-ep .ep-feed-cat {
  color: #1f6fd8 !important;
}

body[data-page="news"] #panel-sources[hidden],
body[data-page="news"] [data-panel="sources"][hidden] {
  display: none !important;
}

body[data-page="news"] #panel-sources .sources-section,
body[data-page="news"] #panel-sources .src-card {
  color: #15211d !important;
  background:
    radial-gradient(240px 130px at 100% -15%, rgba(22, 132, 111, 0.08), transparent 66%),
    rgba(255, 255, 255, 0.66) !important;
  border-color: rgba(81, 101, 93, 0.14) !important;
}

body[data-page="news"] #panel-sources .sources-section-head h4,
body[data-page="news"] #panel-sources .src-card-name {
  color: #15211d !important;
}

body[data-page="news"] #panel-sources .src-card-meta,
body[data-page="news"] #panel-sources .src-runtime-note {
  color: #566861 !important;
}

body[data-page="graph"] .sigma-sidebar,
body[data-page="graph"] .sigma-sidebar * {
  color: rgba(239, 249, 245, 0.88) !important;
}

body[data-page="graph"] .sigma-sidebar select,
body[data-page="graph"] .sigma-sidebar input {
  color: #f8fffc !important;
  background: rgba(255, 255, 255, 0.075) !important;
  border-color: rgba(231, 242, 236, 0.18) !important;
}

body[data-page="graph"] .sigma-sidebar select option {
  color: #f8fffc !important;
  background: #10201c !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sg-sel-wrap, .sg-sel-card, .sg-subtle-note) {
  background: rgba(255, 255, 255, 0.075) !important;
  border-color: rgba(231, 242, 236, 0.16) !important;
}

body[data-page="graph"] .sigma-sidebar :where(.sg-sel-empty, .sg-sel-empty-hint, .sg-range-row, .sg-toggle-row, .sg-mini-row, .sg-sel-meta) {
  color: rgba(239, 249, 245, 0.86) !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendments-grid {
  min-height: 620px !important;
  max-height: 620px !important;
  overflow: hidden !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendments-list {
  display: flex !important;
  flex-direction: column !important;
  align-content: initial !important;
  min-height: 0 !important;
  max-height: 620px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-list-item {
  flex: 0 0 auto !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-detail {
  min-height: 0 !important;
  overflow: auto !important;
}

body[data-page="parliament-members"] .dashboard-content .pm-amendment-detail-dossier {
  color: #435750 !important;
  font-size: 12px !important;
  line-height: 1.34 !important;
  overflow-wrap: anywhere !important;
}

body[data-page="parliament-members"] .dashboard-content .hm-cell.hm-match,
body[data-page="parliament-members"] .hm-cell.hm-match {
  outline: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.46), 0 7px 14px rgba(15, 23, 42, 0.045) !important;
}

/* European Parliament Desk: first-class News workspace */
body[data-page="news"] #panel-ep .ep-desk {
  min-height: 720px !important;
  overflow: hidden !important;
}

body[data-page="news"] .ep-desk-hero {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 8px 12px 14px !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(57, 177, 227, 0.20), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.78), rgba(241,248,250,0.56)) !important;
  box-shadow: 0 22px 60px rgba(24, 49, 68, 0.11), inset 0 1px 0 rgba(255,255,255,0.9) !important;
  backdrop-filter: blur(18px) saturate(1.25) !important;
}

body[data-page="news"] .ep-desk-kicker {
  color: #2875bd !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

body[data-page="news"] .ep-desk-hero h2 {
  margin: 0 !important;
  max-width: 720px !important;
  color: #16231e !important;
  font-size: clamp(2rem, 3.1vw, 3.45rem) !important;
  line-height: 0.98 !important;
  font-weight: 950 !important;
}

body[data-page="news"] .ep-desk-hero p {
  margin: 12px 0 0 !important;
  max-width: 680px !important;
  color: rgba(38, 55, 65, 0.76) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

body[data-page="news"] .ep-desk-stat-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(96px, 1fr)) !important;
  gap: 10px !important;
  min-width: min(420px, 100%) !important;
}

body[data-page="news"] .ep-desk-stat-strip span {
  padding: 12px 14px !important;
  border-radius: 16px !important;
  color: rgba(37, 55, 68, 0.74) !important;
  background: rgba(255, 255, 255, 0.58) !important;
  border: 1px solid rgba(179, 207, 216, 0.46) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.74) !important;
}

body[data-page="news"] .ep-desk-stat-strip strong {
  display: block !important;
  color: #16231e !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

body[data-page="news"] .ep-desk-controls {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) 150px auto !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 12px 12px !important;
}

body[data-page="news"] .ep-desk-search,
body[data-page="news"] .ep-desk-select {
  min-height: 42px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.70) !important;
  border: 1px solid rgba(137, 163, 177, 0.30) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 12px 30px rgba(31,49,60,0.06) !important;
  color: #1e2d37 !important;
}

body[data-page="news"] .ep-desk-group-tabs {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding: 0 12px 12px !important;
  scrollbar-width: thin !important;
}

body[data-page="news"] .ep-desk-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(131, 160, 174, 0.28) !important;
  color: #41515c !important;
  background: rgba(255,255,255,0.62) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 10px 24px rgba(25,45,58,0.05) !important;
  white-space: nowrap !important;
}

body[data-page="news"] .ep-desk-tab small {
  color: #2875bd !important;
  font-weight: 900 !important;
}

body[data-page="news"] .ep-desk-tab.active {
  color: white !important;
  background: linear-gradient(135deg, #2368df, #2ab4c8) !important;
  border-color: rgba(255,255,255,0.36) !important;
  box-shadow: 0 15px 36px rgba(35, 104, 223, 0.22) !important;
}

body[data-page="news"] .ep-desk-tab.active small {
  color: rgba(255,255,255,0.86) !important;
}

body[data-page="news"] .ep-desk-topic-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 8px 12px 6px !important;
  border-top: 1px solid rgba(131,160,174,0.15) !important;
}

body[data-page="news"] .ep-topic-chips-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #64748b !important;
  margin-right: 2px !important;
}

body[data-page="news"] .ep-topic-chip {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(131,160,174,0.28) !important;
  color: #41515c !important;
  background: rgba(255,255,255,0.62) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 2px 6px rgba(25,45,58,0.05) !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

body[data-page="news"] .ep-topic-chip:hover {
  border-color: rgba(35,104,223,0.35) !important;
  background: rgba(235,242,255,0.85) !important;
  color: #1d4ed8 !important;
}

body[data-page="news"] .ep-topic-chip.active {
  color: white !important;
  background: linear-gradient(135deg, #2368df, #2ab4c8) !important;
  border-color: rgba(255,255,255,0.36) !important;
  box-shadow: 0 4px 12px rgba(35,104,223,0.22) !important;
}

body[data-page="news"] .ep-desk-body {
  padding: 0 12px 14px !important;
  max-height: none !important;
}

body[data-page="news"] .ep-desk-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

body[data-page="news"] .ep-desk-column {
  min-height: 420px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(179, 207, 216, 0.36) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.62), rgba(248,252,252,0.42)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 18px 44px rgba(23, 45, 57, 0.07) !important;
  overflow: hidden !important;
}

body[data-page="news"] .ep-desk-column header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 14px 15px !important;
  color: #18261f !important;
  font-weight: 950 !important;
  border-bottom: 1px solid rgba(179, 207, 216, 0.30) !important;
  background: rgba(255,255,255,0.46) !important;
}

body[data-page="news"] .ep-desk-column header b {
  display: inline-flex !important;
  min-width: 26px !important;
  justify-content: center !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  color: #2368df !important;
  background: rgba(35,104,223,0.10) !important;
}

body[data-page="news"] .ep-desk-column-scroll {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  max-height: 560px !important;
  overflow: auto !important;
  padding: 10px !important;
}

body[data-page="news"] .ep-desk-card {
  padding: 13px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(139, 169, 184, 0.28) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(42,180,200,0.13), transparent 44%),
    rgba(255,255,255,0.70) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82), 0 12px 28px rgba(23, 45, 57, 0.055) !important;
}

body[data-page="news"] .ep-desk-card-top,
body[data-page="news"] .ep-desk-source {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  color: rgba(50, 68, 80, 0.72) !important;
  font-size: 0.78rem !important;
}

body[data-page="news"] .ep-desk-chip {
  color: #2368df !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  font-size: 0.68rem !important;
}

body[data-page="news"] .ep-desk-date {
  white-space: nowrap !important;
}

body[data-page="news"] .ep-desk-card h3 {
  margin: 8px 0 7px !important;
  color: #18261f !important;
  font-size: 0.98rem !important;
  line-height: 1.25 !important;
}

body[data-page="news"] .ep-desk-card h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

body[data-page="news"] .ep-desk-card h3 a:hover {
  color: #2368df !important;
}

body[data-page="news"] .ep-desk-card p {
  margin: 8px 0 0 !important;
  color: rgba(38, 55, 65, 0.76) !important;
  font-size: 0.86rem !important;
  line-height: 1.48 !important;
}

body[data-page="news"] .ep-desk-column-empty,
body[data-page="news"] .ep-desk-empty {
  color: rgba(59, 77, 89, 0.76) !important;
  padding: 18px !important;
}

@media (max-width: 1180px) {
  body[data-page="news"] .ep-desk-hero,
  body[data-page="news"] .ep-desk-controls {
    grid-template-columns: 1fr !important;
  }
  body[data-page="news"] .ep-desk-hero {
    display: grid !important;
  }
  body[data-page="news"] .ep-desk-columns {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body[data-page="news"] .ep-desk-columns,
  body[data-page="news"] .ep-desk-stat-strip {
    grid-template-columns: 1fr !important;
  }
  body[data-page="news"] .ep-desk-hero h2 {
    font-size: 2rem !important;
  }
}

/* Final MEP light-surface lock: overrides older dark-glass directory/drawer rules. */
body[data-page] .mep-list,
body[data-page] .mep-list li,
body[data-page] .mep-item,
body[data-page] .mep-dir-group,
body[data-page] .mep-dir-group summary,
body[data-page] .mep-dir-list,
body[data-page] .mep-dir-row,
body[data-page] .mep-profile-card,
body[data-page] .mep-profile-modal,
body[data-page] .mep-profile-sheet,
body[data-page] .mep-profile,
body[data-page] .mep-profile-content,
body[data-page] .mep-profile-header,
body[data-page] .mep-profile-section,
body[data-page] .mep-card-panel,
body[data-page] #mepCardContent,
body[data-page] .mep-card-topbar,
body[data-page] .mep-card-header,
body[data-page] .mep-card-section {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #1e293b !important;
}

body[data-page] .mep-card-panel,
body[data-page] .mep-profile-card,
body[data-page] .mep-profile-modal,
body[data-page] .mep-profile-sheet,
body[data-page] .mep-dir-group,
body[data-page] .mep-list,
body[data-page] .mep-item {
  --fg: #1e293b;
  --text: #111827;
  --text-1: #1e293b;
  --muted: #64748b;
  --card-bg: #fff;
  --bg-2: #f8fafc;
  --hover-bg: #f8fafc;
  --border: #e2e8f0;
  --border-subtle: #e2e8f0;
  --ma-glass-ink: #1e293b;
  border-color: #e2e8f0 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body[data-page] .mep-dir-group summary {
  border-bottom: 1px solid #e2e8f0 !important;
}

body[data-page] .mep-dir-row,
body[data-page] .mep-list li,
body[data-page] .mep-item {
  border-color: #e2e8f0 !important;
}

body[data-page] .mep-dir-row:hover,
body[data-page] .mep-dir-group summary:hover,
body[data-page] .mep-item:hover {
  background: #f8fafc !important;
  color: #1e293b !important;
}

body[data-page] .mep-dir-name,
body[data-page] .mep-dir-group summary,
body[data-page] .mep-name,
body[data-page] .mep-card-name,
body[data-page] .mep-card-section-title,
body[data-page] .mep-profile-card .section-title,
body[data-page] .mep-profile-modal .section-title,
body[data-page] .mep-profile-header h2,
body[data-page] .mep-profile-header h3,
body[data-page] .mep-profile-card .panel-title,
body[data-page] .mep-profile-modal .panel-title,
body[data-page] .mep-metric-value,
body[data-page] .mep-email-text,
body[data-page] .meeting-list-date,
body[data-page] .meeting-list-subject,
body[data-page] .mep-chart-legend-label {
  color: #1e293b !important;
}

body[data-page] .mep-dir-group-count,
body[data-page] .mep-dir-avg,
body[data-page] .mep-dir-group-chevron,
body[data-page] .mep-meta,
body[data-page] .mep-card-sub,
body[data-page] .mep-address-block,
body[data-page] .mep-phone-label,
body[data-page] .mep-office-city,
body[data-page] .mep-metric-label,
body[data-page] .mep-metric-sub,
body[data-page] .meeting-list-place,
body[data-page] .meeting-list-org,
body[data-page] .mep-chart-legend-count {
  color: #64748b !important;
}

body[data-page] .mep-dir-align,
body[data-page] .match-score,
body[data-page] .mep-profile-card .mep-score,
body[data-page] .mep-profile-modal .mep-score {
  color: #2563eb !important;
}

body[data-page] .mep-profile-card .panel,
body[data-page] .mep-profile-modal .panel,
body[data-page] .mep-email-hero,
body[data-page] .mep-assistants-placeholder,
body[data-page] .mep-metric-cell,
body[data-page] .mep-social-link,
body[data-page] .mep-copy-email,
body[data-page] .meeting-list-item {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border-color: #e2e8f0 !important;
  color: #1e293b !important;
}

body[data-page] .mep-card-close,
body[data-page] .mep-card-compare-link,
body[data-page] .mep-card-ep-link,
body[data-page] .mep-copy-email {
  background: #fff !important;
  border-color: #cbd5e1 !important;
  color: #2563eb !important;
}

/* ── EP Desk: Today in Parliament briefing card ─────────────────────────── */
body[data-page="news"] .ep-desk-column--briefing .ep-briefing-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body[data-page="news"] .ep-briefing-headline {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

body[data-page="news"] .ep-briefing-items {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

body[data-page="news"] .ep-briefing-items li {
  font-size: 12px !important;
  color: #334155 !important;
  line-height: 1.4 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

body[data-page="news"] .ep-briefing-label {
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: #2368df !important;
  background: rgba(35,104,223,.10) !important;
  border-radius: 4px !important;
  padding: 1px 6px !important;
  width: fit-content !important;
}

body[data-page="news"] .ep-briefing-signal {
  font-size: 12px !important;
  font-style: italic !important;
  color: #1e40af !important;
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 8px !important;
  line-height: 1.4 !important;
}

body[data-page="news"] .ep-briefing-footer {
  font-size: 10px !important;
  color: #94a3b8 !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 8px !important;
}

body[data-page="news"] .ep-briefing-loading {
  font-style: italic !important;
  color: #64748b !important;
}

/* ── Landing Page Hero Refresh ─────────────────────────────────────────── */
body[data-page="landing-public"] .topbar--landing .brand-link--landing-logo {
  gap: clamp(8px, 1vw, 12px) !important;
  align-items: center !important;
}

body[data-page="landing-public"] .topbar-logo-full {
  display: block !important;
  width: clamp(150px, 15vw, 196px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

body[data-page="landing-public"] .landing-brand-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(31, 111, 216, 0.18) !important;
  background: rgba(255, 255, 255, 0.62) !important;
  color: #1859cc !important;
  font-size: 11px !important;
  font-weight: 820 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body[data-page="landing-public"] .landing-hero-lite {
  min-height: clamp(620px, calc(100dvh - 92px), 860px) !important;
  padding: clamp(16px, 2vw, 28px) 0 clamp(34px, 4vw, 64px) !important;
}

body[data-page="landing-public"] .landing-hero-lite .landing-wrap {
  padding: clamp(14px, 2vw, 30px) 0 !important;
}

body[data-page="landing-public"] .landing-hero-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.82fr) !important;
  align-items: center !important;
  gap: clamp(28px, 4vw, 74px) !important;
}

body[data-page="landing-public"] .landing-hero-copy {
  max-width: min(100%, 780px) !important;
  gap: clamp(12px, 1.6vw, 18px) !important;
}

body[data-page="landing-public"] .landing-hero-logo {
  display: block !important;
  width: clamp(280px, 34vw, 520px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

body[data-page="landing-public"] .landing-title {
  max-width: 7.2ch !important;
  font-size: clamp(3.1rem, 6vw, 6.1rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.05em !important;
}

body[data-page="landing-public"] .landing-title span {
  display: block !important;
  margin-top: 0.04em !important;
}

body[data-page="landing-public"] .landing-subtitle {
  max-width: 34ch !important;
  font-size: clamp(1rem, 1.2vw, 1.45rem) !important;
  line-height: 1.56 !important;
}

body[data-page="landing-public"] .landing-cta-row {
  gap: 12px !important;
  margin-top: 4px !important;
}

body[data-page="landing-public"] .landing-trust-row {
  max-width: 860px !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

body[data-page="landing-public"] .landing-trust-row span {
  min-height: 0 !important;
  padding: 10px 14px !important;
  line-height: 1.34 !important;
}

body[data-page="landing-public"] .landing-hero-visual {
  position: relative !important;
  display: grid !important;
  justify-items: end !important;
  align-content: center !important;
  gap: clamp(14px, 2vw, 24px) !important;
  min-width: 0 !important;
}

body[data-page="landing-public"] .landing-hero-accent {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(72px, 7vw, 104px) !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: clamp(20px, 2vw, 28px) !important;
  border: 1px solid rgba(255, 255, 255, 0.84) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.42)) !important;
  box-shadow:
    0 24px 56px rgba(17, 34, 28, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

body[data-page="landing-public"] .landing-hero-accent-logo {
  width: 70% !important;
  height: auto !important;
  object-fit: contain !important;
}

body[data-page="landing-public"] .landing-product-cockpit {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  width: min(100%, 620px) !important;
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 26px) !important;
  opacity: 1 !important;
  justify-self: end !important;
  align-self: stretch !important;
}

body[data-page="landing-public"] .landing-cockpit-topline {
  font-size: clamp(11px, 0.82vw, 13px) !important;
}

body[data-page="landing-public"] .landing-cockpit-topline strong {
  font-size: clamp(22px, 2vw, 32px) !important;
}

body[data-page="landing-public"] .landing-cockpit-chart {
  grid-template-columns: minmax(132px, 0.86fr) minmax(0, 1fr) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  min-height: clamp(190px, 24vw, 250px) !important;
}

body[data-page="landing-public"] .landing-cockpit-ring {
  width: clamp(132px, 13vw, 170px) !important;
  height: clamp(132px, 13vw, 170px) !important;
}

body[data-page="landing-public"] .landing-cockpit-ring span {
  font-size: clamp(32px, 2.4vw, 44px) !important;
}

body[data-page="landing-public"] .landing-cockpit-bars {
  gap: 16px !important;
}

body[data-page="landing-public"] .landing-cockpit-bars i {
  height: 16px !important;
}

body[data-page="landing-public"] .landing-cockpit-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body[data-page="landing-public"] .landing-cockpit-grid span {
  min-height: 46px !important;
  display: grid !important;
  place-items: center !important;
  padding: 10px 8px !important;
}

body[data-page="landing-public"] .landing-hero-stage::before {
  left: 10% !important;
  right: 12% !important;
  bottom: 3% !important;
  height: 22% !important;
  opacity: 0.48 !important;
}

body[data-page="landing-public"] .landing-hero-mark {
  top: clamp(40px, 8vh, 76px) !important;
  right: max(24px, calc((100vw - 1240px) / 2)) !important;
  width: clamp(58px, 5vw, 88px) !important;
  height: auto !important;
}

body[data-page="landing-public"] .landing-product-orbit--one {
  right: -180px !important;
  top: -4% !important;
  width: min(58vw, 780px) !important;
  height: min(58vw, 780px) !important;
}

body[data-page="landing-public"] .landing-product-orbit--two {
  right: 10% !important;
  bottom: -30% !important;
  width: min(34vw, 520px) !important;
  height: min(34vw, 520px) !important;
}

@media (max-width: 1320px) {
  body[data-page="landing-public"] .landing-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.74fr) !important;
    gap: clamp(22px, 3vw, 42px) !important;
  }

  body[data-page="landing-public"] .landing-hero-logo {
    width: clamp(250px, 33vw, 430px) !important;
  }

  body[data-page="landing-public"] .landing-title {
    font-size: clamp(2.8rem, 5.4vw, 5rem) !important;
  }
}

@media (max-width: 1120px) {
  body[data-page="landing-public"] .landing-hero-lite {
    min-height: auto !important;
  }

  body[data-page="landing-public"] .landing-hero-grid {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body[data-page="landing-public"] .landing-hero-copy,
  body[data-page="landing-public"] .landing-hero-visual {
    max-width: 100% !important;
    justify-items: start !important;
  }

  body[data-page="landing-public"] .landing-subtitle {
    max-width: 48ch !important;
  }

  body[data-page="landing-public"] .landing-product-cockpit {
    width: min(100%, 760px) !important;
    justify-self: start !important;
  }

  body[data-page="landing-public"] .landing-product-orbit--one {
    right: -220px !important;
  }
}

@media (max-width: 900px) {
  body[data-page="landing-public"] .topbar-logo-full {
    width: 150px !important;
  }

  body[data-page="landing-public"] .landing-brand-badge {
    display: none !important;
  }

  body[data-page="landing-public"] .landing-hero-logo {
    width: clamp(220px, 52vw, 360px) !important;
  }

  body[data-page="landing-public"] .landing-title {
    max-width: 8ch !important;
    font-size: clamp(2.5rem, 7.4vw, 4.1rem) !important;
  }

  body[data-page="landing-public"] .landing-cockpit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body[data-page="landing-public"] .landing-hero-lite {
    padding: 18px 0 34px !important;
  }

  body[data-page="landing-public"] .landing-hero-copy {
    gap: 12px !important;
  }

  body[data-page="landing-public"] .landing-hero-logo {
    width: min(100%, 300px) !important;
  }

  body[data-page="landing-public"] .landing-title {
    max-width: 9ch !important;
    font-size: clamp(2.15rem, 10vw, 3.2rem) !important;
    line-height: 0.98 !important;
  }

  body[data-page="landing-public"] .landing-subtitle {
    max-width: none !important;
    font-size: 15px !important;
  }

  body[data-page="landing-public"] .landing-trust-row span {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  body[data-page="landing-public"] .landing-hero-accent,
  body[data-page="landing-public"] .landing-product-orbit {
    display: none !important;
  }

  body[data-page="landing-public"] .landing-hero-mark {
    top: 18px !important;
    right: 14px !important;
    width: 52px !important;
  }

  body[data-page="landing-public"] .landing-product-cockpit {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  body[data-page="landing-public"] .landing-cockpit-chart {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    min-height: 0 !important;
  }

  body[data-page="landing-public"] .landing-cockpit-bars {
    width: 100% !important;
  }
}

/* ── Landing UI cleanup pass ─────────────────────────────────────────────── */
body[data-page="landing-public"] .topbar--landing .brand-link--landing-logo {
  gap: 10px !important;
}

body[data-page="landing-public"] .topbar-logo-full {
  width: clamp(132px, 12.6vw, 168px) !important;
}

body[data-page="landing-public"] .landing-brand-badge {
  color: #f8fbff !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

body[data-page="landing-public"] .landing-topbar-rotator {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f3f7ff !important;
}

body[data-page="landing-public"] .landing-topbar-rotator-prefix,
body[data-page="landing-public"] .landing-topbar-rotator-list li {
  color: #f3f7ff !important;
}

body[data-page="landing-public"] .landing-hero-logo {
  width: clamp(228px, 26vw, 396px) !important;
}

body[data-page="landing-public"] .landing-title {
  max-width: 8.4ch !important;
  line-height: 0.98 !important;
}

body[data-page="landing-public"] .landing-title span {
  color: #276ef1 !important;
}

body[data-page="landing-public"] .landing-subtitle {
  max-width: 34rem !important;
}

body[data-page="landing-public"] .landing-hero-mark,
body[data-page="landing-public"] .landing-hero-accent {
  display: none !important;
}

body[data-page="landing-public"] .landing-parliament-sketch {
  position: absolute !important;
  right: max(62px, calc((100vw - 1240px) / 2 + 26px)) !important;
  top: 11% !important;
  width: min(32vw, 430px) !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  opacity: 0.88 !important;
}

body[data-page="landing-public"] .landing-parliament-sketch svg {
  width: 100% !important;
  height: 100% !important;
}

body[data-page="landing-public"] .landing-parliament-sketch .parliament-sketch-outer path,
body[data-page="landing-public"] .landing-parliament-sketch .parliament-sketch-base path {
  fill: none !important;
  stroke: rgba(33, 83, 176, 0.22) !important;
  stroke-width: 5.5 !important;
  stroke-linecap: round !important;
}

body[data-page="landing-public"] .landing-parliament-sketch .parliament-sketch-seats circle {
  fill: rgba(84, 149, 245, 0.34) !important;
}

body[data-page="landing-public"] .landing-demo-result {
  background:
    linear-gradient(135deg, rgba(18, 34, 31, 0.97), rgba(21, 102, 78, 0.95)) !important;
}

body[data-page="landing-public"] .landing-demo-result strong,
body[data-page="landing-public"] .landing-demo-result p {
  color: #ffffff !important;
}

body[data-page="landing-public"] .landing-demo-result span {
  color: rgba(255, 255, 255, 0.72) !important;
}

body[data-page="landing-public"] .landing-footer-copy {
  justify-items: center !important;
  text-align: center !important;
}

body[data-page="landing-public"] .landing-footer-copy p {
  max-width: 760px !important;
}

body[data-page="landing-public"] .landing-footer-agency-block {
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

body[data-page="landing-public"] .landing-footer-agency-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 360px) !important;
  padding: 12px 18px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 244, 0.98)) !important;
  border: 1px solid rgba(61, 82, 74, 0.14) !important;
  box-shadow: 0 20px 42px rgba(17, 34, 28, 0.10) !important;
  text-decoration: none !important;
}

body[data-page="landing-public"] .landing-footer-agency-block img {
  width: min(100%, 310px) !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 24px rgba(17, 34, 28, 0.10)) !important;
}

body[data-page="landing-public"] .landing-footer-agency {
  display: block !important;
  margin: 0 !important;
  color: #1f2937 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body[data-page="landing-public"] .landing-footer-agency-block p + p {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body[data-page="landing-public"] .landing-footer-agency-link {
  margin: 0 !important;
  color: #5b6b63 !important;
  font-size: 13px !important;
}

body[data-page="landing-public"] .landing-footer-agency-link a {
  color: #1d4ed8 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body[data-page="landing-public"] .landing-footer-agency-link a:hover {
  text-decoration: underline !important;
}

@media (max-width: 1120px) {
  body[data-page="landing-public"] .landing-parliament-sketch {
    right: 28px !important;
    width: min(38vw, 340px) !important;
    top: 7% !important;
  }
}

@media (max-width: 720px) {
  body[data-page="landing-public"] .topbar-logo-full {
    width: 138px !important;
  }

  body[data-page="landing-public"] .landing-topbar-rotator {
    display: none !important;
  }

  body[data-page="landing-public"] .landing-hero-logo {
    width: min(100%, 260px) !important;
  }

  body[data-page="landing-public"] .landing-parliament-sketch {
    right: 10px !important;
    top: 14px !important;
    width: 138px !important;
    opacity: 0.62 !important;
  }

  body[data-page="landing-public"] .landing-footer-agency-block img {
    width: min(100%, 240px) !important;
  }
}

/* Landing continuity pass: stronger hemicycle + full-height lower sections */
body[data-page="landing-public"] .landing-wrap {
  width: min(100% - 48px, 1360px) !important;
  max-width: 1360px !important;
}

body[data-page="landing-public"] .landing-parliament-sketch {
  position: absolute !important;
  right: max(12px, calc((100vw - 1360px) / 2 - 12px)) !important;
  top: 8% !important;
  width: min(56vw, 880px) !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  opacity: 0.56 !important;
  transform: rotate(-8deg) !important;
  filter: drop-shadow(0 36px 86px rgba(31, 111, 216, 0.08)) !important;
}

body[data-page="landing-public"] .landing-parliament-sketch::after {
  content: "" !important;
  position: absolute !important;
  inset: 15% 11% 11% 11% !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(31, 111, 216, 0.08), transparent 66%) !important;
  filter: blur(34px) !important;
}

body[data-page="landing-public"] .landing-parliament-sketch svg {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  z-index: 1 !important;
}

body[data-page="landing-public"] .landing-parliament-sketch .parliament-sketch-outer path,
body[data-page="landing-public"] .landing-parliament-sketch .parliament-sketch-base path {
  fill: none !important;
  stroke: rgba(33, 83, 176, 0.28) !important;
  stroke-width: 4.8 !important;
  stroke-linecap: round !important;
}

body[data-page="landing-public"] .landing-parliament-sketch .parliament-sketch-seats circle {
  fill: rgba(84, 149, 245, 0.5) !important;
}

body[data-page="landing-public"] .landing-product-orbit--one {
  right: -132px !important;
  top: 2% !important;
  width: min(60vw, 790px) !important;
  height: min(60vw, 790px) !important;
}

body[data-page="landing-public"] .landing-product-orbit--two {
  right: 8% !important;
  bottom: -26% !important;
  width: min(36vw, 560px) !important;
  height: min(36vw, 560px) !important;
}

body[data-page="landing-public"] .landing-hero-stage {
  pointer-events: none !important;
  overflow: hidden !important;
}

body[data-page="landing-public"] .landing-hero-background-art {
  position: absolute !important;
  inset: clamp(-52px, -4vw, -18px) max(-88px, calc((100vw - 1360px) / 2 - 132px)) -7% 28% !important;
  background-image: url("landing-background.svg?v=1") !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  background-size: min(94vw, 1510px) auto !important;
  opacity: 0.96 !important;
  filter: drop-shadow(0 28px 80px rgba(31, 111, 216, 0.08)) !important;
}

body[data-page="landing-public"] .landing-parliament-sketch,
body[data-page="landing-public"] .landing-product-orbit,
body[data-page="landing-public"] .landing-product-cockpit {
  display: none !important;
}

body[data-page="landing-public"] .landing-hero-visual {
  min-height: clamp(390px, 42vw, 620px) !important;
}

body[data-page="landing-public"] .landing-outcomes-section,
body[data-page="landing-public"] .landing-demo-section,
body[data-page="landing-public"] .landing-login-section {
  display: flex !important;
  align-items: center !important;
  min-height: clamp(720px, calc(100dvh - 92px), 1040px) !important;
}

body[data-page="landing-public"] .landing-outcomes-section {
  padding: 76px 0 88px !important;
}

body[data-page="landing-public"] .landing-demo-section {
  padding: 82px 0 96px !important;
}

body[data-page="landing-public"] .landing-login-section {
  padding: 76px 0 88px !important;
}

body[data-page="landing-public"] .landing-outcomes-head {
  max-width: 1120px !important;
  gap: 14px !important;
  margin-bottom: 32px !important;
}

body[data-page="landing-public"] .landing-outcomes-head h2,
body[data-page="landing-public"] .landing-demo-header h2,
body[data-page="landing-public"] .landing-auth-copy h2 {
  font-size: clamp(3rem, 4.6vw, 4.35rem) !important;
  line-height: 1.02 !important;
}

body[data-page="landing-public"] .landing-demo-header {
  max-width: 1040px !important;
  margin-bottom: 34px !important;
}

body[data-page="landing-public"] .landing-demo-header p,
body[data-page="landing-public"] .landing-auth-copy p {
  max-width: 860px !important;
  font-size: clamp(1.02rem, 1.35vw, 1.32rem) !important;
}

body[data-page="landing-public"] .landing-outcome-grid {
  gap: 18px !important;
}

body[data-page="landing-public"] .landing-outcome-card {
  min-height: 304px !important;
  gap: 16px !important;
  padding: 28px !important;
}

body[data-page="landing-public"] .landing-outcome-card h3 {
  font-size: clamp(1.55rem, 2.1vw, 2rem) !important;
  line-height: 1.12 !important;
}

body[data-page="landing-public"] .landing-outcome-card p {
  font-size: clamp(1rem, 1.12vw, 1.18rem) !important;
  line-height: 1.58 !important;
}

body[data-page="landing-public"] .landing-demo-shell {
  padding: 32px !important;
}

body[data-page="landing-public"] .landing-demo-grid {
  grid-template-columns: minmax(300px, 0.76fr) minmax(520px, 1.22fr) minmax(280px, 0.7fr) !important;
  gap: 18px !important;
}

body[data-page="landing-public"] .landing-kiviat-stage {
  min-height: 520px !important;
}

body[data-page="landing-public"] .landing-kiviat-svg {
  width: min(100%, 620px) !important;
}

body[data-page="landing-public"] .landing-login-section .landing-wrap {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 460px) !important;
  gap: 36px !important;
}

body[data-page="landing-public"] .landing-login-card {
  padding: 28px !important;
}

body[data-page="landing-public"] .landing-login-card h3 {
  font-size: 28px !important;
}

@media (max-width: 1320px) {
  body[data-page="landing-public"] .landing-parliament-sketch {
    right: -42px !important;
    top: 11% !important;
    width: min(60vw, 760px) !important;
  }

  body[data-page="landing-public"] .landing-hero-background-art {
    inset: -36px -124px -4% 18% !important;
    background-size: min(112vw, 1360px) auto !important;
  }
}

@media (max-width: 1040px) {
  body[data-page="landing-public"] .landing-outcomes-section,
  body[data-page="landing-public"] .landing-demo-section,
  body[data-page="landing-public"] .landing-login-section {
    min-height: auto !important;
  }
}

@media (max-width: 720px) {
  body[data-page="landing-public"] .landing-wrap {
    width: min(100% - 28px, 1360px) !important;
  }

  body[data-page="landing-public"] .landing-parliament-sketch {
    right: -18px !important;
    top: 16% !important;
    width: 180px !important;
    opacity: 0.42 !important;
  }

  body[data-page="landing-public"] .landing-hero-background-art {
    inset: 26px -58px auto 18% !important;
    height: 360px !important;
    background-position: right top !important;
    background-size: 720px auto !important;
    opacity: 0.42 !important;
  }

  body[data-page="landing-public"] .landing-hero-visual {
    display: none !important;
  }

  body[data-page="landing-public"] .landing-outcomes-section,
  body[data-page="landing-public"] .landing-demo-section,
  body[data-page="landing-public"] .landing-login-section {
    min-height: auto !important;
    padding: 44px 0 !important;
  }

  body[data-page="landing-public"] .landing-demo-shell {
    padding: 16px !important;
  }
}

/* Landing hero background integration: final artwork pass */
body[data-page="landing-public"] .landing-hero-lite {
  min-height: clamp(680px, calc(100dvh - var(--ma-topbar-h, 55px)), 940px) !important;
  padding: clamp(28px, 3vw, 48px) 0 clamp(42px, 5vw, 72px) !important;
  background:
    linear-gradient(180deg, rgba(252, 254, 253, 0.62), rgba(236, 245, 241, 0.50)),
    linear-gradient(rgba(61, 82, 74, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 82, 74, 0.014) 1px, transparent 1px),
    #f4faf8 !important;
  background-size: auto, 44px 44px, 44px 44px, auto !important;
}

body[data-page="landing-public"] .landing-hero-stage {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body[data-page="landing-public"] .landing-hero-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg,
      rgba(244, 250, 248, 0.98) 0%,
      rgba(244, 250, 248, 0.94) 23%,
      rgba(244, 250, 248, 0.72) 36%,
      rgba(244, 250, 248, 0.26) 50%,
      rgba(244, 250, 248, 0.00) 66%),
    linear-gradient(180deg,
      rgba(244, 250, 248, 0.78) 0%,
      rgba(244, 250, 248, 0.08) 22%,
      rgba(244, 250, 248, 0.00) 54%,
      rgba(244, 250, 248, 0.60) 100%) !important;
  filter: none !important;
  opacity: 1 !important;
  z-index: 2 !important;
}

body[data-page="landing-public"] .landing-hero-background-art {
  position: absolute !important;
  inset: -5% -8% -8% 0 !important;
  z-index: 1 !important;
  background-image: url("landing-background.svg?v=2") !important;
  background-repeat: no-repeat !important;
  background-position: 62% 47% !important;
  background-size: min(128vw, 1880px) auto !important;
  opacity: 0.92 !important;
  filter: drop-shadow(0 34px 88px rgba(31, 111, 216, 0.08)) !important;
}

body[data-page="landing-public"] .landing-hero-lite .landing-wrap {
  position: relative !important;
  z-index: 3 !important;
  width: min(100% - 64px, 1520px) !important;
  max-width: 1520px !important;
  padding: clamp(24px, 4vw, 54px) 0 !important;
}

body[data-page="landing-public"] .landing-hero-grid {
  position: relative !important;
  z-index: 4 !important;
  grid-template-columns: minmax(460px, 0.82fr) minmax(520px, 1.18fr) !important;
  gap: clamp(16px, 3vw, 52px) !important;
  align-items: center !important;
}

body[data-page="landing-public"] .landing-hero-copy {
  position: relative !important;
  max-width: 720px !important;
  min-width: 0 !important;
  padding: clamp(24px, 3.2vw, 46px) clamp(24px, 3.6vw, 54px) clamp(22px, 3vw, 42px) 0 !important;
  border-radius: 0 34px 34px 0 !important;
  background:
    linear-gradient(90deg,
      rgba(244, 250, 248, 0.96) 0%,
      rgba(244, 250, 248, 0.90) 68%,
      rgba(244, 250, 248, 0.56) 86%,
      rgba(244, 250, 248, 0.00) 100%) !important;
  -webkit-backdrop-filter: blur(1px) !important;
  backdrop-filter: blur(1px) !important;
}

body[data-page="landing-public"] .landing-hero-logo {
  width: clamp(250px, 27vw, 430px) !important;
  margin-bottom: clamp(8px, 1.2vw, 16px) !important;
}

body[data-page="landing-public"] .landing-title {
  max-width: 7.4ch !important;
  font-size: clamp(4.2rem, 6.2vw, 7.4rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.055em !important;
}

body[data-page="landing-public"] .landing-subtitle {
  max-width: 39ch !important;
  font-size: clamp(1.05rem, 1.28vw, 1.42rem) !important;
  line-height: 1.48 !important;
  color: rgba(53, 71, 64, 0.84) !important;
}

body[data-page="landing-public"] .landing-cta-row,
body[data-page="landing-public"] .landing-trust-row {
  position: relative !important;
  z-index: 5 !important;
}

body[data-page="landing-public"] .landing-trust-row {
  max-width: 760px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

body[data-page="landing-public"] .landing-trust-row span {
  background: rgba(255, 255, 255, 0.72) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}

body[data-page="landing-public"] .landing-hero-visual {
  display: block !important;
  min-height: clamp(500px, 48vw, 710px) !important;
}

@media (max-width: 1120px) {
  body[data-page="landing-public"] .landing-hero-background-art {
    inset: 0 -22% 0 12% !important;
    background-position: right 46% !important;
    background-size: 1420px auto !important;
    opacity: 0.58 !important;
  }

  body[data-page="landing-public"] .landing-hero-stage::before {
    background:
      linear-gradient(90deg,
        rgba(244, 250, 248, 0.98) 0%,
        rgba(244, 250, 248, 0.90) 54%,
        rgba(244, 250, 248, 0.32) 78%,
        rgba(244, 250, 248, 0.00) 100%) !important;
  }

  body[data-page="landing-public"] .landing-hero-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="landing-public"] .landing-hero-copy {
    max-width: 760px !important;
  }

  body[data-page="landing-public"] .landing-hero-visual {
    display: none !important;
  }
}

@media (max-width: 720px) {
  body[data-page="landing-public"] .landing-hero-lite {
    min-height: auto !important;
    padding-top: 22px !important;
  }

  body[data-page="landing-public"] .landing-hero-lite .landing-wrap {
    width: min(100% - 28px, 1520px) !important;
    padding: 24px 0 38px !important;
  }

  body[data-page="landing-public"] .landing-hero-background-art {
    inset: 0 -210px auto 2% !important;
    height: 430px !important;
    background-size: 900px auto !important;
    background-position: right top !important;
    opacity: 0.30 !important;
  }

  body[data-page="landing-public"] .landing-hero-stage::before {
    background:
      linear-gradient(180deg,
        rgba(244, 250, 248, 0.96) 0%,
        rgba(244, 250, 248, 0.88) 58%,
        rgba(244, 250, 248, 0.52) 100%) !important;
  }

  body[data-page="landing-public"] .landing-hero-copy {
    max-width: 100% !important;
    padding: 14px 0 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body[data-page="landing-public"] .landing-hero-logo {
    width: min(100%, 260px) !important;
  }

  body[data-page="landing-public"] .landing-title {
    max-width: 7.2ch !important;
    font-size: clamp(3.15rem, 15vw, 5.2rem) !important;
  }
}

/* Workspace paint-safe fallback.
   Some browser/extension combinations choke on the workspace glass stack and
   remote font bootstrap, leaving the DOM present but not painted. Keep the
   workspace on solid surfaces with no blur. */
body[data-page="workspace-home"] {
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  background:
    radial-gradient(920px 360px at 8% -12%, rgba(55, 136, 225, 0.08), transparent 70%),
    radial-gradient(760px 320px at 92% 0%, rgba(20, 156, 130, 0.06), transparent 66%),
    linear-gradient(180deg, #f4f7f6 0%, #edf2f0 100%) !important;
}

body[data-page="workspace-home"] .panel {
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08), 0 2px 10px rgba(15, 23, 42, 0.04) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}


body[data-page="workspace-home"] .panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}


body[data-page="workspace-home"] .topbar.topbar--glass {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body[data-page="workspace-home"] .panel::before,
body[data-page="workspace-home"] .topbar.topbar--glass::before {
  content: none !important;
}

/* Production layout pass: landing density + zoom-safe workspaces. */
body[data-page="landing-public"] .landing-hero-lite {
  min-height: clamp(620px, calc(100dvh - var(--ma-topbar-h, 55px)), 820px) !important;
  padding: clamp(10px, 1.5vw, 22px) 0 clamp(34px, 4vw, 58px) !important;
  align-items: start !important;
}

body[data-page="landing-public"] .landing-hero-lite .landing-wrap {
  width: min(100% - 48px, 1860px) !important;
  max-width: 1860px !important;
  padding: clamp(8px, 1.6vw, 22px) 0 0 !important;
}

body[data-page="landing-public"] .landing-hero-grid {
  grid-template-columns: minmax(390px, 0.72fr) minmax(620px, 1.28fr) !important;
  align-items: start !important;
  gap: clamp(10px, 2.2vw, 38px) !important;
}

body[data-page="landing-public"] .landing-hero-copy {
  max-width: 650px !important;
  padding: clamp(8px, 1.4vw, 18px) clamp(18px, 3vw, 42px) clamp(18px, 2.5vw, 34px) 0 !important;
}

body[data-page="landing-public"] .landing-hero-kicker {
  margin-top: 0 !important;
  margin-bottom: clamp(20px, 3.2vh, 42px) !important;
}

body[data-page="landing-public"] .landing-hero-logo {
  width: clamp(210px, 22vw, 355px) !important;
  margin: 0 0 clamp(20px, 3vh, 38px) !important;
}

body[data-page="landing-public"] .landing-title {
  max-width: 7.2ch !important;
  font-size: 6.05rem !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
}

body[data-page="landing-public"] .landing-subtitle {
  max-width: 47ch !important;
  font-size: 1.12rem !important;
}

body[data-page="landing-public"] .landing-hero-background-art {
  inset: -9% -9% -4% 6% !important;
  background-image: url("landing-background.svg?v=3") !important;
  background-position: 66% 40% !important;
  background-size: min(124vw, 1780px) auto !important;
  opacity: 0.9 !important;
}

body[data-page="landing-public"] .landing-hero-stage::before {
  background:
    linear-gradient(90deg,
      rgba(244, 250, 248, 0.99) 0%,
      rgba(244, 250, 248, 0.95) 21%,
      rgba(244, 250, 248, 0.76) 32%,
      rgba(244, 250, 248, 0.30) 45%,
      rgba(244, 250, 248, 0.00) 62%),
    linear-gradient(180deg,
      rgba(244, 250, 248, 0.42) 0%,
      rgba(244, 250, 248, 0.00) 28%,
      rgba(244, 250, 248, 0.00) 62%,
      rgba(244, 250, 248, 0.70) 100%) !important;
}

body[data-page="landing-public"] .landing-hero-visual {
  min-height: clamp(520px, 52vw, 760px) !important;
}

body[data-page="landing-public"] .landing-outcomes-section {
  padding-top: clamp(70px, 8vw, 118px) !important;
}

@media (max-width: 1120px) {
  body[data-page="landing-public"] .landing-hero-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="landing-public"] .landing-hero-copy {
    max-width: 760px !important;
    padding-right: 0 !important;
  }

  body[data-page="landing-public"] .landing-title {
    font-size: 5.15rem !important;
  }

  body[data-page="landing-public"] .landing-hero-background-art {
    inset: 0 -24% 0 8% !important;
    background-position: right 34% !important;
    background-size: 1380px auto !important;
    opacity: 0.48 !important;
  }
}

@media (max-width: 720px) {
  body[data-page="landing-public"] .landing-hero-lite {
    min-height: auto !important;
    padding-top: 10px !important;
  }

  body[data-page="landing-public"] .landing-hero-lite .landing-wrap {
    width: min(100% - 28px, 1520px) !important;
    padding-top: 10px !important;
  }

  body[data-page="landing-public"] .landing-hero-kicker {
    margin-bottom: 18px !important;
  }

  body[data-page="landing-public"] .landing-hero-logo {
    width: min(100%, 250px) !important;
    margin-bottom: 20px !important;
  }

  body[data-page="landing-public"] .landing-title {
    font-size: 3.55rem !important;
  }
}

body[data-page] :where(.dashboard-content, .app-content:not(.sigma-page-content), .policy-page, .landing-page, .analysis-redirect-wrap) {
  min-width: 0 !important;
}

body[data-page] :where(.container, .container--wide) {
  min-width: 0 !important;
}

body[data-page]:not([data-page="landing-public"]) .container--wide {
  width: min(100% - clamp(20px, 2vw, 36px), 1900px) !important;
  max-width: 1900px !important;
}

body[data-page] :where(.panel, .chart-card, .hero-panel, .pm-profile-workspace, .pm-profile-votemix-card, .pm-profile-contact-card, .pm-profile-overview-card, .pm-debates-card, .pm-amendments-card) {
  min-width: 0 !important;
}

body[data-page] :where(.chart-container, .pm-profile-votemix-canvas-wrap, .pm-profile-mini-chart, .pm-profile-influence-canvas, .pm-profile-influence-stage) {
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page] canvas,
body[data-page] svg {
  max-width: 100%;
}

body[data-page="parliament-members"] .dashboard-content {
  padding: clamp(14px, 1.5vw, 24px) !important;
}

body[data-page="parliament-members"] .dashboard-content > .container,
body[data-page="parliament-members"] .dashboard-content > .container--wide {
  width: min(100% - clamp(10px, 1vw, 18px), 1920px) !important;
  max-width: 1920px !important;
}

body[data-page="parliament-members"] .pm-profile-workspace,
body[data-page="parliament-members"] .pm-panel-section,
body[data-page="parliament-members"] .pm-profile-top-grid,
body[data-page="parliament-members"] .pm-profile-side-stack,
body[data-page="parliament-members"] .pm-profile-charts-grid,
body[data-page="parliament-members"] .pm-profile-context-grid,
body[data-page="parliament-members"] .pm-profile-kpi-grid,
body[data-page="parliament-members"] .pm-kpi-strip--modern {
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page="parliament-members"] .pm-profile-top-grid {
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr) !important;
}

body[data-page="parliament-members"] .pm-profile-side-stack {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
  gap: 14px !important;
}

body[data-page="parliament-members"] .pm-profile-charts-grid,
body[data-page="parliament-members"] .pm-profile-context-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
}

body[data-page="parliament-members"] .pm-profile-kpi-grid,
body[data-page="parliament-members"] .pm-kpi-strip--modern {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}

body[data-page="parliament-members"] .chart-card__header,
body[data-page="parliament-members"] .pm-profile-votemix-head,
body[data-page="parliament-members"] .pm-profile-head,
body[data-page="parliament-members"] .pm-profile-actions,
body[data-page="parliament-members"] .pm-profile-influence-controls,
body[data-page="parliament-members"] .pm-profile-influence-filters,
body[data-page="parliament-members"] .pm-profile-influence-presets {
  min-width: 0 !important;
  flex-wrap: wrap !important;
}

body[data-page="parliament-members"] :where(.panel-title, .panel-subtitle, .chart-card__header h3, .chart-card__subtitle, .pm-profile-identity, .pm-profile-identity *, .pm-profile-votemix-head h3, .pm-profile-kpi-lbl, .pm-kpi-lbl, .pm-profile-brief-short, .pm-workstream-row, .pm-debate-title, .pm-debate-text, .pm-amendment-detail, .pm-amendment-detail *) {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body[data-page="parliament-members"] .chart-container {
  min-height: clamp(220px, 22vw, 330px) !important;
  padding: clamp(12px, 1.2vw, 18px) !important;
}

body[data-page="parliament-members"] .pm-profile-votemix-body {
  grid-template-columns: minmax(160px, 0.86fr) minmax(0, 1.14fr) !important;
  min-width: 0 !important;
}

body[data-page="parliament-members"] .pm-profile-votemix-canvas-wrap {
  height: clamp(170px, 18vw, 245px) !important;
}

body[data-page="parliament-members"] .pm-profile-votemix-legend,
body[data-page="parliament-members"] .pm-profile-meeting-preview,
body[data-page="parliament-members"] .pm-profile-workstream-list,
body[data-page="parliament-members"] .pm-profile-workstream-topics {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

body[data-page="parliament-members"] .pm-profile-influence-stage {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px) !important;
}

body[data-page="parliament-members"] .pm-profile-influence-canvas,
body[data-page="parliament-members"] .pm-profile-influence-svg {
  min-height: clamp(340px, 38vw, 520px) !important;
}

body[data-page="parliament-members"] .pm-profile-influence-node text {
  font-size: 9px !important;
}

@media (max-width: 1500px) {
  body[data-page="parliament-members"] .pm-profile-top-grid,
  body[data-page="parliament-members"] .pm-profile-influence-stage {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1180px) {
  body[data-page="parliament-members"] .pm-profile-side-stack,
  body[data-page="parliament-members"] .pm-profile-votemix-body {
    grid-template-columns: 1fr !important;
  }

  body[data-page="parliament-members"] .dashboard-content > .container,
  body[data-page="parliament-members"] .dashboard-content > .container--wide {
    width: min(100% - 18px, 1920px) !important;
  }
}

/* The brand title sits on the dark topbar: the generic heading-ink rule above made it dark on dark. */
body[data-page] .topbar .topbar-title {
  color: #eef7f2 !important;
}

/* Graph legend: group name + MEP count, click to show/hide (synced with the sidebar chips). */
body[data-page="graph"] .sigma-canvas-wrap .sg-legend {
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 6px !important;
  gap: 4px !important;
}

body[data-page="graph"] button.sg-legend-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 9px !important;
  border: 1px solid transparent !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: opacity .18s cubic-bezier(.22, 1, .36, 1), background-color .18s cubic-bezier(.22, 1, .36, 1) !important;
}

body[data-page="graph"] button.sg-legend-item:hover {
  background: rgba(255, 255, 255, 0.78) !important;
  border-color: rgba(67, 87, 80, 0.14) !important;
}

body[data-page="graph"] button.sg-legend-item:focus-visible {
  outline: 2px solid var(--ma-action, #276ef1) !important;
  outline-offset: 1px !important;
}

body[data-page="graph"] .sg-legend-lbl {
  color: rgba(28, 40, 36, 0.9) !important;
}

body[data-page="graph"] .sg-legend-cnt {
  color: rgba(52, 70, 63, 0.7);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

body[data-page="graph"] button.sg-legend-item.is-off {
  opacity: .42 !important;
}

body[data-page="graph"] button.sg-legend-item.is-off .sg-legend-lbl {
  text-decoration: line-through;
  text-decoration-color: rgba(28, 40, 36, 0.4);
}

body[data-page="graph"] .sg-legend-sep {
  width: 1px;
  height: 18px;
  margin: 0 4px;
  background: rgba(67, 87, 80, 0.22);
}

/* Off-spectrum block caption, positioned by graph_sigma.js under the non-attached nodes. */
body[data-page="graph"] .sg-floor-label {
  position: absolute;
  z-index: 4;
  transform: translateX(-50%);
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px dashed rgba(67, 87, 80, 0.32);
  background: rgba(255, 255, 255, 0.72);
  color: rgba(38, 55, 49, 0.86);
  font-size: 11.5px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: auto;
  cursor: help;
}

body[data-page="graph"] .sg-floor-label[hidden],
body[data-page="graph"] .sg-axis-label[hidden] {
  display: none !important;
}

body[data-page="graph"] .sigma-canvas-wrap .sg-legend {
  max-width: min(1080px, calc(100% - 250px)) !important;
}

@media (max-width: 760px) {
  body[data-page="graph"] .sigma-canvas-wrap .sg-legend {
    max-width: calc(100% - 24px) !important;
  }
}

/* Centred with left:50%, the legend could only use half the canvas width and wrapped. */
body[data-page="graph"] .sigma-canvas-wrap .sg-legend {
  width: max-content !important;
}

/* Longer notice (period + grey MEPs) wraps to two lines instead of being cut off. */
body[data-page="graph"] .sg-sampling-notice {
  white-space: normal !important;
  text-align: center !important;
  max-width: min(980px, calc(100% - 140px)) !important;
  line-height: 1.4 !important;
}

@media (max-width: 900px) {
  body[data-page="graph"] .sg-sampling-notice {
    max-width: calc(100% - 80px) !important;
    font-size: 11px !important;
  }
}

@media (max-width: 900px) {
  /* Keep clear of the zoom buttons on the right. */
  body[data-page="graph"] .sigma-canvas-wrap .sg-legend {
    left: 12px !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: calc(100% - 76px) !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 900px) {
  body[data-page="graph"] .sg-axis-label {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-canvas-wrap {
    width: min(100%, 380px) !important;
  }
  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-stage {
    min-height: 0 !important;
  }
}

@media (max-width: 640px) {
  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-stage {
    width: 100% !important;
  }
  body[data-page="parliament-members"] .dashboard-content .pm-kiviat-canvas-wrap {
    width: 100% !important;
    max-width: 340px !important;
  }
}

/* ── Parliament Members UI pass ───────────────────────────────────────────
   Mini chart cards (topics, meetings): chart above, legend full width below, so labels and
   "count · share" are readable in a one-third-width card; no empty chart frame without data. */
body[data-page="parliament-members"] .dashboard-content .pm-profile-votemix-body {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  gap: 12px !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-votemix-canvas-wrap {
  width: 100% !important;
  max-width: 180px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-votemix-legend {
  width: 100% !important;
  overflow-wrap: normal !important;
}
body[data-page="parliament-members"] .pm-profile-votemix-card.is-empty .pm-profile-votemix-body {
  display: none !important;
}
body[data-page="parliament-members"] .pm-profile-votemix-card.is-empty .list-meta {
  margin-top: 8px !important;
  font-size: 13px !important;
  color: var(--ma-page-muted) !important;
}

/* Directory: "with own group" is a description, not a grade, so no green/amber/red. */
body[data-page="parliament-members"] .pm-list-stat-value.pm-list-val--high,
body[data-page="parliament-members"] .pm-list-stat-value.pm-list-val--mid,
body[data-page="parliament-members"] .pm-list-stat-value.pm-list-val--low {
  color: var(--ma-page-ink) !important;
}

/* Profile key metrics: readable labels on a light tile, no decorative top colours. */
body[data-page="parliament-members"] .dashboard-content .pm-profile-kpi {
  background: var(--ma-surface-raised) !important;
  border: 1px solid var(--ma-page-line) !important;
  border-top-color: var(--ma-page-line) !important;
  box-shadow: none !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-kpi-lbl {
  color: var(--ma-page-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-kpi-grid {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  gap: 8px !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-kpi-lbl[title] { cursor: help; }
body[data-page="parliament-members"] .pm-list-head-cell[title] { cursor: help; }

/* Sidebar search: placeholder text no longer runs under the magnifier icon. */
body[data-page="parliament-members"] .pm-sidebar-search-wrap .input-with-icon .input-icon {
  left: 12px !important;
}
body[data-page="parliament-members"] .pm-sidebar-search-wrap .input-with-icon input {
  padding-left: 36px !important;
}

/* Mobile topbar: the extra page actions made .topbar-actions wrap, which pushed the nav row
   below the 55px bar, over the sidebar search and floating over content while scrolling. One
   row: nav takes the remaining width and scrolls sideways; page actions stay compact. */
@media (max-width: 760px) {
  body[data-page] .topbar .topbar-actions {
    flex-wrap: nowrap !important;
    min-width: 0 !important;
    gap: 6px !important;
  }
  body[data-page] .topbar .topbar-actions .topbar-nav {
    order: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  body[data-page] .topbar .topbar-actions > .control-btn {
    flex: 0 0 auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  body[data-page="topics-mandates"] #tmUrlState {
    display: none !important;
  }
  /* Icon only (the text stays as the accessible name). */
  body[data-page="topics-mandates"] #tmCopyLinkBtn,
  body[data-page="topics-mandates"] #tmHelpBtn {
    font-size: 0 !important;
    gap: 0 !important;
  }
}

/* Mobile gutters: content padding + container margin + container padding stacked to ~50px a side,
   squeezing every card. One 16px gutter. */
@media (max-width: 760px) {
  body[data-page="parliament-members"] .dashboard-content,
  body[data-page="topics-mandates"] .dashboard-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body[data-page="parliament-members"] .dashboard-content > .container,
  body[data-page="parliament-members"] .dashboard-content > .container--wide,
  body[data-page="topics-mandates"] .dashboard-content > .container,
  body[data-page="topics-mandates"] .dashboard-content > .container--wide {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Profile actions on mobile: the two vertical separators took grid cells of their own and
   pushed Compare/Intelligence out of line. */
@media (max-width: 760px) {
  body[data-page="parliament-members"] .pm-profile-actions .pm-action-sep {
    display: none !important;
  }
}

/* ── Topics & Mandate UI pass ─────────────────────────────────────────────
   Confidence badge: "low" / "no signal" describe the data, they are not alerts (no red). */
body[data-page="topics-mandates"] .tm-snapshot-badge--low,
body[data-page="topics-mandates"] .tm-snapshot-badge--sparse {
  background: var(--ma-surface-soft) !important;
  color: var(--ma-page-ink) !important;
  border: 1px solid var(--ma-page-line-strong, var(--ma-page-line)) !important;
}
body[data-page="topics-mandates"] .tm-snapshot-badge--medium {
  background: var(--ma-caution-soft) !important;
  color: var(--ma-caution) !important;
  border: 1px solid var(--ma-caution-soft) !important;
}
body[data-page="topics-mandates"] .tm-snapshot-badge {
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}
body[data-page="topics-mandates"] .tm-kpi-cell[title] { cursor: help; }

/* Topbar page actions on the dark bar: same quiet outline style as the user pill, readable status. */
body[data-page="topics-mandates"] .topbar #tmUrlState {
  color: rgba(238, 247, 242, 0.72) !important;
  font-size: 12px !important;
}
body[data-page="topics-mandates"] .topbar #tmCopyLinkBtn,
body[data-page="topics-mandates"] .topbar #tmHelpBtn {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #eef7f2 !important;
  border: 1px solid rgba(238, 247, 242, 0.22) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
body[data-page="topics-mandates"] .topbar #tmCopyLinkBtn:hover,
body[data-page="topics-mandates"] .topbar #tmHelpBtn:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}
/* One row at every width: the scope status grows with the topic name and used to wrap the bar. */
body[data-page="topics-mandates"] .topbar .topbar-actions {
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}
body[data-page="topics-mandates"] .topbar .topbar-actions .topbar-nav {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
body[data-page="topics-mandates"] .topbar #tmUrlState {
  max-width: 170px !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
body[data-page="topics-mandates"] .topbar #tmCopyLinkBtn,
body[data-page="topics-mandates"] .topbar #tmHelpBtn {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
body[data-page="topics-mandates"] .topbar .topbar-title {
  white-space: nowrap !important;
}
body[data-page] .topbar .topbar-nav {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scrollbar-width: none;
}
body[data-page] .topbar .topbar-nav::-webkit-scrollbar { display: none; }
/* Mobile: the Topics sidebar kept its 264px desktop width and cropped the topic search. */
@media (max-width: 760px) {
  body[data-page="topics-mandates"] .dashboard-sidebar {
    width: 100% !important;
    max-width: none !important;
    flex-basis: auto !important;
  }
}
body[data-page] .topbar .topbar-nav .nav-pill {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
body[data-page] .topbar .topbar-brand {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-right: 12px !important;
}
/* All widths: the bar is one row; the nav takes the space left and scrolls sideways, so long pill
   labels can never widen the page (Policy Atlas scrolled 779px sideways at 1024px). */
body[data-page] .topbar {
  min-width: 0 !important;
}
body[data-page] .topbar .topbar-actions {
  flex-wrap: nowrap !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
}
body[data-page] .topbar .topbar-actions .topbar-nav {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

/* ── Final UI pass (impeccable audit + emil motion rules) ───────────────── */
/* Active preset: solid action blue so the label passes AA (was 3.4:1 on the light gradient). */
body[data-page] .pm-profile-influence-preset.is-active {
  background: var(--ma-action-strong) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
/* Type floor: nothing under 11px on Topics (labels, meta, chips were 10-11px). */
body[data-page="topics-mandates"] :is(.tm-lens-chip, .tm-kpi-label, .tm-gd-mode-badge, .tm-gd-col-count, .tm-topic-tag, .tm-discovery-overlay-pill, .tm-discovery-overlay-url-label) {
  font-size: 11px !important;
}
body[data-page="topics-mandates"] :is(.tm-gd-hit-meta, .tm-gd-hit-link, .tm-power-intel ul) {
  font-size: 12px !important;
}
/* Press feedback on buttons (not on high-frequency keyboard actions). */
@media (prefers-reduced-motion: no-preference) {
  body[data-page] :is(.control-btn, .pa-btn, .pm-list-open, .sidebar-reset-btn, .ds-admin .control-btn) {
    transition-property: transform, background-color, border-color, color, box-shadow;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
  body[data-page] :is(.control-btn, .pa-btn, .pm-list-open, .sidebar-reset-btn):active:not(:disabled) {
    transform: scale(0.97);
  }
}
/* Reduced motion: stop looping animations (skeleton sweeps, typing dots, pulses) and long
   transitions everywhere; colour/opacity changes stay instant. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Brand kicker above the page title was 9px. */
body[data-page] .topbar .brand-kicker {
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2 !important;
}

/* MEP profile: Recent news mentions */
body[data-page="parliament-members"] .pm-news-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}
body[data-page="parliament-members"] .pm-news-item {
  display: grid;
  gap: 2px;
  padding: 10px 0;
  border-top: 1px solid var(--ma-page-line);
}
body[data-page="parliament-members"] .pm-news-item:first-child { border-top: 0; }
body[data-page="parliament-members"] .pm-news-item a {
  color: var(--ma-page-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  text-wrap: pretty;
}
body[data-page="parliament-members"] .pm-news-item a:hover { color: var(--ma-action-strong); text-decoration: underline; }
body[data-page="parliament-members"] .pm-news-meta {
  font-size: 12px;
  color: var(--ma-page-muted);
}
body[data-page="parliament-members"] .pm-profile-news-card h3 { margin-bottom: 4px !important; }
body[data-page="parliament-members"] .pm-profile-news-card > .list-meta { margin: 0 !important; }

/* Parliament Members: MEPs no longer in office (section after the in-office list). */
body[data-page="parliament-members"] .pm-left-section {
  margin-top: 18px;
  border-top: 1px solid var(--ma-page-line);
  padding-top: 12px;
}
body[data-page="parliament-members"] .pm-left-section > summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--ma-page-ink);
  list-style-position: inside;
}
body[data-page="parliament-members"] .pm-left-count {
  display: inline-block;
  margin-left: 6px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--ma-surface-soft);
  border: 1px solid var(--ma-page-line);
  font-size: 12px;
  font-weight: 600;
}
body[data-page="parliament-members"] .pm-left-hint {
  display: block;
  margin: 4px 0 0 16px;
  font-size: 12px;
  font-weight: 400;
  color: var(--ma-page-muted);
}
body[data-page="parliament-members"] .pm-list-wrap--left { margin-top: 10px; }
body[data-page="parliament-members"] .pm-list-wrap--left .pm-list-row { opacity: 0.86; }
body[data-page="parliament-members"] .pm-left-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 4px;
  border: 1px solid var(--ma-page-line-strong, var(--ma-page-line));
  font-size: 11px;
  font-weight: 600;
  color: var(--ma-page-muted);
  white-space: nowrap;
}
body[data-page="parliament-members"] .pm-list-empty-inoffice { padding: 12px 4px; }
body[data-page="parliament-members"] .pm-left-badge--role {
  border-color: var(--ma-action, #276ef1);
  color: var(--ma-action-strong, #1859cc);
}
body[data-page="parliament-members"] .pm-profile-status {
  margin: 4px 0 0;
  padding: 4px 8px;
  border-left: 3px solid var(--ma-action, #276ef1);
  border-radius: 0 4px 4px 0;
  background: var(--ma-action-soft, #eef4ff);
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--ma-page-ink, #16211d);
}
body[data-page="parliament-members"] .pm-profile-status[hidden] { display: none; }

/* ── Keyboard focus (WCAG 2.4.7 / 1.4.11) ────────────────────────────────────
   Earlier layers set `outline: 0` on chips, tabs, buttons and inputs and left only a faint halo
   (~1.2:1), so keyboard users lost their place. Last word: a solid 2px ring in the action blue on
   every keyboard-focused element; light blue on the dark sidebar and topbar. */
/* :is(..., #ma-focus) carries id-level specificity, so this also beats id/multi-class rules that
   zero the outline on inputs and selects (#loQuery, sidebar search, filter selects). */
body[data-page] :is(*, #ma-focus):focus-visible {
  outline: 2px solid var(--ma-action, #276ef1) !important;
  outline-offset: 2px !important;
}
body[data-page] :where(.dashboard-sidebar, .sigma-sidebar, .topbar) :is(*, #ma-focus):focus-visible {
  outline-color: #9cc2ff !important;
}
/* Mouse clicks on buttons do not need the ring; text fields keep it while typing. */
body[data-page] :focus:not(:focus-visible) {
  outline: none;
}
/* `transition: all` on these links animated the focus ring itself (currentColor 3px -> blue). */
body[data-page] :is(.tm-workspace-link, .chip, .command-feed-item, .tm-lens-chip) {
  transition-property: color, background-color, border-color, box-shadow !important;
}

/* Drilldown tables (profile + Compare): the date column took 34% and the session title was a
   centred chip button that overflowed on both sides ("ulsions of foreign i"). Fixed date
   column, title gets the room, left-aligned link clamped to two lines. */
body[data-page="parliament-members"] .cp-drill-table th:first-child,
body[data-page="parliament-members"] .cp-drill-table td:first-child {
  width: 104px !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}
body[data-page="parliament-members"] .cp-drill-table th:nth-child(2),
body[data-page="parliament-members"] .cp-drill-table td:nth-child(2) {
  width: auto !important;
}
body[data-page="parliament-members"] .cp-drill-table th:nth-child(n+3),
body[data-page="parliament-members"] .cp-drill-table td:nth-child(n+3) {
  width: 124px !important;
}
body[data-page="parliament-members"] .cp-drill-table .cp-session-link {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  text-align: left !important;
  white-space: normal !important;
  font: inherit !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: var(--ma-page-ink) !important;
  cursor: pointer;
}
body[data-page="parliament-members"] .cp-drill-table .cp-session-link:hover {
  color: var(--ma-action-strong) !important;
  text-decoration: underline;
}
body[data-page] .intel-beta-chip {
  display: inline-block;
  margin-right: 6px;
  padding: 0 6px;
  border: 1px solid var(--ma-page-line-strong, var(--ma-page-line));
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--ma-page-muted);
}

/* ── Landing / login (final UI pass) ─────────────────────────────────────── */
/* Hero headline: 2-3 lines instead of 6 (was max-width 7.2ch, up to 6.1rem, weight 860). */
body[data-page="landing-public"] .landing-title {
  max-width: 16ch !important;
  font-size: clamp(2.25rem, 3.6vw, 3.25rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
}
/* Link-buttons rendered with the browser underline. */
body[data-page] a.control-btn,
body[data-page] a.upload-btn {
  text-decoration: none !important;
}
/* Privacy notice: a light, readable strip instead of a dark translucent band. */
body[data-page="landing-public"] .gdpr-notice-banner {
  background: var(--ma-surface-raised) !important;
  color: var(--ma-page-ink) !important;
  border-bottom: 1px solid var(--ma-page-line) !important;
  box-shadow: var(--ma-shadow-quiet, none) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  font-size: 14px !important;
}
body[data-page="landing-public"] .gdpr-banner-text a { color: var(--ma-action-strong) !important; }
body[data-page="landing-public"] .gdpr-banner-dismiss {
  background: var(--ma-action) !important;
  color: #ffffff !important;
  border-radius: var(--ma-radius-sm, 6px) !important;
  padding: 8px 18px !important;
  transition-property: background-color !important;
}
body[data-page="landing-public"] .landing-footer-legal {
  font-size: 13px;
  color: var(--ma-page-muted);
}
/* Section headings sat above the hero title (4.35rem vs 3.25rem): one level below it now. */
body[data-page="landing-public"] .landing-outcomes-head h2,
body[data-page="landing-public"] .landing-demo-header h2,
body[data-page="landing-public"] .landing-auth-copy h2 {
  font-size: clamp(1.9rem, 2.7vw, 2.6rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.1 !important;
}
/* Sign in on the dark topbar: quiet outline instead of a grey slab. */
body[data-page="landing-public"] .topbar .topbar-actions .control-btn {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #eef7f2 !important;
  border: 1px solid rgba(238, 247, 242, 0.28) !important;
  box-shadow: none !important;
  transition-property: background-color, border-color !important;
}
@media (hover: hover) and (pointer: fine) {
  body[data-page="landing-public"] .topbar .topbar-actions .control-btn:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(238, 247, 242, 0.5) !important;
  }
}
/* Sign-in section: copy above the card on narrow screens, no forced height. */
@media (max-width: 860px) {
  body[data-page="landing-public"] .landing-login-section .landing-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }
  body[data-page="landing-public"] .landing-login-section,
  body[data-page="landing-public"] .landing-login-card {
    min-height: 0 !important;
  }
  body[data-page="landing-public"] .landing-auth-copy {
    max-width: none !important;
  }
}
/* Phones: logo + Sign in only; the section links were cut ("verview", "Privac"). */
@media (max-width: 640px) {
  body[data-page="landing-public"] .topbar--landing .topbar-nav {
    display: none !important;
  }
}

/* Login: light card on the page background, readable labels, a way back. */
body[data-page="login"] {
  background: var(--ma-page-bg, #f4f7f6) !important;
  color: var(--ma-page-ink) !important;
}
body[data-page="login"] .login-shell {
  width: min(400px, 100%);
  display: grid;
  gap: 16px;
}
body[data-page="login"] .login-back {
  justify-self: start;
  font-size: 14px;
  font-weight: 500;
  color: var(--ma-page-muted) !important;
  text-decoration: none;
}
body[data-page="login"] .login-back:hover { color: var(--ma-page-ink) !important; }
body[data-page="login"] .login-card {
  width: 100% !important;
  box-sizing: border-box;
  background: var(--ma-surface-raised, #fff) !important;
  border: 1px solid var(--ma-page-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 20, 0.05), 0 8px 24px rgba(16, 24, 20, 0.06) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 28px !important;
}
body[data-page="login"] .login-brand-name { color: var(--ma-page-ink) !important; font-size: 17px !important; }
body[data-page="login"] .login-title {
  margin: 0 0 20px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  color: var(--ma-page-ink) !important;
}
body[data-page="login"] label {
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--ma-page-ink) !important;
}
body[data-page="login"] input {
  min-height: 42px;
  padding: 8px 12px !important;
  font-size: 15px !important;
  color: var(--ma-page-ink) !important;
  background: #fff !important;
  border: 1px solid var(--ma-page-line-strong, #c9d3cf) !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
}
body[data-page="login"] .login-btn {
  min-height: 44px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  background: var(--ma-action) !important;
  border-color: var(--ma-action) !important;
  color: #fff !important;
  transition-property: background-color !important;
}
body[data-page="login"] .login-btn:hover:not(:disabled) {
  transform: none !important;
  filter: none !important;
  background: var(--ma-action-strong) !important;
}
body[data-page="login"] .login-error {
  background: #fdf0ef !important;
  border-color: #f0c4c0 !important;
  color: #8a1f17 !important;
  font-size: 14px !important;
}
body[data-page="login"] .login-help {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ma-page-muted);
}
body[data-page="login"] .login-legal {
  margin: 0 !important;
  text-align: center;
  font-size: 13px !important;
}
body[data-page="login"] .login-legal a { color: var(--ma-page-muted) !important; }
/* Phones: the generic mobile topbar rules hid the only Sign in; trust chips read as one line of text. */
@media (max-width: 640px) {
  body[data-page="landing-public"] .topbar--landing #landingLoginLink {
    display: inline-flex !important;
    align-items: center;
    min-height: 36px;
    padding: 0 14px !important;
  }
  body[data-page="landing-public"] .landing-trust-row span {
    display: block !important;
  }
}
/* Partners & users: a quiet strip before the footer, logos small and muted until hovered. */
body[data-page="landing-public"] .landing-partners-section {
  min-height: 0 !important;
  padding: 24px 0 !important;
  border-top: 1px solid var(--ma-page-line);
  background: var(--ma-surface-raised, #fff);
  text-align: center;
}
body[data-page="landing-public"] .landing-partners-section .landing-wrap {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-page="landing-public"] .landing-partners-title {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  color: var(--ma-page-muted) !important;
}
body[data-page="landing-public"] .landing-partners-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body[data-page="landing-public"] .landing-partner {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
body[data-page="landing-public"] .landing-partner img {
  display: block;
  height: 24px;
  width: auto;
  filter: grayscale(1);
  opacity: 0.7;
  transition: opacity 150ms ease-out, filter 150ms ease-out;
}
@media (hover: hover) and (pointer: fine) {
  body[data-page="landing-public"] .landing-partner:hover img { filter: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="landing-public"] .landing-partner img { transition: none; }
}
/* Privacy policy: readable measure, a plain summary box, no decorative chrome. */
body[data-page="privacy-public"] .policy-wrap { max-width: 760px !important; }
body[data-page="privacy-public"] .policy-hero h1 {
  font-size: clamp(2rem, 3vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}
body[data-page="privacy-public"] .policy-updated { color: var(--ma-page-muted); font-size: 14px; }
body[data-page="privacy-public"] .policy-summary {
  margin: 8px 0 24px;
  padding: 20px 24px;
  border: 1px solid var(--ma-page-line);
  border-radius: 10px;
  background: var(--ma-surface-raised, #fff);
}
body[data-page="privacy-public"] .policy-summary h2 { margin: 0 0 10px; font-size: 18px; }
body[data-page="privacy-public"] .policy-summary ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; line-height: 1.55; }
body[data-page="privacy-public"] .policy-section p,
body[data-page="privacy-public"] .policy-hero p { line-height: 1.65; max-width: 68ch; }
body[data-page="privacy-public"] .policy-section h2 { font-size: 20px !important; }
body[data-page="privacy-public"] .policy-footer { margin: 24px 0 8px; color: var(--ma-page-muted); font-size: 13px; }
@media (max-width: 640px) {
  body[data-page="privacy-public"] .topbar--landing .topbar-nav { display: none !important; }
  body[data-page="privacy-public"] .policy-summary { padding: 16px; }
}
body[data-page="privacy-public"] .topbar .topbar-actions .control-btn {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #eef7f2 !important;
  border: 1px solid rgba(238, 247, 242, 0.28) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
@media (max-width: 640px) {
  body[data-page="privacy-public"] .policy-page { padding-left: 0 !important; padding-right: 0 !important; }
  body[data-page="privacy-public"] .policy-wrap { width: calc(100% - 32px) !important; margin: 0 auto !important; padding: 0 !important; }
  body[data-page="privacy-public"] .policy-hero p,
  body[data-page="privacy-public"] .policy-section p { font-size: 15px !important; }
}

/* ── Phones (≤760px): one menu button for the pages, filters closed behind a labelled button ── */
.sidebar-collapse-label { display: none; }
@media (max-width: 760px) {
  body[data-page] .topbar:not(.topbar--landing) .topbar-menu-toggle {
    display: inline-flex !important;
    width: 44px;
    height: 44px;
  }
  body[data-page] .topbar:not(.topbar--landing) .brand-copy { display: none !important; }
  body[data-page] .topbar:not(.topbar--landing) .topbar-nav {
    display: none !important;
  }
  body[data-page] .topbar:not(.topbar--landing).menu-open .topbar-nav {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    position: fixed;
    top: var(--ma-topbar-h, 55px);
    left: 0;
    right: auto;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
    z-index: 1000;
    max-height: calc(100dvh - var(--ma-topbar-h, 55px));
    overflow-y: auto;
    padding: 8px 16px 16px;
    background: #1f2a27;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
  }
  body[data-page] .topbar:not(.topbar--landing).menu-open .topbar-nav .nav-pill {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    min-height: 44px;
    padding: 0 12px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    white-space: normal;
  }
  body[data-page] .topbar:not(.topbar--landing) .topbar-actions {
    margin-left: auto;
    gap: 8px;
  }

  /* Filters: a full-width labelled button instead of the floating ‹ tab. */
  body[data-page] .dashboard-shell > .sidebar-collapse-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    width: auto !important;
    height: 44px !important;
    margin: 12px 16px 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--ma-page-line, #d5ddda) !important;
    border-radius: 8px !important;
    background: var(--ma-surface-raised, #fff) !important;
    color: var(--ma-page-ink, #18211e) !important;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
  }
  body[data-page] .dashboard-shell > .sidebar-collapse-toggle .sidebar-collapse-label { display: inline; }
  body[data-page] .dashboard-shell > .sidebar-collapse-toggle svg { transform: rotate(90deg); }
  body[data-page] .dashboard-shell.sidebar-collapsed > .sidebar-collapse-toggle svg { transform: rotate(-90deg); }
  body[data-page] .dashboard-shell.sidebar-collapsed > .dashboard-sidebar {
    display: none !important;
  }
}
/* Intelligence on phones: full-width panel, settings and composer inside it. */
@media (max-width: 760px) {
  body[data-page="intel"] #view-intel .container { width: 100% !important; max-width: none !important; padding: 12px 12px 24px !important; box-sizing: border-box; }
  body[data-page="intel"] .analyst-panel { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 16px !important; box-sizing: border-box; }
  body[data-page="intel"] .analyst-shell,
  body[data-page="intel"] .analyst-settings { width: 100% !important; max-width: none !important; min-width: 0 !important; padding: 0 !important; box-sizing: border-box; }
  body[data-page="intel"] .analyst-settings { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
  body[data-page="intel"] .analyst-settings > * { width: 100% !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
  body[data-page="intel"] .analyst-settings .intel-mep-input { grid-column: 1 / -1; }
  body[data-page="intel"] .analyst-chat { min-height: 240px; max-height: 55dvh; }
  body[data-page="intel"] .analyst-composer,
  body[data-page="intel"] .analyst-textarea { width: 100% !important; box-sizing: border-box; }
  body[data-page="intel"] .analyst-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  body[data-page="intel"] .analyst-actions .control-btn { min-height: 44px; }
}
/* Policy Atlas timeline: committee steps not yet held (from published committee agendas). */
body[data-page] .pa-timeline-item.is-scheduled .pa-date { color: var(--ma-action-strong) !important; font-weight: 600; }
body[data-page] .pa-timeline-item.is-scheduled h4 { color: var(--ma-page-ink); }
body[data-page] .pa-timeline-link { display: inline-block; margin-top: 2px; font-size: 13px; color: var(--ma-action-strong); }

/* ── Policy Atlas · Dossier brief (static, every fact linked to its source) ── */
body[data-page] .pa-brief { display: grid; gap: 22px; padding-bottom: 8px; }
body[data-page] .pa-brief-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px;
  padding-bottom: 14px; border-bottom: 1px solid var(--ma-page-line);
}
body[data-page] .pa-brief-kicker { margin: 0; font-size: 12px; font-weight: 600; color: var(--ma-page-muted); text-transform: none; letter-spacing: 0; }
body[data-page] .pa-brief-meta { margin: 4px 0 0; font-size: 14px; color: var(--ma-page-ink); }
body[data-page] .pa-brief-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body[data-page] .pa-brief-section { display: grid; gap: 10px; }
body[data-page] .pa-brief-section .pa-section-title { margin: 0; }
body[data-page] .pa-brief-section .pa-section-copy { margin: 0; }
body[data-page] .pa-brief-summary p { margin: 0 0 8px; max-width: 78ch; line-height: 1.6; font-size: 14.5px; color: var(--ma-page-ink); }
body[data-page] .pa-brief-more summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--ma-action-strong); }
body[data-page] .pa-brief-more[open] summary { margin-bottom: 8px; }
body[data-page] .pa-brief-cite, body[data-page] .pa-brief-faint { margin: 0; font-size: 12.5px; color: var(--ma-page-muted); }
body[data-page] .pa-brief-src { font-size: 12px; font-weight: 600; color: var(--ma-action-strong); text-decoration: none; white-space: nowrap; }
body[data-page] .pa-brief-src:hover { text-decoration: underline; }
body[data-page] .pa-brief-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px 28px; }
body[data-page] .pa-brief-sub { margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--ma-page-ink); }
body[data-page] .pa-brief-steps, body[data-page] .pa-brief-list, body[data-page] .pa-brief-bars, body[data-page] .pa-brief-quotes { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
body[data-page] .pa-brief-step { display: grid; grid-template-columns: 96px 1fr; gap: 2px 12px; font-size: 13.5px; padding: 6px 0; border-bottom: 1px solid var(--ma-page-line); }
body[data-page] .pa-brief-step-date { font-family: var(--font-mono, 'IBM Plex Mono', monospace); font-size: 12px; color: var(--ma-page-muted); padding-top: 2px; }
body[data-page] .pa-brief-step-what { color: var(--ma-page-ink); }
body[data-page] .pa-brief-step-src { grid-column: 2; font-size: 12px; color: var(--ma-page-muted); }
body[data-page] .pa-brief-tag { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 4px; font-size: 11px; font-weight: 600; border: 1px solid var(--ma-page-line-strong, var(--ma-page-line)); color: var(--ma-page-muted); }
body[data-page] .pa-brief-tag.is-scheduled { color: var(--ma-action-strong); border-color: var(--ma-action-soft); background: var(--ma-action-soft); }
body[data-page] .pa-brief-empty { margin: 0; font-size: 13px; color: var(--ma-page-muted); }
body[data-page] .pa-brief-table-wrap { overflow-x: auto; }
body[data-page] .pa-brief-table { width: 100%; border-collapse: collapse; font-size: 13px; }
body[data-page] .pa-brief-table th { text-align: left; font-weight: 600; font-size: 12px; color: var(--ma-page-muted); padding: 6px 8px; border-bottom: 1px solid var(--ma-page-line-strong, var(--ma-page-line)); white-space: nowrap; }
body[data-page] .pa-brief-table td { padding: 7px 8px; border-bottom: 1px solid var(--ma-page-line); vertical-align: top; color: var(--ma-page-ink); }
body[data-page] .pa-brief-table a { color: var(--ma-action-strong); text-decoration: none; font-weight: 600; }
body[data-page] .pa-brief-group { font-family: var(--font-mono, 'IBM Plex Mono', monospace); font-size: 12px; }
body[data-page] .pa-brief-line { display: inline-block; min-width: 44px; text-align: center; padding: 1px 6px; border-radius: 4px; font-size: 11.5px; font-weight: 600; }
body[data-page] .pa-brief-line.is-for { background: var(--ma-civic-soft, #e6f4ec); color: var(--ma-civic, #1d7a46); }
body[data-page] .pa-brief-line.is-against { background: var(--ma-danger-soft, #fbe9e7); color: var(--ma-danger, #b42318); }
body[data-page] .pa-brief-line.is-abst, body[data-page] .pa-brief-line.is-split { background: var(--ma-surface-soft, #f1f4f3); color: var(--ma-page-muted); }
body[data-page] .pa-brief-bars li { display: grid; grid-template-columns: 64px 1fr 40px; gap: 8px; align-items: center; font-size: 13px; }
body[data-page] .pa-brief-bar { height: 8px; border-radius: 4px; background: var(--ma-surface-soft, #f1f4f3); overflow: hidden; }
body[data-page] .pa-brief-bar i { display: block; height: 100%; background: var(--ma-page-muted); opacity: 0.55; }
body[data-page] .pa-brief-list li { font-size: 13.5px; color: var(--ma-page-ink); }
body[data-page] .pa-brief-list a { color: var(--ma-action-strong); text-decoration: none; }
body[data-page] .pa-brief-quotes blockquote { margin: 0 0 2px; padding-left: 10px; border-left: 2px solid var(--ma-page-line-strong, var(--ma-page-line)); font-size: 13.5px; line-height: 1.55; color: var(--ma-page-ink); }
body[data-page] .pa-brief-gaps { margin: 0; padding: 10px 12px; border-radius: var(--ma-radius-sm, 6px); background: var(--ma-surface-soft, #f1f4f3); font-size: 12.5px; color: var(--ma-page-muted); }
@media (max-width: 640px) {
  body[data-page] .pa-brief-step { grid-template-columns: 1fr; }
  body[data-page] .pa-brief-step-src { grid-column: 1; }
}
body[data-page] .pa-brief-analysis { display: grid; gap: 10px; padding: 16px 18px; border: 1px solid var(--ma-page-line); border-radius: var(--ma-radius, 8px); background: var(--ma-surface-raised, #fff); }
body[data-page] .pa-brief-analysis-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body[data-page] .pa-brief-analysis-head .pa-section-title { margin: 0; }
body[data-page] .pa-brief-bottom { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ma-page-ink); max-width: 80ch; }
body[data-page] .pa-brief-analysis-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px 28px; }
body[data-page] .pa-brief-analysis-block p { margin: 0 0 6px; font-size: 13.5px; line-height: 1.55; color: var(--ma-page-ink); }
body[data-page] .pa-brief-points { margin: 0; padding-left: 18px; display: grid; gap: 5px; font-size: 13.5px; line-height: 1.5; color: var(--ma-page-ink); }
body[data-page] .pa-brief-cite-ref { display: inline-block; margin: 0 1px; padding: 0 4px; border-radius: 4px; font-size: 10.5px; font-weight: 600; vertical-align: 1px; color: var(--ma-action-strong); background: var(--ma-action-soft); text-decoration: none; }
body[data-page] .pa-spinner--inline { display: inline-block; width: 12px; height: 12px; vertical-align: -1px; }
body[data-page] .pa-brief-cols--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
body[data-page] .pa-brief-inst { display: grid; gap: 4px; align-content: start; }
body[data-page] .pa-brief-inst + .pa-brief-inst { margin-top: 4px; }
body[data-page] .pa-brief-role { display: inline-block; min-width: 9.5em; font-size: 12px; font-weight: 600; color: var(--ma-page-muted); }
body[data-page] .pa-brief-line-text { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ma-page-ink); }
body[data-page] .pa-brief-line-text a, body[data-page] .pa-brief-step-what a, body[data-page] .pa-brief-list a { color: var(--ma-action-strong); text-decoration: none; }
body[data-page] .pa-brief-step-what a:hover, body[data-page] .pa-brief-line-text a:hover { text-decoration: underline; }
body[data-page] .pa-brief-divider { margin: 6px 0 0; padding-top: 14px; border-top: 1px solid var(--ma-page-line); font-size: 13px; font-weight: 600; color: var(--ma-page-muted); }

/* News: hidden states win over the layout rules above (the KPI grid, buttons and panels were
   forced visible by display:grid / inline-flex !important). */
body[data-page="news"] .dashboard-content .is-hidden,
body[data-page="news"] .dashboard-content .feed-btn-hidden,
body[data-page="news"] .dashboard-content [hidden] { display: none !important; }

/* Group badge keeps its group colour (set per badge as --group-bg / --group-fg). */
body[data-page="news"] .dashboard-content .art-group-tag {
  background: var(--group-bg, #475569) !important;
  border-color: var(--group-bg, #475569) !important;
  color: var(--group-fg, #fff) !important;
  box-shadow: none !important;
}

body[data-page="news"] .dashboard-content .news-unavailable {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
body[data-page="news"] .dashboard-content .news-unavailable small { color: var(--ma-page-muted); max-width: 46ch; }

/* ══ News · editorial desk ═══════════════════════════════════════════════════════════════
   A reading desk, not a card wall: the newest story leads, the next two sit beside it, then one
   line per article under day headings. Palette and fonts are the app's own tokens. */
body[data-page="news"] {
  --desk-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --desk-ink: var(--ma-page-ink, #16211d);
  --desk-muted: var(--ma-page-muted, #566861);
  --desk-faint: var(--ma-page-faint, #71817b);
  --desk-line: var(--ma-page-line, rgba(81, 101, 93, 0.13));
  --desk-accent: var(--ma-action-strong, #1859cc);
}
body[data-page="news"] ::selection { background: rgba(39, 110, 241, 0.18); color: var(--desk-ink); }

/* Panels: one quiet surface, no glass */
body[data-page="news"] .dashboard-content .np {
  border-radius: 16px !important;
  border: 1px solid var(--desk-line) !important;
  background: var(--ma-surface-raised, #fff) !important;
  box-shadow: var(--ma-shadow-quiet) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body[data-page="news"] .dashboard-content .np-header {
  align-items: center !important;
  padding: 18px 24px 14px !important;
  border-bottom: 0 !important;
}
body[data-page="news"] .dashboard-content .np-title {
  font-family: var(--font-display) !important;
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  color: var(--desk-ink) !important;
}
body[data-page="news"] .dashboard-content .np-title-icon { display: none !important; }
body[data-page="news"] .dashboard-content .np-badge {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
}
body[data-page="news"] .dashboard-content .np-badge.live {
  color: var(--ma-civic, #1f7a55) !important;
  background: var(--ma-civic-soft, rgba(31, 122, 85, 0.1)) !important;
  border: 0 !important;
}

/* Feed tools: counts as one line of text, filter on the right */
body[data-page="news"] .dashboard-content .stat-bar {
  align-items: center !important;
  gap: 0 !important;
  padding: 0 24px 14px !important;
  border-bottom: 1px solid var(--desk-line) !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .stat-item {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 5px !important;
  min-width: 0 !important;
  margin-right: 14px !important;
  padding: 0 14px 0 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--desk-line) !important;
  background: none !important;
  box-shadow: none !important;
}
body[data-page="news"] .dashboard-content .stat-item:nth-last-child(3),
body[data-page="news"] .dashboard-content .stat-item:last-of-type { border-right: 0 !important; }
body[data-page="news"] .dashboard-content .stat-value {
  font-family: var(--font-ui) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  color: var(--desk-ink) !important;
}
body[data-page="news"] .dashboard-content .stat-label {
  font-size: 0.8125rem !important;
  text-transform: lowercase !important;
  letter-spacing: 0 !important;
  color: var(--desk-muted) !important;
}
body[data-page="news"] .dashboard-content .news-filter-input {
  min-width: 260px !important;
  border-radius: 8px !important;
  border: 1px solid var(--ma-page-line-strong, rgba(81, 101, 93, 0.22)) !important;
  background: var(--ma-surface, #fbfcfd) !important;
  box-shadow: none !important;
}
body[data-page="news"] .dashboard-content .news-filter-input:focus {
  outline: none !important;
  border-color: var(--ma-action, #276ef1) !important;
  box-shadow: 0 0 0 3px var(--ma-action-soft, rgba(39, 110, 241, 0.12)) !important;
}

/* Category filter: a segmented control, not a row of glossy pills */
body[data-page="news"] .dashboard-content .feed-category-filter {
  display: flex !important;
  gap: 2px !important;
  width: max-content !important;
  margin: 14px 24px 0 !important;
  padding: 3px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--ma-surface-soft, #f1f4f3) !important;
}
body[data-page="news"] .dashboard-content .feed-category-chip {
  min-height: 30px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  transform: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: background-color 160ms var(--desk-ease), color 160ms var(--desk-ease) !important;
}
body[data-page="news"] .dashboard-content .feed-category-chip:hover { color: var(--desk-ink) !important; background: transparent !important; }
body[data-page="news"] .dashboard-content .feed-category-chip.active {
  background: var(--ma-surface-raised, #fff) !important;
  color: var(--desk-ink) !important;
  box-shadow: 0 1px 2px rgba(21, 33, 28, 0.08), 0 2px 6px rgba(21, 33, 28, 0.05) !important;
}

body[data-page="news"] .dashboard-content #feedBody,
body[data-page="news"] .dashboard-content #searchBody { padding: 4px 24px 8px !important; background: none !important; }

/* Front page */
body[data-page="news"] .dashboard-content .desk-front {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 0 32px;
  padding: 18px 0 26px;
  border-bottom: 1px solid var(--desk-line);
}
@supports (transition-behavior: allow-discrete) {
  body[data-page="news"] .dashboard-content .desk-front {
    transition: opacity 260ms var(--desk-ease), transform 260ms var(--desk-ease);
    @starting-style { opacity: 0; transform: translateY(6px); }
  }
}
body[data-page="news"] .dashboard-content .desk-front__side {
  display: flex;
  flex-direction: column;
  padding-left: 32px;
  border-left: 1px solid var(--desk-line);
}
body[data-page="news"] .dashboard-content .desk-front__side .desk-lead + .desk-lead {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--desk-line);
}
body[data-page="news"] .dashboard-content .desk-lead { min-width: 0; }
body[data-page="news"] .dashboard-content .desk-lead__title {
  margin: 8px 0 0 !important;
  font-family: var(--font-display) !important;
  font-size: 1.0625rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: var(--desk-ink) !important;
  text-wrap: balance;
}
body[data-page="news"] .dashboard-content .desk-lead--primary .desk-lead__title {
  margin-top: 10px !important;
  font-size: 1.875rem !important;
  line-height: 1.18 !important;
  letter-spacing: -0.022em !important;
}
body[data-page="news"] .dashboard-content .desk-lead__summary {
  margin: 8px 0 0 !important;
  max-width: 64ch;
  color: var(--desk-muted) !important;
  font-size: 0.875rem !important;
  line-height: 1.55 !important;
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body[data-page="news"] .dashboard-content .desk-lead--primary .desk-lead__summary {
  margin-top: 12px !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  -webkit-line-clamp: 4;
}
body[data-page="news"] .dashboard-content .desk-lead__foot {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  color: var(--desk-faint);
  font-size: 0.8125rem;
}
body[data-page="news"] .dashboard-content .desk-lead__foot .desk-actions { margin-left: auto; }

/* Day sections and rows */
body[data-page="news"] .dashboard-content .desk-day__label {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0 !important;
  padding: 22px 0 10px !important;
  background: linear-gradient(var(--ma-surface-raised, #fff) 78%, rgba(255, 255, 255, 0)) !important;
  color: var(--desk-muted) !important;
  font-family: var(--font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
body[data-page="news"] .dashboard-content .desk-row {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 4px 18px;
  padding: 14px 10px 15px;
  margin: 0 -10px;
  border-radius: 8px;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transition: background-color 160ms var(--desk-ease);
}
body[data-page="news"] .dashboard-content .desk-row + .desk-row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 76px;
  right: 10px;
  border-top: 1px solid var(--desk-line);
}
body[data-page="news"] .dashboard-content .desk-row__time {
  padding-top: 21px;
  color: var(--desk-faint);
  font-family: var(--font-mono) !important;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body[data-page="news"] .dashboard-content .desk-row--ep .desk-row__time { padding-top: 2px; }
body[data-page="news"] .dashboard-content .desk-row__main { min-width: 0; }
body[data-page="news"] .dashboard-content .desk-row__title {
  margin: 4px 0 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 0.96875rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  color: var(--desk-ink) !important;
  text-wrap: pretty;
}
body[data-page="news"] .dashboard-content .desk-row--ep .desk-row__title { margin-top: 0 !important; font-size: 0.90625rem !important; }
body[data-page="news"] .dashboard-content .desk-row__summary {
  margin: 4px 0 0 !important;
  max-width: 78ch;
  color: var(--desk-muted) !important;
  font-size: 0.84375rem !important;
  line-height: 1.5 !important;
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body[data-page="news"] .dashboard-content .desk-row--ep .desk-meta { margin-top: 6px; }

/* Headlines are real links */
body[data-page="news"] .dashboard-content :is(.desk-lead__title, .desk-row__title) a {
  color: inherit !important;
  text-decoration: none !important;
  background: none !important;
  border-radius: 3px;
}
body[data-page="news"] .dashboard-content :is(.desk-lead__title, .desk-row__title) a:hover {
  color: var(--desk-accent) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
body[data-page="news"] .dashboard-content :is(.desk-lead__title, .desk-row__title) a:focus-visible {
  outline: 2px solid var(--ma-action, #276ef1);
  outline-offset: 2px;
}
body[data-page="news"] .dashboard-content .desk-row.is-selected { background: var(--ma-action-soft, rgba(39, 110, 241, 0.08)) !important; }

/* Meta line: source in small capitals, neutral tier tag */
body[data-page="news"] .dashboard-content .desk-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  min-width: 0;
  font-size: 0.75rem;
  line-height: 1.3;
  color: var(--desk-faint);
}
body[data-page="news"] .dashboard-content .desk-source {
  color: var(--desk-ink);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.6875rem;
}
body[data-page="news"] .dashboard-content .desk-tier {
  padding: 1px 6px;
  border-radius: 5px;
  background: var(--ma-surface-soft, #f1f4f3);
  color: var(--desk-muted);
  font-size: 0.6875rem;
  font-weight: 500;
}
body[data-page="news"] .dashboard-content .desk-author::before { content: "by "; }
body[data-page="news"] .dashboard-content .desk-meta .art-group-tag {
  padding: 1px 6px !important;
  border-radius: 5px !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.02em !important;
}
body[data-page="news"] .dashboard-content .desk-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; }
body[data-page="news"] .dashboard-content .desk-row .desk-chips { margin-top: 8px; }
body[data-page="news"] .dashboard-content .desk-chip {
  padding: 2px 7px;
  border-radius: 5px;
  background: var(--ma-action-soft, rgba(39, 110, 241, 0.1));
  color: var(--desk-accent);
  font-size: 0.71875rem;
  font-weight: 500;
}
body[data-page="news"] .dashboard-content .desk-chip--group { background: var(--ma-surface-soft, #f1f4f3); color: var(--desk-muted); }

/* Quiet actions: present on hover or keyboard focus, always reachable on touch */
body[data-page="news"] .dashboard-content .desk-actions { display: flex; gap: 2px; align-self: start; padding-top: 14px; }
body[data-page="news"] .dashboard-content .desk-lead__foot .desk-actions { padding-top: 0; }
body[data-page="news"] .dashboard-content .desk-icon-btn {
  display: inline-grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--desk-faint) !important;
  cursor: pointer;
  transition: background-color 160ms var(--desk-ease), color 160ms var(--desk-ease), transform 120ms var(--desk-ease) !important;
}
body[data-page="news"] .dashboard-content .desk-icon-btn:hover { background: var(--ma-surface-soft, #f1f4f3) !important; color: var(--desk-ink) !important; }
body[data-page="news"] .dashboard-content .desk-icon-btn:active { transform: scale(0.94) !important; }
body[data-page="news"] .dashboard-content .desk-icon-btn:focus-visible { outline: 2px solid var(--ma-action, #276ef1); outline-offset: 1px; }
@media (hover: hover) and (pointer: fine) {
  body[data-page="news"] .dashboard-content .desk-row:hover { background: var(--ma-surface, #f7f9f8) !important; }
  body[data-page="news"] .dashboard-content .desk-row .desk-actions { opacity: 0; transition: opacity 160ms var(--desk-ease); }
  body[data-page="news"] .dashboard-content .desk-row:is(:hover, :focus-within) .desk-actions { opacity: 1; }
}

body[data-page="news"] .dashboard-content .news-feed-pager {
  display: flex !important;
  justify-content: center !important;
  padding: 22px 0 12px !important;
  border: 0 !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .np-footer {
  padding: 12px 24px 16px !important;
  border-top: 1px solid var(--desk-line) !important;
  background: none !important;
  color: var(--desk-faint) !important;
  font-size: 0.75rem !important;
}

/* European Parliament desk: a short lede and lanes of rows */
body[data-page="news"] .dashboard-content .ep-desk-hero {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px 24px !important;
  margin: 0 !important;
  padding: 0 24px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--desk-line) !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body[data-page="news"] .dashboard-content .ep-desk-lede {
  margin: 0 !important;
  max-width: 70ch !important;
  color: var(--desk-muted) !important;
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
}
body[data-page="news"] .dashboard-content .ep-desk-stat-strip {
  display: flex !important;
  gap: 16px !important;
  min-width: 0 !important;
}
body[data-page="news"] .dashboard-content .ep-desk-stat-strip span {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.8125rem !important;
}
body[data-page="news"] .dashboard-content .ep-desk-stat-strip strong {
  display: inline !important;
  margin-right: 3px !important;
  color: var(--desk-ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
}
body[data-page="news"] .dashboard-content .ep-desk-columns { gap: 0 !important; padding: 0 12px !important; }
body[data-page="news"] .dashboard-content .ep-desk-column {
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 12px !important;
}
body[data-page="news"] .dashboard-content .ep-desk-column + .ep-desk-column { border-left: 1px solid var(--desk-line) !important; }
body[data-page="news"] .dashboard-content .ep-desk-column header {
  padding: 18px 0 10px !important;
  border: 0 !important;
  background: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
body[data-page="news"] .dashboard-content .ep-desk-column header b {
  padding: 0 !important;
  min-width: 0 !important;
  background: none !important;
  color: var(--desk-faint) !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
}
body[data-page="news"] .dashboard-content .ep-desk-column-scroll {
  gap: 0 !important;
  padding: 0 !important;
  max-height: 640px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(81, 101, 93, 0.25) transparent;
}
body[data-page="news"] .dashboard-content .ep-desk-column .desk-row { grid-template-columns: 52px minmax(0, 1fr); margin: 0; padding: 12px 4px; }
body[data-page="news"] .dashboard-content .ep-desk-column .desk-row + .desk-row::before { left: 4px; right: 4px; }
body[data-page="news"] .dashboard-content .ep-desk-column--briefing .ep-briefing-card {
  border-radius: 10px !important;
  border: 0 !important;
  background: var(--ma-surface, #f7f9f8) !important;
  box-shadow: none !important;
}

/* Phone */
@media (max-width: 760px) {
  body[data-page="news"] .dashboard-content .np-header { padding: 16px 16px 10px !important; }
  body[data-page="news"] .dashboard-content .stat-bar { flex-wrap: wrap !important; row-gap: 10px !important; padding: 0 16px 12px !important; }
  body[data-page="news"] .dashboard-content .news-filter-input { min-width: 0 !important; width: 100% !important; }
  body[data-page="news"] .dashboard-content .ep-panel-actions-row { flex: 1 1 100% !important; }
  body[data-page="news"] .dashboard-content .feed-category-filter { margin: 12px 16px 0 !important; }
  body[data-page="news"] .dashboard-content #feedBody,
  body[data-page="news"] .dashboard-content #searchBody { padding: 0 16px 8px !important; }
  body[data-page="news"] .dashboard-content .desk-front { grid-template-columns: 1fr; padding: 14px 0 18px; }
  body[data-page="news"] .dashboard-content .desk-front__side { padding: 0; margin-top: 18px; padding-top: 18px; border-left: 0; border-top: 1px solid var(--desk-line); }
  body[data-page="news"] .dashboard-content .desk-lead--primary .desk-lead__title { font-size: 1.5rem !important; }
  body[data-page="news"] .dashboard-content .desk-row { grid-template-columns: minmax(0, 1fr) auto; margin: 0; padding: 14px 0; }
  body[data-page="news"] .dashboard-content .desk-row + .desk-row::before { left: 0; right: 0; }
  body[data-page="news"] .dashboard-content .desk-row__time { grid-column: 1; grid-row: 1; padding-top: 0; font-size: 0.6875rem; }
  body[data-page="news"] .dashboard-content .desk-row__main { grid-column: 1; }
  body[data-page="news"] .dashboard-content .desk-row .desk-actions { grid-column: 2; grid-row: 1 / span 2; padding-top: 0; }
  body[data-page="news"] .dashboard-content .ep-desk-hero { padding: 0 16px 14px !important; }
  body[data-page="news"] .dashboard-content .ep-desk-columns { grid-template-columns: 1fr !important; padding: 0 4px !important; }
  body[data-page="news"] .dashboard-content .ep-desk-column + .ep-desk-column { border-left: 0 !important; border-top: 1px solid var(--desk-line) !important; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="news"] .dashboard-content :is(.desk-front, .desk-row, .desk-icon-btn, .feed-category-chip) { transition: none !important; }
}

/* News desk · second pass */
body[data-page="news"] .dashboard-content .stat-item[hidden],
body[data-page="news"] .dashboard-content .np-drag-handle,
body[data-page="news"] .dashboard-content .np-panel-size-btn { display: none !important; }
body[data-page="news"] .dashboard-content .np-header { padding-bottom: 8px !important; }
body[data-page="news"] .dashboard-content .desk-day__label { position: static; background: none !important; }

/* Panels grow with their content; the page scrolls, not a box inside it */
body[data-page="news"] .dashboard-content :is(#feedBody, #searchBody, #epDeskBody) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body[data-page="news"] .dashboard-content .news-feed-pager { position: static !important; box-shadow: none !important; }

/* Parliament desk controls: search, then underline tabs, then quiet topic chips */
body[data-page="news"] .dashboard-content .ep-desk-controls {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 24px 6px !important;
  border: 0 !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .ep-desk-search { flex: 1 1 320px !important; max-width: 460px !important; }
body[data-page="news"] .dashboard-content .ep-desk-select { min-height: 38px !important; border-radius: 8px !important; }
body[data-page="news"] .dashboard-content .ep-desk-group-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px 18px !important;
  margin: 8px 24px 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--desk-line) !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .ep-desk-tab {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  min-height: 0 !important;
  margin-bottom: -1px !important;
  padding: 10px 0 9px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  transform: none !important;
  transition: color 160ms var(--desk-ease), border-color 160ms var(--desk-ease) !important;
}
body[data-page="news"] .dashboard-content .ep-desk-tab small {
  padding: 0 !important;
  background: none !important;
  color: var(--desk-faint) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums !important;
}
body[data-page="news"] .dashboard-content .ep-desk-tab:hover { color: var(--desk-ink) !important; background: none !important; }
body[data-page="news"] .dashboard-content .ep-desk-tab.active {
  color: var(--desk-ink) !important;
  border-bottom-color: var(--ma-action, #276ef1) !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .ep-desk-tab.active small { color: var(--desk-accent) !important; background: none !important; }
body[data-page="news"] .dashboard-content .ep-desk-topic-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 14px 24px 0 !important;
  border: 0 !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .ep-topic-chips-label {
  margin-right: 4px !important;
  color: var(--desk-faint) !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body[data-page="news"] .dashboard-content .ep-topic-chip {
  min-height: 28px !important;
  padding: 0 11px !important;
  border: 1px solid var(--desk-line) !important;
  border-radius: 999px !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  transform: none !important;
  transition: background-color 160ms var(--desk-ease), color 160ms var(--desk-ease), border-color 160ms var(--desk-ease) !important;
}
body[data-page="news"] .dashboard-content .ep-topic-chip:hover { color: var(--desk-ink) !important; border-color: var(--ma-page-line-strong, rgba(81,101,93,.25)) !important; background: none !important; }
body[data-page="news"] .dashboard-content .ep-topic-chip.active {
  color: var(--desk-accent) !important;
  background: var(--ma-action-soft, rgba(39, 110, 241, 0.1)) !important;
  border-color: transparent !important;
}
body[data-page="news"] .dashboard-content .ep-panel-meta-row {
  padding: 12px 24px 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--desk-faint) !important;
  font-size: 0.75rem !important;
}
body[data-page="news"] .dashboard-content .ep-briefing-signal { font-style: normal !important; }
body[data-page="news"] .dashboard-content .ep-briefing-watch {
  margin-right: 6px;
  padding: 1px 6px;
  border-radius: 5px;
  background: var(--ma-caution-soft, rgba(217, 154, 34, 0.14));
  color: var(--ma-caution, #9a6a12);
  font-size: 0.6875rem;
  font-weight: 600;
}

/* Search console */
body[data-page="news"] .dashboard-content .np-subheader {
  padding: 0 24px 4px !important;
  border: 0 !important;
  background: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.8125rem !important;
}
body[data-page="news"] .dashboard-content .np-toolbar {
  gap: 10px !important;
  padding: 12px 24px 16px !important;
  border-bottom: 1px solid var(--desk-line) !important;
  background: none !important;
}
body[data-page="news"] .dashboard-content .np-toolbar .ep-panel-label-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  white-space: nowrap !important;
  color: var(--desk-muted) !important;
  font-size: 0.8125rem !important;
}
body[data-page="news"] .dashboard-content .np-toolbar input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  margin: 0 !important;
  accent-color: var(--ma-action, #276ef1);
}
body[data-page="news"] .dashboard-content .search-result-head {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--desk-muted) !important;
  font-size: 0.8125rem !important;
}
@media (max-width: 760px) {
  body[data-page="news"] .dashboard-content .ep-desk-controls { flex-wrap: wrap !important; padding: 14px 16px 4px !important; }
  body[data-page="news"] .dashboard-content .ep-desk-search { max-width: none !important; }
  body[data-page="news"] .dashboard-content .ep-desk-group-tabs { margin: 6px 16px 0 !important; flex-wrap: nowrap !important; overflow-x: auto !important; scrollbar-width: none; }
  body[data-page="news"] .dashboard-content .ep-desk-tab { white-space: nowrap !important; }
  body[data-page="news"] .dashboard-content .ep-desk-topic-chips { padding: 12px 16px 0 !important; flex-wrap: nowrap !important; overflow-x: auto !important; scrollbar-width: none; }
  body[data-page="news"] .dashboard-content .ep-panel-meta-row { padding: 10px 16px 0 !important; }
  body[data-page="news"] .dashboard-content .np-toolbar { flex-wrap: wrap !important; padding: 12px 16px 14px !important; }
  body[data-page="news"] .dashboard-content .np-subheader { padding: 0 16px 4px !important; }
}
body[data-page="news"] .dashboard-content .ep-desk-select { flex: 0 0 auto !important; width: auto !important; min-width: 150px !important; }
body[data-page="news"] .dashboard-content .np-title { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
@media (max-width: 760px) {
  body[data-page="news"] .dashboard-content :is(.news-card-grid, .news-panel-section, .news-workspace) {
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }
  body[data-page="news"] .dashboard-content .ep-desk-column .desk-row { grid-template-columns: minmax(0, 1fr) !important; padding: 12px 0 !important; }
  body[data-page="news"] .dashboard-content .ep-desk-column { padding: 0 12px !important; }
  body[data-page="news"] .dashboard-content .ep-desk-select { flex: 1 1 auto !important; }
}
@media (max-width: 760px) {
  body[data-page="news"] .dashboard-content .search-result-tip { display: none !important; }
}
body[data-page="news"] .dashboard-content :is(.news-filter-input, .ns-input, #searchInput)::placeholder { color: var(--desk-muted) !important; opacity: 1 !important; }

/* News desk · linked MEPs, groups and files */
body[data-page="news"] .dashboard-content a.desk-chip { text-decoration: none !important; transition: background-color 160ms var(--desk-ease), color 160ms var(--desk-ease); }
body[data-page="news"] .dashboard-content a.desk-chip:hover { background: var(--ma-action, #276ef1) !important; color: #fff !important; }
body[data-page="news"] .dashboard-content a.desk-chip:focus-visible { outline: 2px solid var(--ma-action, #276ef1); outline-offset: 1px; }
body[data-page="news"] .dashboard-content .desk-chip--dossier { background: var(--ma-surface-soft, #f1f4f3); color: var(--desk-ink); }
body[data-page="news"] .dashboard-content .desk-chip__kind {
  margin-right: 5px;
  color: var(--desk-faint);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
body[data-page="news"] .dashboard-content a.desk-chip:hover .desk-chip__kind { color: rgba(255, 255, 255, 0.8); }

/* ══ Parliament Members · Activity and footprint ═════════════════════════════════════════
   Contact, speech topics and declared meetings read as one calm band: a real section heading,
   three quiet panels, ranked bars in one accent instead of multi-colour doughnuts, and no cards
   inside cards. */
body[data-page="parliament-members"] {
  --pm-act-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --pm-act-line: var(--ma-page-line, rgba(81, 101, 93, 0.13));
}
body[data-page="parliament-members"] .dashboard-content .pm-activity-title {
  display: block !important;
  margin: 28px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--font-display) !important;
  font-size: 1.1875rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  text-transform: none !important;
  color: var(--ma-page-ink) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-activity-title::before,
body[data-page="parliament-members"] .dashboard-content .pm-activity-title::after { content: none !important; display: none !important; }

body[data-page="parliament-members"] .dashboard-content .pm-profile-top-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
  gap: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  align-items: start !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-side-stack {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}
body[data-page="parliament-members"] .dashboard-content :is(.pm-profile-top-grid .pm-profile-contact-card, .pm-profile-side-stack .pm-profile-votemix-card) {
  display: block !important;
  padding: 20px 22px 18px !important;
  border: 1px solid var(--pm-act-line) !important;
  border-radius: 12px !important;
  background: var(--ma-surface-raised, #fff) !important;
  box-shadow: var(--ma-shadow-quiet) !important;
  transform: none !important;
}
body[data-page="parliament-members"] .dashboard-content :is(.pm-profile-contact-card, .pm-profile-side-stack .pm-profile-votemix-card) h3 {
  margin: 0 !important;
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--ma-page-ink) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-side-stack .pm-profile-votemix-head { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body[data-page="parliament-members"] .dashboard-content .pm-activity-caption {
  margin: 4px 0 14px !important;
  max-width: 60ch !important;
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  color: var(--ma-page-muted) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-side-stack .pm-profile-votemix-body {
  display: block !important;
  padding: 0 !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-side-stack .pm-profile-votemix-legend {
  display: block !important;
  width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* Ranked bars: label, count, share; bar below, on a track that stands for the total */
body[data-page="parliament-members"] .pm-rank { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
body[data-page="parliament-members"] .pm-rank__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 3.2em;
  align-items: baseline;
  column-gap: 10px;
  row-gap: 5px;
  font-size: 0.8125rem;
  line-height: 1.3;
}
body[data-page="parliament-members"] .pm-rank__label { color: var(--ma-page-ink); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-page="parliament-members"] .pm-rank__num { color: var(--ma-page-ink); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
body[data-page="parliament-members"] .pm-rank__pct { color: var(--ma-page-faint, #71817b); font-variant-numeric: tabular-nums; text-align: right; }
/* Track = 100% of the total; the bar is the share shown in the % column. */
body[data-page="parliament-members"] .pm-rank__track {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  border-radius: 3px;
  background: rgba(86, 104, 97, 0.12);
  overflow: hidden;
}
body[data-page="parliament-members"] .pm-rank__bar {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: var(--ma-action, #276ef1);
  opacity: 0.85;
  transform-origin: left center;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-page="parliament-members"] .pm-rank__bar {
    transition: transform 220ms var(--pm-act-ease);
    @starting-style { transform: scaleX(0.04); }
  }
}
body[data-page="parliament-members"] .pm-rank__row.is-other .pm-rank__label { color: var(--ma-page-muted); font-weight: 400; }
body[data-page="parliament-members"] .pm-rank__row.is-other .pm-rank__bar { background: rgba(86, 104, 97, 0.32); opacity: 1; }

/* Latest meetings */
body[data-page="parliament-members"] .dashboard-content .pm-profile-side-stack .pm-profile-meeting-preview {
  margin-top: 18px !important;
  padding: 14px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pm-act-line) !important;
  background: none !important;
}
body[data-page="parliament-members"] .pm-activity-subhead {
  margin: 0 0 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ma-page-ink);
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid !important; gap: 0 !important; }
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-row {
  display: grid !important;
  grid-template-columns: 4.6em minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 9px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-row + .pm-profile-meeting-row { border-top: 1px solid var(--pm-act-line) !important; }
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-date {
  padding-top: 1px;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;
  color: var(--ma-page-faint, #71817b) !important;
  white-space: nowrap;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-subject {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--ma-page-ink) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-org {
  margin-top: 2px !important;
  font-size: 0.75rem !important;
  line-height: 1.35 !important;
  color: var(--ma-page-muted) !important;
}

/* Contact */
body[data-page="parliament-members"] .dashboard-content .pm-contact-who { margin: 14px 0 16px; }
body[data-page="parliament-members"] .dashboard-content .pm-profile-contact-name {
  margin: 0 !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--ma-page-ink) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-profile-contact-meta {
  margin-top: 2px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 0.8125rem !important;
  color: var(--ma-page-muted) !important;
}
body[data-page="parliament-members"] .pm-contact-list { margin: 0; display: grid; gap: 0; }
body[data-page="parliament-members"] .pm-contact-item {
  display: grid;
  grid-template-columns: 4.6em minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 10px 0;
  border-top: 1px solid var(--pm-act-line);
}
body[data-page="parliament-members"] .pm-contact-item dt { font-size: 0.75rem; font-weight: 500; color: var(--ma-page-faint, #71817b); }
body[data-page="parliament-members"] .pm-contact-item dd { margin: 0; min-width: 0; font-size: 0.875rem; color: var(--ma-page-ink); }
body[data-page="parliament-members"] .pm-contact-email {
  color: var(--ma-page-ink);
  text-decoration: none;
  overflow-wrap: anywhere;
}
body[data-page="parliament-members"] :is(.pm-contact-email, .pm-contact-link, .pm-contact-phones a):hover { color: var(--ma-action-strong, #1859cc); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body[data-page="parliament-members"] .dashboard-content .pm-contact-item .pm-profile-copy-btn {
  margin-left: 8px !important;
  padding: 2px 8px !important;
  min-height: 0 !important;
  border: 1px solid var(--pm-act-line) !important;
  border-radius: 6px !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  color: var(--ma-page-muted) !important;
  transition: color 160ms var(--pm-act-ease), border-color 160ms var(--pm-act-ease), transform 120ms var(--pm-act-ease) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-contact-item .pm-profile-copy-btn:hover { color: var(--ma-page-ink) !important; border-color: var(--ma-page-line-strong, rgba(81,101,93,.25)) !important; }
body[data-page="parliament-members"] .dashboard-content .pm-contact-item .pm-profile-copy-btn:active { transform: scale(0.97) !important; }
body[data-page="parliament-members"] .pm-contact-phones { display: grid; gap: 3px; }
body[data-page="parliament-members"] .pm-contact-phones a { color: var(--ma-page-ink); text-decoration: none; font-variant-numeric: tabular-nums; }
body[data-page="parliament-members"] .pm-contact-city { display: inline-block; min-width: 5.6em; color: var(--ma-page-muted); font-size: 0.8125rem; }
body[data-page="parliament-members"] .pm-contact-online { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
body[data-page="parliament-members"] .pm-contact-link { color: var(--ma-action-strong, #1859cc); text-decoration: none; font-weight: 500; }
body[data-page="parliament-members"] .dashboard-content .pm-contact-online .pm-profile-social-row { display: inline-flex !important; gap: 2px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body[data-page="parliament-members"] .dashboard-content .pm-contact-online .pm-profile-social-btn {
  display: inline-grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--ma-page-muted) !important;
  transition: background-color 160ms var(--pm-act-ease), color 160ms var(--pm-act-ease) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-contact-online .pm-profile-social-btn:hover { background: var(--ma-surface-soft, #f1f4f3) !important; color: var(--ma-page-ink) !important; }
body[data-page="parliament-members"] .dashboard-content .pm-contact-online .pm-profile-social-btn svg { width: 16px !important; height: 16px !important; }
body[data-page="parliament-members"] .dashboard-content .pm-social-feed-wrap { margin: 2px 0 0 calc(4.6em + 10px) !important; }
body[data-page="parliament-members"] .dashboard-content .pm-social-feed-toggle {
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: var(--ma-action-strong, #1859cc) !important;
}
body[data-page="parliament-members"] .dashboard-content .pm-social-feed-toggle:hover { text-decoration: underline; text-underline-offset: 3px; }
body[data-page="parliament-members"] .pm-contact-offices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--pm-act-line);
}
body[data-page="parliament-members"] .pm-contact-office h4 { margin: 0 0 4px; font-size: 0.8125rem; font-weight: 600; color: var(--ma-page-ink); }
body[data-page="parliament-members"] .pm-contact-office address { font-style: normal; font-size: 0.78125rem; line-height: 1.5; color: var(--ma-page-muted); }
body[data-page="parliament-members"] .dashboard-content .pm-profile-contact-quality {
  margin-top: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 0.75rem !important;
  color: var(--ma-page-faint, #71817b) !important;
}
body[data-page="parliament-members"] .dashboard-content :is(.pm-contact-link, .pm-contact-email, .pm-contact-phones a, .pm-profile-social-btn, .pm-profile-copy-btn, .pm-social-feed-toggle):focus-visible {
  outline: 2px solid var(--ma-action, #276ef1) !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

@media (max-width: 1280px) {
  body[data-page="parliament-members"] .dashboard-content .pm-profile-top-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
  body[data-page="parliament-members"] .dashboard-content .pm-profile-side-stack { grid-template-columns: 1fr !important; }
  body[data-page="parliament-members"] .dashboard-content :is(.pm-profile-top-grid .pm-profile-contact-card, .pm-profile-side-stack .pm-profile-votemix-card) { padding: 16px !important; }
  body[data-page="parliament-members"] .pm-contact-offices { grid-template-columns: 1fr; }
  body[data-page="parliament-members"] .dashboard-content .pm-social-feed-wrap { margin-left: 0 !important; }
}
/* Activity and footprint · second pass */
body[data-page="parliament-members"] .dashboard-content .pm-profile-top-grid {
  grid-template-columns: minmax(360px, 1fr) minmax(0, 1.9fr) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body[data-page="parliament-members"] .dashboard-content :is(.pm-profile-top-grid .pm-profile-contact-card, .pm-profile-side-stack .pm-profile-votemix-card) { align-self: start !important; height: auto !important; min-height: 0 !important; }
body[data-page="parliament-members"] .pm-contact-item dd :is(a, span, button) { font-size: inherit; line-height: 1.45; }
body[data-page="parliament-members"] .pm-contact-email { white-space: nowrap; overflow-wrap: normal; }
body[data-page="parliament-members"] .dashboard-content .pm-social-feed-toggle { display: inline-block !important; text-align: left !important; width: auto !important; }
body[data-page="parliament-members"] .pm-contact-offices { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
@media (max-width: 1280px) {
  body[data-page="parliament-members"] .dashboard-content .pm-profile-top-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
  body[data-page="parliament-members"] .pm-contact-email { white-space: normal; overflow-wrap: anywhere; }
}
body[data-page="parliament-members"] .dashboard-content .pm-contact-item dd,
body[data-page="parliament-members"] .dashboard-content .pm-contact-item dd :is(a, span) { font-size: 0.875rem !important; }
body[data-page="parliament-members"] .dashboard-content .pm-contact-item dd .pm-contact-city { font-size: 0.8125rem !important; }
body[data-page="parliament-members"] .pm-contact-email { white-space: normal; overflow-wrap: normal; }

/* ── MEP profile, Activity and footprint: the contact card (photo, name, how to reach them)
   leads, then what they talk about and who they meet. The side stack is flattened so all
   three cards share one grid. ── */
body[data-page="parliament-members"] .pm-profile-top-grid:not([hidden]) {
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-areas: "contact speeches meetings" !important;
  align-items: start !important;
  gap: 14px !important;
}
body[data-page="parliament-members"] .pm-profile-top-grid .pm-profile-side-stack { display: contents !important; }
body[data-page="parliament-members"] .pm-profile-top-grid .pm-profile-side-stack > :nth-child(1) { grid-area: speeches; }
body[data-page="parliament-members"] .pm-profile-top-grid .pm-profile-side-stack > :nth-child(2) { grid-area: meetings; }
body[data-page="parliament-members"] .pm-profile-top-grid #pmProfileContactCard { grid-area: contact; }
@media (max-width: 1499px) {
  body[data-page="parliament-members"] .pm-profile-top-grid:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas: "contact contact" "speeches meetings" !important;
  }
}
@media (max-width: 899px) {
  body[data-page="parliament-members"] .pm-profile-top-grid:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "contact" "speeches" "meetings" !important;
  }
}

/* Business-card header: official EP photo (initials when there is none), name, affiliation. */
body[data-page="parliament-members"] .dashboard-content .pm-contact-who {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 14px 0 16px;
}
body[data-page="parliament-members"] .pm-contact-photo .pm-avatar {
  border-radius: 16px !important;
  box-shadow: 0 0 0 1px var(--ma-page-line, rgba(83, 103, 94, 0.18)), 0 10px 24px -14px rgba(20, 60, 100, 0.45) !important;
}
body[data-page="parliament-members"] .pm-contact-photo .pm-avatar img { object-position: 50% 18%; }
body[data-page="parliament-members"] .pm-contact-who-text { min-width: 0; }

/* Office addresses fold away: two long postal blocks were half the card. */
body[data-page="parliament-members"] .pm-contact-offices-fold { margin-top: 12px; border-top: 1px solid var(--pm-act-line, #e3e9e6); padding-top: 10px; }
body[data-page="parliament-members"] .pm-contact-offices-fold > summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ma-page-ink);
  list-style-position: inside;
}
body[data-page="parliament-members"] .pm-contact-offices-fold > summary span { margin-left: 6px; font-weight: 400; color: var(--ma-page-muted); }
body[data-page="parliament-members"] .pm-contact-offices-fold > summary:focus-visible { outline: 2px solid var(--ma-action, #276ef1); outline-offset: 2px; border-radius: 4px; }
body[data-page="parliament-members"] .pm-contact-offices-fold[open] .pm-contact-offices { margin-top: 10px; }

/* Meetings: the organiser links to the declaration; dates are "30 Sep 2026" wide. */
body[data-page="parliament-members"] .dashboard-content .pm-profile-meeting-row { grid-template-columns: 6.2em minmax(0, 1fr) !important; }
body[data-page="parliament-members"] .dashboard-content .pm-social-feed-wrap { margin: 2px 0 0 calc(4.6em + 10px) !important; }
body[data-page="parliament-members"] .pm-profile-meeting-link { color: inherit; text-decoration: none; }
body[data-page="parliament-members"] .pm-profile-meeting-link:hover { color: var(--ma-action-strong, #1859cc); text-decoration: underline; text-underline-offset: 3px; }
body[data-page="parliament-members"] .pm-profile-meeting-preview:empty { display: none !important; }

/* Contact spanning the full row (900-1499px): Email | Phone | Online side by side. */
@media (min-width: 900px) and (max-width: 1499px) {
  body[data-page="parliament-members"] .pm-profile-top-grid #pmProfileContactCard .pm-contact-list {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 28px;
    border-top: 1px solid var(--pm-act-line, #e3e9e6);
  }
  body[data-page="parliament-members"] .pm-profile-top-grid #pmProfileContactCard .pm-contact-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    border-top: 0;
  }
  body[data-page="parliament-members"] .pm-profile-top-grid #pmProfileContactCard .pm-contact-email { overflow-wrap: anywhere; }
}

/* The X handle link now sits inside the Online row, under the icons. */
body[data-page="parliament-members"] .dashboard-content .pm-contact-online .pm-social-feed-wrap { flex-basis: 100%; margin: 6px 0 0 !important; }
