:root,
:root[data-theme="trm-classic"] {
  --color-bg: #f4f7fb;
  --color-panel: #ffffff;
  --color-text: #102027;
  --color-muted: #65727d;
  --color-border: #dce6ee;
  --color-sidebar: #071d2b;
  --color-sidebar-border: rgba(255, 255, 255, 0.08);
  --color-sidebar-text: #e9f4f8;
  --color-sidebar-muted: #8da3b3;
  --color-sidebar-hover: rgba(255, 255, 255, 0.08);
  --color-sidebar-active: #0e7667;
  --color-sidebar-active-text: #ffffff;
  --color-primary: #16a083;
  --color-primary-hover: #0f806d;
  --color-primary-soft: #e8f7f3;
  --color-primary-line: #a8ded1;
  --color-blue: #2d70d6;
  --color-warning: #d89018;
  --color-danger: #c94f4f;
  --color-danger-bg: #fff0ed;
  --color-danger-line: #e7aaa0;
  --color-control-bg: #ffffff;
  --shadow-panel: 0 12px 32px rgba(15, 36, 44, 0.06);
  --radius-panel: 10px;
  --radius-control: 6px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;

  /* Legacy aliases used by existing pages. */
  --bg: var(--color-bg);
  --panel: var(--color-panel);
  --ink: var(--color-text);
  --muted: var(--color-muted);
  --line: var(--color-border);
  --accent: var(--color-primary);
  --accent-soft: var(--color-primary-soft);
  --accent-2: #b87333;
  --danger-bg: var(--color-danger-bg);
  --danger-line: var(--color-danger-line);
  --danger-text: #8a2c1f;
}

:root[data-theme="trm-light"] {
  --color-bg: #f7f9fb;
  --color-sidebar: #ffffff;
  --color-sidebar-border: #dce6ee;
  --color-sidebar-text: #102027;
  --color-sidebar-muted: #64727d;
  --color-sidebar-active: #e8f7f3;
  --color-sidebar-active-text: #0c6f60;
  --color-sidebar-hover: #f2f7f5;
}

:root[data-theme="trm-terminal"] {
  --color-bg: #eef3f7;
  --color-sidebar: #041826;
  --color-sidebar-text: #edf8fb;
  --color-sidebar-muted: #91a7b4;
  --color-primary: #0d8f78;
  --color-primary-hover: #08745f;
}

:root[data-theme="trm-dark"] {
  --color-bg: #09131c;
  --color-panel: #111f2b;
  --color-text: #e8f0f4;
  --color-muted: #9badb8;
  --color-border: #203442;
  --color-sidebar: #06111a;
  --color-sidebar-text: #e8f0f4;
  --color-sidebar-muted: #8ba0ad;
  --color-sidebar-hover: rgba(255, 255, 255, 0.07);
  --color-sidebar-active: #123c37;
  --color-sidebar-active-text: #dff8f2;
  --color-control-bg: #0e1b26;
  --shadow-panel: 0 14px 36px rgba(0, 0, 0, 0.28);
}


* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  min-height: 36px;
  border: 1px solid var(--color-primary-hover);
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  padding: 0 14px;
  cursor: pointer;
  white-space: nowrap;
}

button:hover {
  background: var(--color-primary-hover);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

button.button-ghost,
button.button-soft,
a.button-ghost {
  background: var(--color-control-bg);
  color: var(--color-primary-hover);
  border-color: var(--color-primary-line);
}

button.button-ghost:hover,
button.button-soft:hover,
a.button-ghost:hover {
  background: #edf7f3;
  border-color: #8ebdae;
}

a.button-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--color-primary-line);
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
}

button.button-soft {
  min-height: 30px;
  padding: 0 10px;
  font-size: 13px;
}

.ui-page-header,
.ui-panel-head,
.ui-page-actions,
.ui-panel-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.ui-page-header h1 {
  margin: 0 0 6px;
  font-size: 28px;
  line-height: 1.15;
}

.ui-page-header p {
  margin: 0;
  color: var(--muted);
}

.ui-page-actions,
.ui-panel-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.ui-filter-bar {
  display: grid;
  gap: 10px;
  align-items: center;
}

.ui-top-toolbar,
.ui-action-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ui-top-toolbar {
  justify-content: space-between;
}

.ui-toolbar-main,
.ui-toolbar-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.ui-toolbar-actions {
  justify-content: flex-end;
}

.ui-action-toolbar.start {
  justify-content: flex-start;
}

.ui-action-toolbar.center {
  justify-content: center;
}

.ui-action-toolbar.end {
  justify-content: flex-end;
}

.ui-panel {
  min-width: 0;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}

.ui-panel-head {
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
}

.ui-panel-head h3 {
  margin: 0;
  font-size: 16px;
}

.ui-panel-head span {
  color: var(--muted);
  font-size: 12px;
}

.ui-chart-panel-body,
.ui-side-summary-body {
  min-width: 0;
}

.ui-side-summary-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.ui-side-summary-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.ui-metric-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
}

.ui-metric-card span,
.ui-metric-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.ui-metric-card strong {
  display: block;
  margin: 3px 0;
  font-size: 23px;
  line-height: 1.1;
}

.ui-metric-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-weight: 800;
  flex: 0 0 42px;
}

.ui-metric-card.info .ui-metric-icon {
  background: #eaf2ff;
  color: var(--color-blue);
}

.ui-metric-card.warning .ui-metric-icon,
.ui-metric-card.danger .ui-metric-icon {
  background: #fff4df;
  color: var(--color-warning);
}

.ui-metric-card.danger .ui-metric-icon {
  background: var(--danger-bg);
  color: var(--color-danger);
}

.ui-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid var(--color-primary-line);
  background: var(--color-primary-soft);
  color: #087d69;
  font-size: 12px;
  line-height: 1.3;
  white-space: nowrap;
}

.ui-status-badge,
.ui-score-badge {
  font-weight: 700;
}

.ui-badge.blue,
.ui-badge.info {
  border-color: #c7dcff;
  background: #eef5ff;
  color: #235fb8;
}

.ui-badge.good {
  border-color: var(--color-primary-line);
  background: var(--color-primary-soft);
  color: #087d69;
}

.ui-badge.warning {
  border-color: #f4d28d;
  background: #fff8e8;
  color: #9b6500;
}

.ui-badge.danger,
.ui-badge.risk {
  border-color: #f0b6ae;
  background: var(--danger-bg);
  color: #9d3328;
}

.ui-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.ui-score-line {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) 38px;
  gap: 8px;
  align-items: center;
}

.ui-score-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9f0ef;
}

.ui-score-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--color-primary);
}

.ui-score-fill.warning {
  background: var(--color-warning);
}

.ui-score-fill.danger,
.ui-score-fill.risk {
  background: var(--color-danger);
}

.ui-score-line strong {
  text-align: right;
}

.ui-empty-state {
  display: grid;
  gap: 14px;
  padding: 34px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}

.ui-empty-state h2 {
  margin: 0;
}

.ui-empty-state p {
  margin: 0;
  color: var(--muted);
}

.ui-empty-actions {
  min-width: 0;
}

input,
select {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--color-control-bg);
  color: var(--ink);
  padding: 0 10px;
  min-width: 0;
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 232px 1fr;
}

.sidebar {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--color-sidebar-border);
  background: var(--color-sidebar);
  color: var(--color-sidebar-text);
  padding: 22px 16px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.brand {
  display: grid;
  gap: 2px;
  margin-bottom: 26px;
}

.brand-mark {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0;
}

.brand small {
  color: var(--color-sidebar-muted);
}

nav {
  display: grid;
  gap: 6px;
}

nav a,
.nav-group-title {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  color: var(--color-sidebar-text);
  border-radius: 6px;
  padding: 10px 12px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 650;
}

.nav-group-title {
  border: 0;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}

nav a.active,
nav a:hover,
.nav-group-title:hover {
  background: var(--color-sidebar-hover);
  color: var(--color-sidebar-active-text);
}

.nav-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  color: var(--color-sidebar-muted);
}

nav a.active .nav-icon,
nav a:hover .nav-icon,
.nav-group-title:hover .nav-icon,
.nav-group.active .nav-icon {
  color: var(--color-sidebar-active-text);
}

.nav-group {
  display: grid;
  gap: 4px;
}

.nav-group-title {
  color: var(--color-sidebar-text);
  background: transparent;
}

.nav-group.active .nav-group-title {
  color: var(--color-sidebar-active-text);
  background: var(--color-sidebar-hover);
}

.nav-chevron {
  margin-left: auto;
  color: var(--color-sidebar-muted);
  font-size: 18px;
  line-height: 1;
}

.nav-children {
  display: grid;
  gap: 3px;
  padding-left: 10px;
}

.nav-group.collapsed .nav-children {
  display: none;
}

.nav-children a {
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 500;
}

.content {
  min-width: 0;
  padding: 28px;
}

.theme-switcher {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--color-sidebar-muted);
  font-size: 12px;
}

.theme-switcher select {
  width: 100%;
  min-height: 34px;
  border-color: var(--color-sidebar-border);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-sidebar-text);
}

:root[data-theme="trm-light"] .theme-switcher select {
  background: #ffffff;
}

.theme-switcher option {
  color: #102027;
}

.page {
  display: grid;
  gap: 20px;
}

.page-head h1 {
  font-size: 28px;
  line-height: 1.2;
  margin: 0 0 6px;
}

.page-head p {
  margin: 0;
  color: var(--muted);
}

.action-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.stock-identity {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.stock-title-block {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.stock-symbol {
  font-size: 13px;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: 0;
}

.stock-title-block h2 {
  margin: 0;
  font-size: 26px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.stock-meta,
.stock-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.stock-meta span {
  color: var(--muted);
  font-size: 13px;
}

.stock-meta span + span::before {
  content: "/";
  margin-right: 8px;
  color: #a5aeaa;
}

.stock-badges {
  justify-content: flex-end;
  max-width: 460px;
}

.section-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.section-tabs button {
  min-height: 32px;
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
}

.section-tabs button:hover {
  border-color: #b9c7c2;
  background: #edf4f1;
  color: #145c4c;
}

.signal-center-page .section-tabs {
  width: fit-content;
  padding: 6px;
  margin: 10px 0 18px;
  border: 1px solid #d7e3df;
  border-radius: 8px;
  background: #eef6f2;
}

.signal-center-page .section-tabs button {
  border-color: transparent;
  background: transparent;
}

.signal-center-page .section-tabs button.active-tab {
  border-color: #b7d8cc;
  background: #fff;
  color: var(--accent);
  box-shadow: 0 1px 3px rgba(21, 74, 62, 0.08);
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.metric-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.signal-center-page .legacy-summary-hidden {
  display: none;
}

.signal-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 4px 0 14px;
}

.summary-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
}

.summary-pill strong {
  color: var(--ink);
  font-size: 15px;
}

.summary-pill.primary {
  border-color: #b7d8cc;
  background: #edf7f3;
}

.summary-pill.ok {
  border-color: #bfe2d3;
  background: #f0faf5;
}

.summary-pill.warn {
  border-color: #ead5a4;
  background: #fff8e8;
}

.summary-pill.risk {
  border-color: #efc2bd;
  background: #fff2ef;
}

.history-summary-strip {
  margin: 0 0 14px;
  padding: 10px 0 2px;
}

.history-quick-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: -6px 0 14px;
  color: var(--muted);
  font-size: 13px;
}

.history-quick-row button {
  min-height: 30px;
  padding: 5px 10px;
  border-color: #cdded8;
  background: #fff;
  color: #155e50;
}

.history-quick-row button.active-quick {
  border-color: #86c8b6;
  background: #edf8f4;
  color: #0f5d4d;
  font-weight: 700;
}

.history-review-grid,
.history-distribution-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.history-review-grid {
  grid-template-columns: minmax(460px, 1.35fr) minmax(260px, 0.8fr) minmax(360px, 1fr);
}

.history-distribution-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.signal-review-page .history-review-grid {
  grid-template-columns: minmax(0, 1fr);
}

.signal-review-page .history-distribution-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.history-review-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.history-review-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfb;
}

.history-review-head h3 {
  margin: 0;
  font-size: 15px;
}

.history-review-head span {
  color: var(--muted);
  font-size: 12px;
}

.review-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.review-table th,
.review-table td {
  padding: 8px 10px;
  white-space: normal;
  vertical-align: middle;
}

.review-table tbody tr:hover td {
  background: #f4faf7;
}

.history-review-scroll {
  max-height: 365px;
  overflow-y: auto;
  overflow-x: auto;
}

.history-review-scroll .review-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.review-bar-row {
  display: grid;
  grid-template-columns: minmax(118px, 0.8fr) minmax(120px, 1.5fr) 66px;
  gap: 9px;
  align-items: center;
  padding: 9px 14px;
  border-bottom: 1px solid #eef1ef;
  font-size: 13px;
}

.review-bar-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review-bar-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3f0;
}

.review-bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f7a68;
}

.review-bar-row.warn .review-bar-fill {
  background: #d79622;
}

.review-bar-row.risk .review-bar-fill {
  background: #c9554b;
}

.review-bar-row strong {
  text-align: right;
  font-size: 12px;
}

.signal-review-page .review-table th,
.signal-review-page .review-table td {
  padding: 9px 12px;
}

.distribution-stat-table {
  table-layout: fixed;
}

.distribution-stat-table th:first-child,
.distribution-stat-table td:first-child {
  width: 42%;
}

.distribution-label-cell {
  min-width: 0;
}

.distribution-label-main {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) 100px;
  gap: 12px;
  align-items: center;
}

.distribution-name {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.distribution-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #1f7a68;
}

.distribution-dot.risk {
  background: #c9554b;
}

.distribution-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3f0;
}

.distribution-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f7a68;
}

.distribution-fill.risk {
  background: #c9554b;
}

.empty-note {
  margin: 0;
  padding: 18px 14px;
  color: var(--muted);
  font-size: 13px;
}

.score-badge,
.grade-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #d7e3df;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.score-badge.high,
.grade-badge.grade-a,
.grade-badge.grade-b {
  border-color: #bfe2d3;
  background: #eef9f4;
  color: #176756;
}

.score-badge.mid,
.grade-badge.grade-c {
  border-color: #ead5a4;
  background: #fff8e8;
  color: #8a5d10;
}

.score-badge.low,
.grade-badge.grade-d,
.grade-badge.grade-x {
  border-color: #efc2bd;
  background: #fff2ef;
  color: #9a3d33;
}

.metric-card,
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.metric-card {
  padding: 16px;
  display: grid;
  gap: 6px;
  min-height: 94px;
}

.metric-card span,
.field span {
  color: var(--muted);
  font-size: 13px;
}

.metric-card strong {
  font-size: 24px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.metric-card small {
  color: var(--muted);
}

.data-asset-page .panel-body {
  padding: 0;
}

.data-asset-page .panel {
  min-width: 0;
}

.data-asset-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}

.data-asset-hero.compact {
  padding: 18px 20px;
}

.data-asset-hero h1 {
  margin: 4px 0 7px;
  font-size: 28px;
  line-height: 1.15;
}

.data-asset-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.data-asset-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid var(--color-primary-line);
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-primary-hover);
  font-size: 12px;
  font-weight: 700;
}

.data-asset-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 260px;
}

.asset-db-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--muted);
}

.asset-db-banner strong {
  color: var(--ink);
  overflow-wrap: anywhere;
}

.asset-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.health-metric-card.good {
  border-left: 4px solid var(--color-primary);
}

.health-metric-card.warning {
  border-left: 4px solid var(--color-warning);
}

.health-metric-card.danger {
  border-left: 4px solid var(--color-danger);
}

.health-metric-card.muted {
  border-left: 4px solid #9aa9b5;
}

.health-workflow-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  padding: 14px 16px 0;
}

.fundamental-health-workflow {
  overflow: hidden;
}

.fundamental-health-workflow > .panel-head,
.health-issue-card .panel-head.compact {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.health-issue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 14px;
  padding: 16px;
}

.health-issue-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--panel);
}

.panel-head.compact {
  padding: 12px 14px;
}

.panel-head.compact h3 {
  margin: 0 0 4px;
  font-size: 15px;
}

.health-note-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 16px 16px;
}

.asset-overview-kpis {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.asset-flow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.asset-flow-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  min-height: 152px;
  padding: 16px;
  color: inherit;
  text-decoration: none;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.asset-flow-card:hover {
  border-color: var(--color-primary-line);
  box-shadow: var(--shadow-panel);
}

.asset-flow-card span,
.asset-flow-card small,
.asset-flow-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.asset-flow-card strong {
  font-size: 26px;
  line-height: 1.1;
}

.asset-flow-card small {
  line-height: 1.5;
}

.asset-flow-card em {
  margin-top: auto;
  overflow-wrap: anywhere;
}

.asset-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.asset-two-column.compact {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.asset-runtime-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr 0.8fr 1.4fr;
  gap: 0;
}

.asset-runtime-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.asset-runtime-grid.compact > div:nth-child(2n) {
  border-right: 0;
}

.asset-runtime-grid > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px 16px;
  border-right: 1px solid var(--line);
}

.asset-runtime-grid > div:last-child {
  border-right: 0;
}

.asset-runtime-grid span,
.asset-runtime-grid small {
  color: var(--muted);
  font-size: 12px;
}

.asset-runtime-grid strong {
  font-size: 18px;
  line-height: 1.2;
}

.asset-runtime-grid small {
  overflow-wrap: anywhere;
}

.asset-action-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 110px auto auto auto auto minmax(220px, 0.8fr);
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-action-row input {
  min-width: 0;
}

.asset-action-row small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.asset-action-row.securities {
  grid-template-columns: minmax(220px, 1fr) 100px auto auto auto auto minmax(220px, 0.8fr);
}

.asset-security-filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(130px, 0.8fr)) auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-security-filter-bar input,
.asset-security-filter-bar select {
  min-width: 0;
}

.asset-security-filter-bar button {
  min-width: 72px;
}

.asset-security-filter-bar.research {
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(130px, 0.8fr)) auto auto;
}

.asset-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf9;
}

.asset-tabs button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  cursor: pointer;
}

.asset-tabs button:hover {
  color: var(--ink);
  background: #fff;
}

.asset-tabs button.active {
  color: var(--color-primary-hover);
  background: #fff;
  border-color: var(--color-primary-line);
  box-shadow: 0 5px 14px rgba(20, 70, 58, 0.08);
}

.asset-tab-panel {
  margin-top: 0;
}

.asset-pagination-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.asset-pagination-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.asset-pagination-actions select {
  min-width: 92px;
  min-height: 30px;
}

.asset-pagination-actions button {
  min-width: 70px;
  min-height: 30px;
}

.asset-filing-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 110px auto auto minmax(220px, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-filing-toolbar.secondary {
  grid-template-columns: minmax(220px, 1fr) 150px 150px 150px auto;
  padding-top: 0;
  border-top: 0;
}

.asset-filing-toolbar input,
.asset-filing-toolbar select {
  min-width: 0;
}

.asset-filing-toolbar small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.asset-event-toolbar {
  grid-template-columns: minmax(220px, 1fr) 140px 150px 145px 145px 110px auto;
}

.asset-event-form-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 16px 12px;
}

.asset-event-form-chip,
.asset-event-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 9px;
  background: #fbfdfc;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.asset-event-status.standardized {
  border-color: rgba(13, 148, 136, 0.3);
  background: #ecfdf5;
  color: #047857;
}

.asset-event-status.pending {
  border-color: rgba(245, 158, 11, 0.35);
  background: #fffbeb;
  color: #b45309;
}

.asset-status-note {
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid #cfe7f5;
  border-radius: 8px;
  background: #f0f9ff;
  color: #36566a;
  font-size: 13px;
  line-height: 1.55;
}

.asset-status-note.compact {
  margin: 0 16px 12px;
}

.asset-inline-note {
  color: #36566a;
}

.asset-ir-run-row,
.asset-ir-filter-row,
.asset-ir-source-form,
.asset-ir-document-form {
  display: grid;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-ir-run-row {
  grid-template-columns: minmax(240px, 1fr) 100px 110px repeat(3, auto);
}

.asset-ir-filter-row {
  grid-template-columns: minmax(240px, 1fr) repeat(4, minmax(130px, 0.7fr)) auto;
}

.asset-ir-source-form {
  grid-template-columns: minmax(120px, 0.5fr) minmax(180px, 0.8fr) repeat(3, minmax(220px, 1fr));
}

.asset-ir-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}

.asset-ir-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.32);
}

.asset-ir-modal {
  width: min(980px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
}

.asset-ir-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.asset-ir-modal-head h2 {
  margin: 0 0 4px;
  font-size: 18px;
}

.asset-ir-modal-head span {
  color: var(--muted);
  font-size: 13px;
}

.asset-ir-modal-form.asset-ir-source-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  border-top: 0;
  padding: 16px 18px 18px;
}

.asset-ir-modal-form.asset-ir-document-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  border-top: 0;
  padding: 16px 18px 18px;
}

.asset-ir-modal-form .asset-inline-check,
.asset-ir-modal-actions {
  grid-column: 1 / -1;
}

.asset-ir-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.asset-ir-document-form {
  grid-template-columns: minmax(90px, 0.5fr) minmax(160px, 0.7fr) 160px minmax(220px, 1fr) 140px 90px 80px minmax(240px, 1.2fr) minmax(220px, 1fr) 140px auto auto;
}

.asset-mvp3-run-row,
.asset-mvp3-filter-row {
  display: grid;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-mvp3-run-row {
  grid-template-columns: minmax(180px, 0.8fr) minmax(120px, 1fr) 120px auto;
}

.asset-mvp3-filter-row {
  grid-template-columns: minmax(180px, 0.9fr) minmax(260px, 1.1fr) 160px 160px 100px 120px;
}

.asset-ir-run-row input,
.asset-ir-run-row select,
.asset-ir-filter-row input,
.asset-ir-filter-row select,
.asset-ir-source-form input,
.asset-ir-source-form select,
.asset-ir-document-form input,
.asset-ir-document-form select,
.asset-mvp3-run-row input,
.asset-mvp3-run-row select,
.asset-mvp3-filter-row input,
.asset-mvp3-filter-row select {
  min-width: 0;
}

.asset-impact-summary {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-impact-modal {
  width: min(1120px, 100%);
}

.asset-impact-note {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--accent-soft);
}

.asset-impact-note p {
  margin: 6px 0 0;
  color: var(--muted);
}

.asset-impact-note ul {
  margin: 8px 0 0 18px;
  padding: 0;
  color: var(--muted);
}

.asset-ir-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.asset-ir-actions button {
  min-height: 28px;
  padding-inline: 8px;
}

.market-risk-page {
  color: var(--ink);
}

.market-risk-panel {
  min-width: 0;
}

.market-risk-run-row {
  display: grid;
  grid-template-columns: 170px 170px minmax(150px, 0.8fr) minmax(150px, 0.8fr) 110px 150px auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.market-risk-run-row input,
.market-risk-run-row select {
  min-width: 0;
}

.market-risk-kpis,
.market-risk-subscore-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.market-risk-kpis.compact {
  padding: 14px 16px 0;
}

.market-risk-metric {
  display: grid;
  gap: 6px;
  min-height: 92px;
  padding: 15px;
  border: 1px solid var(--line);
  border-left: 4px solid #9aa8b3;
  border-radius: 8px;
  background: #fff;
}

.market-risk-metric.good {
  border-left-color: #16a083;
}

.market-risk-metric.warning {
  border-left-color: #d08b18;
}

.market-risk-metric.danger {
  border-left-color: #c94f4f;
}

.market-risk-metric span,
.market-risk-metric small {
  color: var(--muted);
  font-size: 12px;
}

.market-risk-metric strong {
  font-size: 24px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.market-risk-overview {
  display: grid;
  gap: 14px;
}

.market-risk-panel .market-risk-subscore-grid {
  padding: 14px 16px;
}

.market-risk-reading {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
  background: #fbfdfc;
}

.market-risk-reading strong {
  color: var(--ink);
  font-size: 18px;
}

.market-risk-reading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.market-risk-reading ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  color: #354956;
  line-height: 1.55;
}

.market-risk-driver-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.market-risk-driver-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 16px;
}

.market-risk-driver-list span,
.market-risk-driver-list em,
.market-risk-mapping-missing span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fbfdfc;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.market-risk-driver-list.good span {
  border-color: #bfe2d3;
  background: #eef9f4;
  color: #176756;
}

.market-risk-driver-list.danger span {
  border-color: #efc2bd;
  background: #fff2ef;
  color: #9a3d33;
}

.market-risk-mapping-missing {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 16px;
}

.market-risk-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 14px 16px;
}

.market-risk-chart {
  height: 320px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.market-risk-chart.compact {
  height: 260px;
}

.market-risk-heatmap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  padding: 14px 16px;
}

.market-risk-heatmap button {
  display: grid;
  gap: 5px;
  min-height: 76px;
  padding: 12px;
  text-align: left;
  border: 1px solid var(--line);
  border-left: 4px solid #9aa8b3;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.market-risk-heatmap button.good {
  border-left-color: #16a083;
}

.market-risk-heatmap button.warning {
  border-left-color: #d08b18;
}

.market-risk-heatmap button.danger {
  border-left-color: #c94f4f;
}

.market-risk-heatmap button:hover {
  border-color: var(--color-primary-line);
  box-shadow: var(--shadow-panel);
}

.market-risk-heatmap span,
.market-risk-heatmap small {
  color: var(--muted);
  font-size: 12px;
}

.market-risk-heatmap strong {
  font-size: 22px;
}

.market-risk-cot-detail {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.market-risk-cot-detail h3 {
  margin: 0;
  font-size: 16px;
}

.market-risk-raw-details {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding: 12px 16px 0;
}

.market-risk-raw-details summary {
  cursor: pointer;
  color: var(--teal);
  font-weight: 700;
  margin-bottom: 10px;
}

.backtest-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.backtest-config-panel {
  overflow: visible;
}

.backtest-config-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  padding: 16px;
  border-top: 1px solid var(--line);
}

.backtest-config-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}

.backtest-config-grid input,
.backtest-config-grid select,
.backtest-review-form input {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--color-control-bg);
  color: var(--ink);
  padding: 0 10px;
}

.backtest-option-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.backtest-check-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 8px 14px;
}

.backtest-config-grid .checkbox-row,
.backtest-check-grid .checkbox-row {
  flex-direction: row;
  align-items: center;
  color: var(--ink);
}

.backtest-config-grid .checkbox-row input,
.backtest-check-grid .checkbox-row input {
  width: auto;
  min-height: auto;
}

.backtest-config-grid input:disabled,
.backtest-config-grid select:disabled {
  background: #eef3f6;
  color: #8a98a5;
  cursor: not-allowed;
}

.backtest-config-grid .checkbox-row.is-disabled {
  color: #8a98a5;
}

.backtest-config-grid .field-wide {
  grid-column: span 2;
}

.backtest-advanced-grid {
  padding: 0;
  border-top: 0;
}

.backtest-progress-panel {
  overflow: hidden;
}

.backtest-progress-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.backtest-progress-meta,
.backtest-progress-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
}

.backtest-progress-meta strong {
  color: var(--ink);
  font-size: 24px;
}

.backtest-progress-bar {
  width: 100%;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef3f6;
}

.backtest-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0d9488, #2d70d6);
  transition: width 0.25s ease;
}

.backtest-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.backtest-review-form {
  display: grid;
  grid-template-columns: 120px 150px 150px minmax(260px, 1fr) minmax(220px, 1fr) auto;
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

@media (max-width: 1100px) {
  .market-risk-run-row,
  .market-risk-chart-grid,
  .market-risk-driver-grid,
  .backtest-config-grid,
  .backtest-check-grid,
  .backtest-chart-grid,
  .backtest-review-form {
    grid-template-columns: 1fr;
  }
}

.asset-ir-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 9px;
  background: #fbfdfc;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.asset-ir-status.approved,
.asset-ir-status.success {
  border-color: rgba(13, 148, 136, 0.3);
  background: #ecfdf5;
  color: #047857;
}

.asset-ir-status.pending,
.asset-ir-status.running {
  border-color: rgba(245, 158, 11, 0.35);
  background: #fffbeb;
  color: #b45309;
}

.asset-ir-status.failed {
  border-color: rgba(220, 38, 38, 0.3);
  background: #fef2f2;
  color: #b91c1c;
}

.asset-ir-text-preview {
  max-height: 520px;
  overflow: auto;
  margin: 0;
  padding: 16px;
  border-top: 1px solid var(--line);
  background: #fbfdfc;
  color: var(--ink);
  white-space: pre-wrap;
  font-size: 12px;
  line-height: 1.6;
}

.asset-security-panel .panel-body {
  border-top: 1px solid var(--line);
}

.asset-coverage-stage-strip,
.asset-coverage-tier-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--line);
}

.asset-coverage-tier-strip {
  color: var(--muted);
  font-size: 12px;
}

.asset-coverage-tier-strip span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 9px;
  background: #fbfdfc;
}

.asset-coverage-toolbar {
  grid-template-columns: minmax(220px, 1fr) 180px 120px auto;
}

.asset-pipeline-toolbar {
  grid-template-columns: minmax(240px, 1fr) 120px auto auto minmax(240px, 0.9fr);
}

.asset-job-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 150px 120px auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-job-toolbar input,
.asset-job-toolbar select {
  min-width: 0;
}

.asset-job-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 14px;
  align-items: start;
}

.asset-job-run-strip,
.asset-job-retry-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  padding: 10px 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.asset-job-retry-row {
  display: grid;
  grid-template-columns: 110px auto auto minmax(180px, 1fr);
}

.asset-job-retry-row input {
  min-width: 0;
}

.asset-job-message {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.asset-metric-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 110px auto minmax(140px, 0.75fr) 130px auto;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-metric-toolbar input,
.asset-metric-toolbar select {
  min-width: 0;
}

.data-asset-change-page .asset-metric-toolbar {
  grid-template-columns: minmax(220px, 1fr) 150px 140px auto;
}

.asset-consumer-sync-panel {
  overflow: hidden;
}

.asset-consumer-sync-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
}

.asset-consumer-sync-row h2 {
  margin: 0 0 3px;
  font-size: 15px;
}

.asset-consumer-sync-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.asset-consumer-sync-row .button-primary {
  min-width: 150px;
}

.asset-consumer-sync-note {
  padding: 9px 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  background: var(--surface-soft);
}

.asset-inline-check {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  white-space: nowrap;
}

.asset-inline-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--color-primary);
}

.asset-change-command {
  overflow: hidden;
}

.asset-change-highlight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.asset-change-cell {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.asset-change-cell strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.asset-change-delta {
  width: fit-content;
  max-width: 100%;
  padding: 2px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.asset-change-delta.good {
  border-color: #9ad8c1;
  background: #ecfbf5;
  color: #087a55;
}

.asset-change-delta.bad {
  border-color: #efc2bd;
  background: #fff2ef;
  color: #9a3d33;
}

.asset-change-delta.muted {
  background: var(--color-bg);
}

.asset-audit-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 140px auto minmax(260px, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-audit-toolbar input,
.asset-audit-toolbar select {
  min-width: 0;
}

.asset-audit-toolbar small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.asset-audit-results {
  display: grid;
  gap: 14px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--line);
}

.asset-audit-summary-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.asset-audit-summary-strip > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px 14px;
  border-right: 1px solid var(--line);
}

.asset-audit-summary-strip > div:last-child {
  border-right: 0;
}

.asset-audit-summary-strip span {
  color: var(--muted);
  font-size: 12px;
}

.asset-audit-summary-strip strong {
  min-width: 0;
  color: var(--ink);
  font-size: 15px;
  overflow-wrap: anywhere;
}

.asset-audit-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
}

.asset-audit-section-title h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}

.audit-message-cell {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.asset-scroll-table {
  max-height: 440px;
  overflow: auto;
}

.asset-scroll-table .table-wrap {
  min-width: 100%;
}

.asset-source-panel {
  scroll-margin-top: 16px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.asset-source-panel.highlight {
  border-color: var(--color-primary-line);
  box-shadow: 0 0 0 3px rgba(0, 139, 116, 0.12);
}

.asset-source-empty {
  color: var(--muted);
}

.candidate-review-toolbar,
.candidate-filter-row,
.candidate-evidence-actions {
  display: grid;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.candidate-review-toolbar {
  grid-template-columns: minmax(260px, 1fr) auto minmax(220px, 0.8fr);
}

.candidate-filter-row {
  grid-template-columns: minmax(120px, 0.7fr) minmax(150px, 1fr) auto;
}

.candidate-evidence-actions {
  grid-template-columns: minmax(220px, 1fr) 120px auto auto;
}

.candidate-review-toolbar input,
.candidate-filter-row select,
.candidate-evidence-actions input,
.candidate-evidence-actions select {
  min-width: 0;
}

.candidate-review-toolbar small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.candidate-review-grid {
  display: grid;
  grid-template-columns: minmax(440px, 1.05fr) minmax(0, 1.2fr);
  gap: 14px;
  align-items: start;
}

.candidate-evidence-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.candidate-evidence-strip span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 9px;
  background: #fbfdfc;
}

.asset-classification-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
}

.asset-classification-summary > div {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
}

.asset-classification-summary span {
  color: var(--muted);
  font-size: 12px;
}

.asset-classification-summary strong {
  font-size: 22px;
  line-height: 1.1;
}

.asset-report-note {
  margin: -4px 16px 12px;
  padding: 8px 10px;
  color: var(--muted);
  background: #f7faf9;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12px;
}

.asset-mini-table-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.asset-mini-table-grid .table-wrap {
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.asset-mini-table-grid.classification {
  padding: 0;
}

.asset-mini-table-grid.classification .table-wrap {
  max-height: 330px;
  background: var(--panel);
}

.asset-classification-layout {
  display: grid;
  gap: 14px;
}

.asset-exchange-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px 14px;
  color: var(--muted);
  font-size: 12px;
}

.asset-exchange-strip span {
  padding: 4px 8px;
  border: 1px solid var(--color-primary-line);
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--color-primary-hover);
}

.asset-exchange-strip.expanded {
  padding: 14px 16px;
}

.asset-exchange-strip.expanded span {
  min-height: 28px;
}

.asset-quality-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  padding: 14px 16px;
}

.asset-quality-list > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
}

.asset-quality-list span,
.asset-quality-list small {
  color: var(--muted);
  font-size: 12px;
}

.asset-quality-list strong {
  font-size: 20px;
  line-height: 1.1;
}

.asset-mvp-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 16px 16px;
}

.asset-mvp-note-grid > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfc;
}

.asset-mvp-note-grid strong {
  font-size: 14px;
}

.asset-mvp-note-grid span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.asset-step-list {
  display: grid;
  gap: 0;
  padding: 0 16px 14px;
}

.asset-step-item {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.asset-step-item:last-child {
  border-bottom: 0;
}

.asset-step-item strong {
  color: var(--accent);
  font-size: 12px;
}

.asset-step-item span {
  color: #2d3835;
}

@media (max-width: 1280px) {
  .asset-security-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .asset-flow-grid,
  .asset-mvp-note-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .data-asset-hero {
    flex-direction: column;
  }

  .data-asset-hero-actions {
    justify-content: flex-start;
    min-width: 0;
  }

  .asset-runtime-grid,
  .asset-two-column,
  .asset-action-row,
  .asset-security-filter-bar,
  .asset-job-layout,
  .asset-mini-table-grid,
  .asset-flow-grid,
  .asset-mvp-note-grid {
    grid-template-columns: 1fr;
  }

  .asset-pagination-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(10, 24, 21, 0.42);
}

.modal-panel {
  width: min(1180px, calc(100vw - 56px));
  max-height: calc(100vh - 56px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(8, 24, 20, 0.28);
}

.modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.modal-head h2 {
  margin: 0 0 4px;
  font-size: 20px;
}

.modal-head p {
  margin: 0;
  color: var(--muted);
}

.industry-members-modal .table-wrap {
  max-height: calc(100vh - 170px);
  overflow: auto;
}

.financial-detail-modal .table-wrap {
  max-height: calc(100vh - 190px);
  overflow: auto;
}

.profile-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbf9;
}

.profile-hero h3 {
  margin: 4px 0 0;
  font-size: 24px;
}

.profile-hero p {
  max-width: 840px;
  margin: 8px 0 0;
  color: #35413e;
  line-height: 1.65;
}

.profile-hero-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.profile-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.profile-summary-strip {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 4px 0 14px;
}

.profile-summary-chip {
  min-width: 112px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.profile-summary-chip span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 12px;
}

.profile-summary-chip strong {
  font-size: 17px;
}

.profile-dimension-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 14px;
  margin-bottom: 14px;
}

.profile-dimension-panel {
  min-width: 0;
}

.profile-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 16px 0;
}

.profile-dimension-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 16px 16px;
}

.profile-dimension-card {
  display: grid;
  gap: 7px;
  min-height: 104px;
  padding: 11px 12px;
  border: 1px solid #dfe8e4;
  border-radius: 8px;
  background: #fff;
}

.profile-dimension-card > span {
  color: var(--muted);
  font-size: 12px;
}

.profile-dimension-card small {
  color: #53615d;
  line-height: 1.35;
}

.industry-position-list {
  display: grid;
  padding: 8px 16px 16px;
}

.industry-position-list > div {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) 86px minmax(88px, 0.8fr);
  align-items: center;
  gap: 10px;
  min-height: 42px;
  border-bottom: 1px solid var(--line);
}

.industry-position-list > div:last-child {
  border-bottom: 0;
}

.industry-position-list span {
  color: #2d3835;
  font-weight: 650;
}

.industry-position-list strong {
  justify-self: start;
  color: #0f6f5e;
}

.industry-position-list small {
  color: var(--muted);
  text-align: right;
}

.profile-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 14px;
  margin-bottom: 14px;
}

.profile-chart-panel {
  min-width: 0;
}

.financial-profile-chart {
  width: 100%;
  height: 320px;
}

.financial-profile-chart.change {
  height: 320px;
}

.profile-bottom-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.45fr) minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}

.profile-conclusion {
  display: grid;
  gap: 13px;
  padding: 14px 16px 16px;
}

.profile-conclusion p {
  margin: 0;
  color: #2d3835;
  line-height: 1.6;
}

.profile-conclusion-verdict {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #dfe8e4;
  border-radius: 8px;
  background: #f7f9f8;
}

.profile-conclusion-verdict span {
  color: var(--muted);
  font-size: 12px;
}

.profile-conclusion-verdict strong {
  font-size: 24px;
  line-height: 1.15;
}

.profile-conclusion-verdict.strong,
.profile-conclusion-verdict.good {
  border-color: #b8d7ca;
  background: #eef9f4;
  color: #176756;
}

.profile-conclusion-verdict.mild {
  border-color: #e4caa9;
  background: #fff8ea;
  color: #7a4d18;
}

.profile-conclusion-verdict.weak {
  border-color: var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.profile-conclusion > div {
  display: grid;
  grid-template-columns: 10px 44px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.profile-conclusion > .profile-conclusion-verdict {
  grid-template-columns: 1fr;
}

.profile-conclusion small {
  color: var(--muted);
  line-height: 1.45;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #8fa39b;
}

.status-dot.good {
  background: #1f7a68;
}

.status-dot.watch {
  background: #d98a18;
}

.profile-focus-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr);
  gap: 14px;
  margin-bottom: 14px;
}

.quarter-diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 16px 16px;
}

.quarter-metric-card {
  display: grid;
  gap: 8px;
  min-height: 142px;
  padding: 12px;
  border: 1px solid #dfe8e4;
  border-radius: 8px;
  background: #fff;
}

.quarter-metric-card.improving {
  border-color: #b9ddcf;
  background: #f1faf6;
}

.quarter-metric-card.deteriorating {
  border-color: #efc2bd;
  background: #fff5f2;
}

.quarter-metric-card.stable {
  border-color: #e1d0a7;
  background: #fffaf0;
}

.quarter-metric-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.quarter-metric-head span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 1px 8px;
  border-radius: 999px;
  border: 1px solid #cfdcd7;
  background: #fff;
  color: #43514d;
  font-size: 12px;
}

.quarter-metric-card.improving .quarter-metric-head span {
  border-color: #b8d7ca;
  background: #eaf6f1;
  color: #176756;
}

.quarter-metric-card.deteriorating .quarter-metric-head span {
  border-color: var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.quarter-metric-value {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.1;
}

.quarter-metric-changes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.quarter-metric-changes span {
  color: var(--muted);
  font-size: 12px;
}

.quarter-metric-card small {
  color: #46534f;
  line-height: 1.45;
}

.profile-panel .field-grid {
  padding-top: 0;
}

.profile-panel .field {
  min-height: 58px;
}

.profile-panel-wide {
  grid-column: 1 / -1;
}

.profile-supplement {
  margin: 14px 0;
}

.profile-supplement summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 700;
}

.profile-supplement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line);
}

.profile-narrative {
  display: grid;
  gap: 12px;
  padding: 12px 16px 16px;
}

.profile-narrative > div {
  display: grid;
  gap: 6px;
}

.profile-narrative > div > span {
  color: var(--muted);
  font-size: 13px;
}

.profile-narrative p {
  margin: 2px 0 0;
  line-height: 1.7;
  color: #2d3835;
}

.news-compose {
  display: grid;
  grid-template-columns: minmax(90px, 130px) minmax(240px, 1fr) minmax(110px, 150px) minmax(140px, 170px) minmax(110px, 140px) minmax(90px, 120px) auto;
  gap: 10px;
  align-items: start;
  padding: 14px;
}

.news-compose .news-url-input,
.news-compose textarea {
  grid-column: 1 / -1;
}

.news-compose textarea {
  min-height: 90px;
  resize: vertical;
}

.mini-action {
  min-height: 28px;
  width: auto;
  padding: 4px 10px;
  border-color: #cfdcd7;
  background: #fff;
  color: #145c4c;
}

.mini-action:hover {
  border-color: #1f7f6d;
  background: #edf4f1;
}

.stock-news-modal {
  width: min(920px, calc(100vw - 56px));
}

.stock-news-detail {
  padding: 18px;
  overflow: auto;
}

.stock-news-detail h3 {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.35;
}

.stock-news-detail p {
  margin: 0 0 16px;
  color: #33423d;
  line-height: 1.65;
  white-space: pre-wrap;
}

.stock-news-detail dl {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px 14px;
  margin: 0;
  font-size: 13px;
}

.stock-news-detail dt {
  color: var(--muted);
}

.stock-news-detail dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.feature-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  border: 1px solid #eef1ef;
  border-radius: 8px;
  background: #fbfcfb;
  padding: 14px;
}

.feature-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.feature-card h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.feature-card p {
  margin: 0;
  color: #34413e;
  font-size: 13px;
  line-height: 1.45;
}

.feature-card small {
  align-self: end;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.panel {
  min-width: 0;
}

.panel-head {
  border-bottom: 1px solid var(--line);
  padding: 14px 16px;
}

.panel-head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.panel-head h2 {
  font-size: 16px;
  margin: 0;
}

.panel-body {
  padding: 14px 16px 0;
  color: var(--muted);
}

.panel-body p {
  margin: 0;
}

.panel-subsection {
  border-top: 1px solid var(--line);
}

.panel-subsection.nested {
  border-top-style: dashed;
}

.panel-subsection .panel-head {
  background: #fbfcfb;
  padding: 12px 16px;
}

.panel-subsection .panel-head h3 {
  font-size: 14px;
  line-height: 1.2;
  margin: 0;
}

.run-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-bottom: 1px solid var(--line);
}

.run-summary > div {
  display: grid;
  gap: 4px;
  min-height: 58px;
  padding: 10px 14px;
  border-right: 1px solid #eef1ef;
}

.run-summary span {
  color: var(--muted);
  font-size: 12px;
}

.run-summary strong {
  overflow-wrap: anywhere;
}

.run-summary .run-message {
  grid-column: span 4;
  border-top: 1px solid #eef1ef;
  border-right: 0;
}

.filter-bar {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr)) auto;
  gap: 10px;
  align-items: center;
}

.stock-search {
  grid-template-columns: minmax(160px, 260px) auto auto;
  justify-content: start;
}

.watch-form {
  grid-template-columns: minmax(120px, 180px) minmax(120px, 180px) minmax(200px, 1fr) auto;
}

.strategy-filter {
  grid-template-columns: minmax(150px, 190px) minmax(110px, 150px) minmax(150px, 190px) minmax(90px, 120px) auto auto;
  justify-content: start;
}

.symbol-filter {
  grid-template-columns: minmax(220px, 1fr) minmax(130px, 160px) minmax(130px, 160px) minmax(130px, 160px) auto;
}

.symbol-toolbar {
  display: grid;
  grid-template-columns:
    minmax(220px, 1fr)
    minmax(120px, 150px)
    minmax(120px, 150px)
    minmax(120px, 150px)
    minmax(100px, 120px)
    auto;
  gap: 10px;
  align-items: center;
}

.calendar-toolbar {
  display: grid;
  gap: 10px;
  align-items: center;
}

.calendar-toolbar {
  grid-template-columns: minmax(140px, 180px) minmax(140px, 180px) minmax(90px, 120px) minmax(100px, 120px) auto auto;
  padding: 14px 0;
  justify-content: start;
}

.price-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(140px, 180px) minmax(140px, 180px) minmax(100px, 120px) auto;
  gap: 10px;
  align-items: center;
  justify-content: start;
  padding: 14px 0;
}

.financial-toolbar {
  display: grid;
  grid-template-columns:
    minmax(180px, 260px)
    minmax(140px, 180px)
    minmax(140px, 180px)
    minmax(120px, 160px)
    minmax(100px, 120px)
    auto
    auto;
  gap: 10px;
  align-items: center;
  justify-content: start;
  padding: 14px 0;
}

.financial-profile-toolbar {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(140px, 180px) auto;
  gap: 10px;
  align-items: center;
  justify-content: start;
  padding: 14px 0 18px;
}

.structure-toolbar {
  display: grid;
  grid-template-columns:
    minmax(160px, 220px)
    minmax(140px, 170px)
    minmax(140px, 170px)
    minmax(120px, 150px)
    minmax(110px, 140px)
    minmax(110px, 140px)
    minmax(100px, 120px)
    auto;
  gap: 10px;
  align-items: center;
  justify-content: start;
  padding: 14px 0;
}

.structure-rebuild-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 360px) auto auto;
  gap: 10px;
  align-items: center;
  justify-content: start;
  padding: 8px 0 0;
}

.structure-chart-toolbar {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(140px, 170px) minmax(140px, 170px) auto;
  gap: 10px;
  align-items: center;
  justify-content: start;
  padding: 14px 0;
}

.signal-diagnostic-filter {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  align-items: center;
}

.signal-diagnostic-filter button {
  justify-self: start;
}

.diagnostic-status-strip label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  white-space: nowrap;
}

.signal-diagnostic-filter input[type="checkbox"],
.diagnostic-status-strip input[type="checkbox"] {
  min-height: 0;
}

.diagnostic-filter-panel {
  display: grid;
  gap: 12px;
}

.diagnostic-filter-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.diagnostic-filter-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.diagnostic-filter-title strong {
  font-size: 15px;
}

.diagnostic-filter-title span {
  color: var(--muted);
  font-size: 12px;
}

.diagnostic-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.diagnostic-field > span {
  color: var(--muted);
  font-size: 12px;
}

.diagnostic-field.checkbox {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  white-space: nowrap;
}

.diagnostic-filter-actions {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}

.diagnostic-status-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
}

.diagnostics-tabs button.active-tab {
  border-color: #176756;
  background: #edf7f3;
  color: #145c4c;
}

.diagnostics-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: 16px;
}

.compact-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 76px;
  min-height: 36px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid #176756;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  white-space: nowrap;
  text-decoration: none;
}

.compact-action:hover {
  background: #176756;
  text-decoration: none;
}

.compact-action.secondary {
  border-color: #b8d4cd;
  background: #fff;
  color: #176756;
}

.compact-action.secondary:hover {
  background: #edf7f3;
}

.disabled-link {
  pointer-events: none;
  opacity: 0.55;
}

.page-head-with-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.stock-pool-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.stock-pool-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  position: relative;
  z-index: 20;
}

.operation-menu {
  position: relative;
}

.operation-trigger {
  border-color: var(--line);
  background: #ffffff;
  color: var(--ink);
}

.operation-trigger:hover,
.operation-menu:focus-within .operation-trigger,
.operation-menu.open .operation-trigger {
  border-color: #1f7f6d;
  background: #edf4f1;
  color: #145c4c;
}

.operation-panel {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 24px;
  width: min(720px, calc(100vw - 280px));
  min-width: 420px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 16px 42px rgba(12, 31, 27, 0.16);
}

.operation-menu:hover .operation-panel,
.operation-menu:focus-within .operation-panel,
.operation-menu.open .operation-panel {
  display: block;
}

.operation-menu.profile .operation-panel {
  right: 48px;
  width: min(860px, calc(100vw - 280px));
}

.operation-menu.market .operation-panel {
  right: 0;
  width: min(640px, calc(100vw - 280px));
}

.operation-action-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
}

.operation-grid {
  display: grid;
  gap: 10px;
  align-items: center;
}

.profile-grid {
  grid-template-columns: minmax(240px, 1fr) minmax(84px, 110px) repeat(5, auto);
}

.market-grid {
  grid-template-columns: minmax(130px, 160px) minmax(220px, 1fr) repeat(2, auto);
}

.operation-button-row {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.operation-form {
  padding: 0;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
}

.operation-hint {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.stock-pool-page > .profile-sync-strip,
.stock-pool-page > .profile-sync-hint,
.stock-pool-page > .stock-edit-panel {
  display: none;
}

.profile-sync-strip {
  display: grid;
  grid-template-columns:
    minmax(260px, 1fr)
    minmax(90px, 110px)
    repeat(6, auto)
    minmax(120px, auto);
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fbfcfb;
}

.profile-sync-strip input[type="number"] {
  width: 100%;
}

.market-sync-strip {
  grid-template-columns: minmax(120px, 160px) minmax(260px, 1fr) repeat(2, auto) repeat(2, minmax(130px, auto));
  margin-top: 6px;
}

.profile-sync-hint {
  margin: -2px 0 12px;
  padding: 0 16px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.symbol-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 12px;
  padding: 14px 16px;
}

.form-actions {
  display: flex;
  align-items: end;
  gap: 8px;
}

.form-actions button[type="button"] {
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
}

.form-actions button[type="button"]:hover {
  background: #edf4f1;
}

.table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.table-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.table-actions-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.selected-signal-label {
  color: var(--muted);
  white-space: nowrap;
  margin-right: 4px;
}

.signal-center-page .table-toolbar {
  flex-wrap: wrap;
}

.signal-center-page .table-actions-row button {
  border: 1px solid var(--accent-soft);
  background: #fff;
  color: var(--accent);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.signal-center-page .table-actions-row button:hover:not(:disabled) {
  background: var(--accent-soft);
}

.signal-center-page .table-actions-row button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.table-toolbar.bottom {
  border-top: 1px solid var(--line);
  border-bottom: 0;
}

.structure-chart-shell {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.structure-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 0;
  min-height: 690px;
}

.structure-chart-main {
  padding: 16px 18px 18px;
  min-width: 0;
}

.chart-title-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  color: var(--text);
  margin-bottom: 8px;
}

.chart-title-row span {
  color: var(--muted);
  font-size: 13px;
}

.structure-chart-svg {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #e5ebe8;
  border-radius: 8px;
  background: #fbfdfc;
}

.structure-echart {
  width: 100%;
  height: 620px;
  border: 1px solid #e5ebe8;
  border-radius: 8px;
  background: #fbfdfc;
}

.chart-grid-line {
  stroke: #dce5e1;
  stroke-width: 1;
}

.chart-grid-line.faint {
  stroke: #edf2f0;
}

.chart-axis-label {
  fill: #6b7773;
  font-size: 12px;
}

.chart-section-label {
  fill: #34423d;
  font-size: 13px;
  font-weight: 700;
}

.chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.close-line {
  stroke: #111827;
  stroke-width: 2.1;
}

.ma20-line {
  stroke: #2563eb;
  stroke-width: 1.4;
}

.ma50-line {
  stroke: #7c3aed;
  stroke-width: 1.4;
}

.chart-marker {
  stroke: #fff;
  stroke-width: 1.5;
}

.chart-hover-line {
  stroke: #111827;
  stroke-width: 1;
  stroke-dasharray: 4 4;
  opacity: 0.65;
}

.chart-hover-dot {
  fill: #111827;
  stroke: #fff;
  stroke-width: 2;
}

.chart-line-legend {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 10px 2px 0;
  color: var(--muted);
  font-size: 13px;
}

.chart-line-legend span,
.state-chip {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.chart-line-legend i,
.state-chip i {
  display: inline-block;
  width: 18px;
  height: 3px;
  border-radius: 999px;
}

.legend-close {
  background: #111827;
}

.legend-ma20 {
  background: #2563eb;
}

.legend-ma50 {
  background: #7c3aed;
}

.structure-chart-side {
  border-left: 1px solid var(--line);
  background: #f8fbfa;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chart-side-title {
  font-weight: 800;
  color: var(--text);
}

.chart-side-card {
  border: 1px solid #dce8e3;
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  display: grid;
  gap: 4px;
}

.chart-side-card span {
  color: var(--muted);
  font-size: 12px;
}

.chart-side-card strong {
  color: #13795b;
  font-size: 20px;
  line-height: 1.2;
}

.chart-side-card em {
  color: var(--text);
  font-size: 13px;
  font-style: normal;
  overflow-wrap: anywhere;
}

.chart-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
}

.chart-info-row {
  display: grid;
  gap: 2px;
  align-items: start;
  font-size: 13px;
  min-width: 0;
}

.chart-info-row.wide {
  grid-column: 1 / -1;
}

.chart-info-row span {
  color: var(--muted);
  font-size: 12px;
}

.chart-info-row strong {
  color: var(--text);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.chart-legend-title {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 4px;
}

.state-legend,
.marker-legend {
  display: grid;
  gap: 7px 10px;
  color: var(--text);
  font-size: 12px;
}

.state-legend.dense {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.state-chip i {
  width: 14px;
  height: 8px;
}

.chart-summary-line {
  color: var(--muted);
  font-size: 13px;
  margin-top: auto;
}

.chart-recent-events {
  margin-top: 12px;
  border: 1px solid #e2ebe7;
  border-radius: 8px;
  background: #fbfdfc;
  padding: 10px 12px;
  display: grid;
  gap: 8px;
}

.chart-recent-events > strong {
  font-size: 13px;
  color: var(--text);
}

.chart-event-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.chart-event-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #dbe6e2;
  background: #fff;
  color: #34423d;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  white-space: nowrap;
}

.chart-event-pill i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  display: inline-block;
}

.chart-event-empty {
  color: var(--muted);
  font-size: 13px;
}

.structure-chart-shell.exact {
  background: #fff;
  border: 1px solid #dce5e1;
  border-radius: 8px;
}

.structure-chart-layout.exact {
  grid-template-columns: minmax(0, 1fr) 272px;
  min-height: 0;
}

.structure-chart-main.exact {
  padding: 16px;
}

.structure-chart-main.exact .chart-title-row {
  margin-bottom: 8px;
}

.structure-chart-main.exact .chart-title-row strong {
  font-size: 14px;
}

.structure-top-legend {
  height: 34px;
  border: 1px solid #e1e9e6;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  background: #fbfdfc;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #34423d;
  font-size: 12px;
}

.structure-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.structure-legend-item i {
  display: inline-block;
}

.structure-legend-item.line i {
  width: 18px;
  height: 2px;
  border-radius: 999px;
}

.structure-legend-item.dot i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
}

.structure-legend-item.triangle i {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 10px solid;
}

.structure-chart-main.exact .structure-echart {
  height: 380px;
  border-radius: 0 0 6px 6px;
  border-color: #e1e9e6;
  background: #fbfdfc;
}

.structure-chart-side.exact {
  background: #fbfdfc;
  border-left: 1px solid #dce5e1;
  padding: 12px 14px;
  gap: 0;
}

.structure-chart-side.exact h3 {
  margin: 0 0 8px;
  font-size: 15px;
  color: #0e1f1a;
}

.structure-info-line {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  min-height: 25px;
  border-bottom: 1px solid #e7efec;
  font-size: 12px;
}

.structure-info-line span {
  color: #64736f;
}

.structure-info-line strong {
  color: #13241f;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-align: right;
}

.structure-info-line strong.good {
  color: #13795b;
}

.state-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 20px;
  padding: 2px 8px;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
}

.state-value.non-trend {
  background: #b8c0c8;
}

.state-value.forming {
  background: #4f8fd8;
}

.state-value.pullback {
  background: #f59e0b;
}

.state-value.resuming {
  background: #22a06b;
}

.state-value.mature {
  background: #13795b;
}

.state-value.broken {
  background: #dc2626;
}

.structure-state-panel,
.structure-events-panel {
  border: 1px solid #e1e9e6;
  border-radius: 6px;
  background: #fff;
  margin-top: 12px;
  padding: 10px 12px 12px;
}

.structure-state-panel h3,
.structure-events-panel h3 {
  margin: 0 0 10px;
  font-size: 13px;
  color: #0e1f1a;
}

.state-band {
  display: flex;
  height: 24px;
  overflow: hidden;
  border-radius: 3px;
  border: 1px solid #dce5e1;
  background: #f3f6f5;
}

.state-band-segment {
  min-width: 2px;
  overflow: hidden;
}

.state-band-legend {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  color: #34423d;
  font-size: 11px;
  margin-top: 9px;
}

.state-band-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.state-band-legend i {
  width: 8px;
  height: 8px;
  display: inline-block;
}

.structure-events-panel {
  padding-bottom: 8px;
}

.structure-events-panel table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.structure-events-panel th,
.structure-events-panel td {
  border-bottom: 1px solid #e8efec;
  padding: 6px 8px;
  text-align: left;
  vertical-align: middle;
}

.structure-events-panel th {
  color: #52635e;
  font-weight: 700;
  background: #fbfdfc;
}

.structure-events-panel td {
  color: #20302b;
}

.event-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  display: inline-block;
}

.pager-actions {
  display: flex;
  gap: 8px;
}

.pager-actions button {
  min-height: 30px;
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
}

.pager-actions button:hover:not(:disabled) {
  background: #edf4f1;
}

.pipeline-form {
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(140px, 180px) minmax(180px, 1fr) minmax(120px, 160px) minmax(260px, 1fr) auto auto auto;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.field-compact {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
}

.field-compact input {
  width: 100%;
}

.stage-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.checkbox-row {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  white-space: nowrap;
}

.checkbox-row input {
  min-height: 0;
  width: 16px;
  height: 16px;
}

.workflow-page {
  gap: 16px;
}

.workflow-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.workflow-card,
.pipeline-progress,
.workflow-secondary-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.workflow-card {
  min-width: 0;
  overflow: hidden;
}

.workflow-card-head,
.pipeline-progress-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.workflow-card-head h2,
.workflow-card-head h1,
.pipeline-progress-head h2 {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1.2;
}

.workflow-card-head h1 {
  font-size: 18px;
}

.workflow-card-head p,
.pipeline-progress-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.workflow-selected-count {
  flex: 0 0 auto;
  border: 1px solid #cfe0d9;
  border-radius: 999px;
  background: #f1f7f4;
  color: #176756;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
}

.workflow-form-grid {
  display: grid;
  grid-template-columns: minmax(150px, 180px) minmax(150px, 180px) minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 14px 16px 0;
}

.workflow-form-grid .wide {
  grid-column: span 2;
}

.workflow-form-grid .stock-symbol-field {
  grid-column: auto;
  width: 100%;
}

.workflow-inline-actions {
  display: flex;
  grid-column: auto;
  gap: 8px;
  align-items: end;
  align-self: end;
}

.workflow-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  padding: 10px 16px 0;
}

.workflow-actions {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  padding: 14px 16px 16px;
}

.workflow-stage-presets {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.workflow-stage-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 16px 16px;
}

.sec-stage-groups {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fundamental-workflow-grid {
  grid-template-columns: minmax(280px, 1fr) auto;
}

.analysis-workflow-grid {
  grid-template-columns: minmax(150px, 180px) minmax(280px, 1fr) auto;
}

.data-asset-workflow-grid {
  grid-template-columns: minmax(280px, 1fr) 180px 140px auto;
}

.analysis-stage-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.data-asset-stage-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workflow-stage-group {
  border: 1px solid #e2e8e5;
  border-radius: 8px;
  overflow: hidden;
  background: #fbfcfb;
}

.workflow-stage-group-head {
  padding: 10px 12px;
  border-bottom: 1px solid #e7ece9;
}

.workflow-stage-group-head strong {
  font-size: 14px;
}

.workflow-stage-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
}

.workflow-stage-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  border: 1px solid #dce4e0;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
  cursor: pointer;
}

.workflow-stage-option.selected {
  border-color: #9ac8b8;
  background: #f1f8f5;
}

.workflow-stage-option input {
  width: 16px;
  height: 16px;
  min-height: 0;
}

.workflow-stage-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.workflow-stage-main strong {
  font-size: 13px;
}

.workflow-stage-main small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
  white-space: normal;
}

.pipeline-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  border: 1px solid #d7dfdb;
  border-radius: 999px;
  background: #f7f9f8;
  color: #53605d;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.pipeline-status.success {
  border-color: #b9d9ca;
  background: #eaf6f1;
  color: #176756;
}

.pipeline-status.running {
  border-color: #9fc3e8;
  background: #eef6ff;
  color: #1e5f9c;
}

.pipeline-status.queued {
  border-color: #d6cceb;
  background: #f5f1ff;
  color: #5a3a95;
}

.pipeline-status.partial {
  border-color: #e4caa9;
  background: #fff7eb;
  color: #7a4d18;
}

.pipeline-status.failed {
  border-color: var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.pipeline-progress {
  overflow: hidden;
}

.pipeline-progress-summary {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(5, minmax(120px, 1fr));
  border-bottom: 1px solid var(--line);
}

.pipeline-progress-summary > div {
  display: grid;
  gap: 5px;
  min-height: 62px;
  padding: 10px 12px;
  border-right: 1px solid #eef1ef;
}

.pipeline-progress-summary span {
  color: var(--muted);
  font-size: 12px;
}

.pipeline-progress-summary strong {
  overflow-wrap: anywhere;
}

.pipeline-progress-message {
  grid-column: 1 / -1;
  border-top: 1px solid #eef1ef;
  border-right: 0;
}

.pipeline-stage-progress {
  display: grid;
  grid-template-columns: repeat(7, minmax(132px, 1fr));
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.pipeline-stage-step {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid #dce4e0;
  border-left: 4px solid #b7c1bd;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.pipeline-stage-step.success {
  border-left-color: #1f7a68;
}

.pipeline-stage-step.running {
  border-left-color: #2e7acb;
}

.pipeline-stage-step.queued {
  border-left-color: #7858b8;
}

.pipeline-stage-step.partial {
  border-left-color: #c27b25;
}

.pipeline-stage-step.failed {
  border-left-color: #c8473f;
}

.pipeline-stage-step-head {
  display: grid;
  gap: 6px;
}

.pipeline-stage-step-head strong {
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.pipeline-stage-stats {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 12px;
}

.pipeline-stage-stats b {
  color: var(--ink);
}

.pipeline-stage-step p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.analysis-progress-flat .pipeline-stage-progress {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.analysis-progress-flat .pipeline-stage-step {
  grid-template-columns: minmax(96px, 0.7fr) minmax(150px, 0.8fr) minmax(0, 1.8fr);
  align-items: center;
  gap: 8px 12px;
}

.analysis-progress-flat .pipeline-stage-step-head {
  align-content: start;
}

.analysis-progress-flat .pipeline-stage-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.pipeline-errors {
  border-top: 1px solid var(--line);
}

.pipeline-error-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px 14px;
  border-top: 1px solid #eef1ef;
}

.workflow-secondary-panel {
  overflow: hidden;
}

.workflow-secondary-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.workflow-secondary-panel > summary::-webkit-details-marker {
  display: none;
}

.workflow-secondary-panel > summary span {
  font-weight: 700;
}

.workflow-secondary-panel > summary small {
  color: var(--muted);
}

.workflow-secondary-grid {
  display: grid;
  gap: 14px;
  padding: 0 16px 16px;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

th,
td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

th {
  background: #fafbf9;
  color: #44504e;
  font-weight: 700;
  position: relative;
}

td {
  color: #26302e;
}

.resizable-table th,
.resizable-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

.resizable-column {
  padding-right: 18px;
}

.th-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.column-resizer {
  position: absolute;
  top: 0;
  right: -4px;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  touch-action: none;
  z-index: 2;
}

.column-resizer::after {
  content: "";
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 3px;
  width: 1px;
  background: transparent;
}

.resizable-column:hover .column-resizer::after {
  background: #9db2ad;
}

.column-resizing {
  cursor: col-resize;
  user-select: none;
}

.compact-text-cell {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.wide-cell {
  min-width: 360px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.stack-cell {
  display: grid;
  gap: 3px;
  color: #34413e;
  font-size: 12px;
  line-height: 1.25;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 140px;
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border: 1px solid #d7dfdb;
  border-radius: 999px;
  background: #f7f9f8;
  color: #45514f;
  padding: 0 8px;
  font-size: 12px;
  white-space: nowrap;
}

.pill.good {
  border-color: #b8d7ca;
  background: #eaf6f1;
  color: #176756;
}

.pill.warm {
  border-color: #e4caa9;
  background: #fff7eb;
  color: #7a4d18;
}

.pill.bad {
  border-color: var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.pill.muted {
  color: var(--muted);
}

.peer-panel {
  padding: 0 16px 16px;
}

.peer-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.peer-list a {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7dfdb;
  border-radius: 999px;
  background: #f7f9f8;
  padding: 0 10px;
  font-size: 12px;
  text-decoration: none;
}

.peer-list a:hover {
  border-color: #b8d7ca;
  background: #eaf6f1;
  text-decoration: none;
}

.muted-text {
  color: var(--muted);
}

td button {
  min-height: 30px;
  padding: 0 10px;
}

.interactive-row {
  cursor: pointer;
}

.interactive-row:hover td {
  background: #f3faf7;
}

.selected-row td {
  background: #e8f3ef;
}

.empty-cell {
  color: var(--muted);
  text-align: center;
  padding: 28px 12px;
}

.error-banner {
  border: 1px solid var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
  border-radius: 8px;
  padding: 12px 14px;
}

.error-banner strong {
  display: block;
  margin-bottom: 6px;
}

.error-banner ul {
  margin: 0;
  padding-left: 18px;
}

.notice {
  border: 1px solid #d7c190;
  background: #fff8e7;
  color: #765414;
  border-radius: 8px;
  padding: 10px 12px;
}

.loading {
  color: var(--muted);
  padding: 28px 0;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 4px 16px 14px;
}

.field-grid.wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.field {
  display: grid;
  gap: 4px;
  min-height: 64px;
  padding: 12px 10px;
  border-bottom: 1px solid #eef1ef;
}

.field strong {
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.signal-center-filter {
  display: grid;
  grid-template-columns: repeat(8, minmax(110px, 1fr)) auto auto;
  gap: 10px;
  align-items: center;
  margin: 18px 0;
}

.signal-center-filter input,
.signal-center-filter select {
  width: 100%;
}

.signal-build-panel {
  display: grid;
  grid-template-columns: 160px 160px minmax(260px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin: 12px 0 18px;
}

.signal-build-panel input {
  width: 100%;
}

.inline-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  white-space: nowrap;
}

.row-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: nowrap;
}

.row-actions button,
.button-link {
  border: 1px solid var(--accent-soft);
  background: #fff;
  color: var(--accent);
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 12px;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.row-actions button:hover,
.button-link:hover {
  background: var(--accent-soft);
}

.tag-list {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}

.mini-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #eef7f3;
  color: var(--accent);
  border: 1px solid #bdded2;
  padding: 2px 7px;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}

.compact-tag-list {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.compact-tag {
  display: inline-flex;
  align-items: center;
  max-width: 72px;
  min-height: 22px;
  border-radius: 999px;
  border: 1px solid #bdded2;
  background: #eef7f3;
  color: var(--accent);
  padding: 1px 7px;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compact-tag.more {
  max-width: none;
  border-color: #d7e0dc;
  background: #f6f8f7;
  color: var(--muted);
}

.signal-detail-panel {
  margin-top: 16px;
}

.signal-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.signal-detail-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.signal-detail-card h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

.signal-detail-card p {
  color: var(--muted);
  line-height: 1.55;
  margin: 10px 0 0;
}

.signal-field {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px solid #eef1ef;
}

.signal-field span {
  color: var(--muted);
  font-size: 12px;
}

.signal-field strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}

.signal-tag-row {
  display: flex;
  gap: 10px;
  padding: 0 14px 14px;
  flex-wrap: wrap;
}

.stock-detail-page {
  gap: 16px;
}

.stock-detail-toolbar {
  display: grid;
  grid-template-columns: 220px 180px auto auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.stock-detail-toolbar input {
  width: 100%;
}

.stock-detail-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.stock-detail-eyebrow {
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 6px;
}

.stock-detail-hero h2 {
  margin: 0;
  font-size: 26px;
  line-height: 1.2;
}

.stock-detail-hero p {
  margin: 8px 0 0;
  max-width: 920px;
  color: #31403b;
  line-height: 1.6;
}

.stock-detail-hero-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  min-width: 220px;
}

.stock-detail-hero-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.stock-detail-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.stock-detail-summary-card {
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.stock-detail-summary-card span,
.stock-detail-summary-card small {
  color: var(--muted);
  font-size: 12px;
}

.stock-detail-summary-card strong {
  font-size: 20px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.stock-detail-page .panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.stock-detail-page .panel-head span {
  color: var(--muted);
  font-size: 13px;
}

.stock-detail-signal-panel {
  overflow: hidden;
}

.stock-detail-signal-panel.muted-panel {
  padding: 14px 16px;
}

.stock-detail-signal-panel.muted-panel h2 {
  margin: 0 0 8px;
  font-size: 16px;
}

.stock-detail-signal-panel.muted-panel p {
  margin: 0;
  color: var(--muted);
}

.stock-detail-signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 4px 16px 8px;
}

.stock-detail-info-line {
  display: grid;
  grid-template-columns: minmax(88px, 0.8fr) minmax(0, 1fr);
  gap: 8px;
  min-height: 36px;
  align-items: center;
  border-bottom: 1px solid #eef1ef;
  padding: 7px 0;
}

.stock-detail-info-line span {
  color: var(--muted);
  font-size: 12px;
}

.stock-detail-info-line strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}

.stock-detail-info-line strong.good {
  color: var(--accent);
}

.stock-detail-tag-section {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 16px 14px;
  border-top: 1px solid #eef1ef;
}

.stock-detail-tag-section > span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
  line-height: 24px;
}

.stock-detail-chart-panel {
  overflow: hidden;
}

.stock-detail-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  min-height: 500px;
}

.stock-detail-chart-main {
  min-width: 0;
  padding: 12px 16px 16px;
}

.stock-detail-echart {
  width: 100%;
  height: 390px;
  border: 1px solid #dfe8e4;
  border-radius: 6px;
  background: #fff;
}

.stock-detail-side-panel {
  display: grid;
  align-content: start;
  gap: 0;
  border-left: 1px solid var(--line);
  background: #fbfdfc;
  padding: 12px 14px;
}

.stock-detail-side-panel h3 {
  margin: 0 0 6px;
  font-size: 15px;
}

.stock-detail-side-panel .stock-detail-info-line {
  grid-template-columns: minmax(92px, 1fr) minmax(0, 1fr);
  min-height: 25px;
  align-items: baseline;
  padding: 2px 0;
}

.stock-detail-side-panel .stock-detail-info-line strong {
  font-size: 12px;
  text-align: right;
}

.stock-detail-state-band-wrap {
  margin-top: 12px;
  padding: 10px 12px 12px;
  border: 1px solid #e1e9e6;
  border-radius: 6px;
  background: #fff;
}

.stock-detail-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.stock-detail-two-col > .panel {
  min-width: 0;
}

.stock-detail-factor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
  padding: 8px 16px 12px;
}

.stock-detail-score-table,
.stock-detail-metric-table {
  display: grid;
  padding: 8px 16px 12px;
}

.score-table-head,
.score-table-row,
.metric-table-head,
.metric-table-row {
  display: grid;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  border-bottom: 1px solid #eef1ef;
}

.score-table-head,
.metric-table-head {
  min-height: 30px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.score-table-row:last-child,
.metric-table-row:last-child {
  border-bottom: 0;
}

.score-table-row strong,
.metric-table-row strong {
  font-size: 13px;
}

.score-table-head,
.score-table-row {
  grid-template-columns: minmax(78px, 96px) minmax(170px, 1fr) minmax(78px, 96px) 28px;
}

.metric-table-head,
.metric-table-row {
  grid-template-columns: minmax(74px, 92px) minmax(96px, 128px) minmax(170px, 1fr) 28px;
}

.score-bar-cell,
.metric-change-cell {
  display: grid;
  align-items: center;
  justify-content: start;
  gap: 10px;
  min-width: 0;
}

.score-bar-cell {
  grid-template-columns: minmax(120px, 1fr) 40px;
  max-width: 320px;
}

.metric-change-cell {
  grid-template-columns: minmax(96px, 1fr) max-content;
  max-width: 300px;
}

.score-bar-cell b,
.metric-table-row > b {
  font-variant-numeric: tabular-nums;
}

.metric-table-row > b {
  overflow: hidden;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.score-bar,
.change-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3f0;
}

.score-bar span,
.change-bar span {
  display: block;
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
}

.score-bar.good span,
.change-bar.good span {
  background: #1f7a68;
}

.score-bar.warm span {
  background: #d79622;
}

.score-bar.bad span,
.change-bar.bad span {
  background: #c9554b;
}

.score-bar.muted span,
.change-bar.muted span {
  background: #b9c7c2;
}

.metric-change-cell span {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.stock-detail-page .trend-mark {
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.stock-detail-page .trend-mark.up {
  color: #14795f;
}

.stock-detail-page .trend-mark.down {
  color: #c9443c;
}

.stock-detail-page .trend-mark.flat {
  color: #d79622;
}

.dashboard-page {
  gap: 14px;
}

.data-asset-progress-panel .pipeline-stage-progress {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.data-asset-progress-panel .pipeline-progress-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(360px, 520px);
  align-items: start;
  gap: 16px;
  padding-bottom: 2px;
}

.dashboard-hero h1 {
  margin: 0 0 6px;
}

.dashboard-hero p {
  margin: 0;
  color: var(--muted);
}

.dashboard-hero .ui-page-actions {
  width: 100%;
}

.dashboard-header-actions {
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
}

.dashboard-symbol-search {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px;
}

.dashboard-filter {
  display: grid;
  grid-template-columns: 160px 170px minmax(170px, 1fr) 160px auto auto minmax(130px, 0.7fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--panel);
  box-shadow: var(--shadow-panel);
}

.dashboard-filter > span {
  justify-self: end;
  color: var(--muted);
  font-size: 13px;
}

.dashboard-filter > .dashboard-cache-notice {
  grid-column: 1 / -1;
  justify-self: start;
  color: var(--color-primary-hover);
}

.dashboard-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 10px;
}

.dashboard-summary-card {
  display: grid;
  gap: 6px;
  min-height: 88px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--panel);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--shadow-panel);
}

.dashboard-summary-card:hover {
  border-color: #9dcfbe;
  box-shadow: 0 10px 28px rgba(21, 63, 53, 0.08);
}

.dashboard-summary-card > span,
.dashboard-summary-card small {
  color: var(--muted);
}

.dashboard-summary-card strong {
  font-size: 22px;
  line-height: 1.05;
}

.dashboard-summary-card.good {
  background: #f2faf6;
}

.dashboard-summary-card.blue {
  background: #f1f7fd;
}

.dashboard-summary-card.watch,
.dashboard-summary-card.late {
  background: #fff8eb;
}

.dashboard-summary-card.risk {
  background: var(--danger-bg);
}

.dashboard-command-grid {
  display: grid;
  grid-template-columns: minmax(310px, 0.9fr) minmax(500px, 1.45fr) minmax(290px, 0.85fr);
  gap: 14px;
  align-items: start;
}

.dashboard-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
  align-content: start;
}

.dashboard-system-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.dashboard-panel {
  overflow: hidden;
  border-radius: var(--radius-panel);
}

.dashboard-scroll-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.dashboard-scroll-panel .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.dashboard-scroll-panel .resizable-table th,
.dashboard-system-panel .resizable-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.dashboard-opportunity-panel {
  max-height: 560px;
}

.dashboard-opportunity-panel .table-wrap {
  max-height: 430px;
}

.dashboard-industry-panel,
.dashboard-confluence-panel {
  max-height: 320px;
}

.dashboard-industry-panel .table-wrap,
.dashboard-confluence-panel .table-wrap {
  max-height: 248px;
}

.dashboard-watch-panel {
  max-height: 430px;
  overflow: auto;
}

.dashboard-panel > p,
.dashboard-panel > h3,
.dashboard-panel > .dashboard-state-list,
.dashboard-panel > .dashboard-env-history,
.dashboard-panel > .dashboard-funnel,
.dashboard-panel > .dashboard-mini-list,
.dashboard-panel > .dashboard-health-stack {
  margin-left: 16px;
  margin-right: 16px;
}

.dashboard-panel h3 {
  margin-top: 14px;
  margin-bottom: 8px;
  font-size: 14px;
}

.dashboard-rule-summary {
  margin-top: 10px;
  margin-bottom: 8px;
  color: #2b3834;
  line-height: 1.6;
}

.dashboard-state-list {
  display: grid;
  gap: 7px;
  padding: 0 0 6px;
}

.dashboard-state-row {
  display: grid;
  grid-template-columns: 74px 54px minmax(90px, 1fr) 52px;
  align-items: center;
  gap: 9px;
  min-height: 28px;
  font-size: 12px;
}

.dashboard-state-row b {
  text-align: right;
}

.dashboard-state-row small {
  text-align: right;
  color: var(--muted);
}

.dashboard-state-row small.up {
  color: #14795f;
}

.dashboard-state-row small.down {
  color: #c9443c;
}

.dashboard-bar {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3f0;
}

.dashboard-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f7a68;
}

.dashboard-bar.watch i {
  background: #d79622;
}

.dashboard-bar.risk i {
  background: #c9554b;
}

.dashboard-bar.blue i {
  background: #4f94dd;
}

.dashboard-bar.neutral i {
  background: #7b8c87;
}

.dashboard-env-history {
  display: grid;
  gap: 6px;
  padding-bottom: 10px;
}

.dashboard-env-history > div {
  display: grid;
  grid-template-columns: 48px minmax(90px, 1fr) 44px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.dashboard-env-history b {
  text-align: right;
}

.dashboard-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 23px;
  padding: 2px 8px;
  border: 1px solid #d7dfdb;
  border-radius: 999px;
  background: #fff;
  color: #43514d;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.dashboard-chip.good {
  border-color: #b8d7ca;
  background: #eaf6f1;
  color: #176756;
}

.dashboard-chip.blue {
  border-color: #b8d2ea;
  background: #eef6fd;
  color: #265f92;
}

.dashboard-chip.watch,
.dashboard-chip.late {
  border-color: #e4caa9;
  background: #fff7eb;
  color: #7a4d18;
}

.dashboard-chip.risk,
.dashboard-chip.risk-soft {
  border-color: var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.dashboard-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px 5px;
  min-width: 260px;
  max-width: 100%;
  white-space: normal;
}

.dashboard-risk-cell {
  overflow: visible !important;
  white-space: normal;
  vertical-align: middle;
}

.dashboard-funnel {
  display: grid;
  gap: 8px;
  padding-bottom: 14px;
}

.dashboard-funnel > div {
  display: grid;
  grid-template-columns: 78px 58px minmax(90px, 1fr);
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.dashboard-funnel i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #1f7a68;
}

.dashboard-mini-list,
.dashboard-health-stack {
  display: grid;
  gap: 7px;
  padding-bottom: 10px;
}

.dashboard-mini-list a,
.dashboard-health-stack > div {
  display: grid;
  grid-template-columns: 64px minmax(80px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding-bottom: 7px;
  border-bottom: 1px solid #eef1ef;
  color: inherit;
  text-decoration: none;
  font-size: 12px;
}

.dashboard-mini-list a:hover strong {
  color: var(--accent);
}

.dashboard-mini-list span {
  color: #33423e;
}

.dashboard-mini-list small,
.dashboard-health-stack small {
  color: var(--muted);
}

.dashboard-health-stack > div {
  grid-template-columns: auto minmax(90px, 1fr) auto;
}

.dashboard-system-panel {
  display: flex;
  flex-direction: column;
  min-height: 330px;
  max-height: 430px;
}

.dashboard-system-panel .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.dashboard-redesign {
  --dashboard-card-height: 92px;
}

.dashboard-redesign .dashboard-filter {
  grid-template-columns: 170px 180px minmax(220px, 1fr) 180px auto auto minmax(150px, 0.6fr);
}

.dashboard-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-kpi-grid .dashboard-summary-card {
  min-height: var(--dashboard-card-height);
}

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(620px, 1.65fr) minmax(360px, 0.85fr);
  gap: 14px;
  align-items: stretch;
}

.dashboard-primary-panel,
.dashboard-detail-panel {
  display: flex;
  min-height: 540px;
  max-height: 600px;
  flex-direction: column;
}

.dashboard-primary-panel .dashboard-rule-summary {
  margin-top: 12px;
  margin-bottom: 8px;
}

.dashboard-primary-panel .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.dashboard-primary-panel .resizable-table th,
.dashboard-system-two-col .resizable-table th,
.dashboard-compact-panel .resizable-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.dashboard-primary-panel .resizable-table td {
  height: 44px;
  vertical-align: middle;
}

.dashboard-risk-brief {
  display: inline-grid;
  grid-template-columns: auto minmax(72px, 1fr) auto;
  align-items: center;
  max-width: 190px;
  gap: 6px;
  white-space: nowrap;
}

.dashboard-risk-brief > span:not(.dashboard-chip) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.dashboard-risk-brief small {
  color: var(--muted);
  font-weight: 700;
}

.dashboard-detail-panel {
  overflow: hidden;
}

.dashboard-detail-body {
  display: grid;
  gap: 14px;
  padding: 14px 16px 8px;
  overflow: auto;
}

.dashboard-detail-empty {
  display: grid;
  min-height: 260px;
  place-items: center;
  padding: 24px;
  color: var(--muted);
}

.dashboard-detail-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-detail-title strong {
  display: block;
  font-size: 26px;
  line-height: 1.05;
}

.dashboard-detail-title span {
  color: var(--muted);
  font-size: 13px;
}

.dashboard-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #e7eeeb;
  border-radius: 8px;
  overflow: hidden;
}

.dashboard-detail-grid > div {
  display: grid;
  gap: 4px;
  min-height: 54px;
  padding: 9px 11px;
  border-right: 1px solid #e7eeeb;
  border-bottom: 1px solid #e7eeeb;
}

.dashboard-detail-grid > div:nth-child(2n) {
  border-right: 0;
}

.dashboard-detail-grid span {
  color: var(--muted);
  font-size: 12px;
}

.dashboard-detail-grid b {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.dashboard-inline-chip {
  display: inline-flex;
}

.dashboard-risk-box {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e7eeeb;
  border-radius: 8px;
  background: #fbfdfc;
}

.dashboard-risk-box-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 13px;
}

.dashboard-risk-box-head b {
  color: var(--text);
  font-size: 14px;
}

.dashboard-risk-list {
  display: flex;
  max-height: 116px;
  flex-wrap: wrap;
  gap: 6px;
  overflow: auto;
}

.dashboard-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dashboard-detail-funnel {
  margin-top: auto;
  padding: 12px 16px 14px;
  border-top: 1px solid var(--line);
}

.dashboard-detail-funnel .dashboard-funnel {
  padding-bottom: 0;
}

.dashboard-funnel.compact {
  gap: 6px;
}

.dashboard-funnel.compact > div {
  grid-template-columns: 76px 58px minmax(90px, 1fr);
}

.dashboard-secondary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.dashboard-compact-panel {
  display: flex;
  min-height: 318px;
  max-height: 360px;
  flex-direction: column;
}

.dashboard-compact-panel .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.dashboard-leader-panel,
.dashboard-warning-panel {
  min-height: 480px;
  max-height: 480px;
}

.dashboard-leader-panel .table-wrap {
  overflow: visible;
}

.dashboard-warning-panel .table-wrap {
  overflow: auto;
}

.dashboard-env-two-col {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 0.9fr);
  gap: 16px;
  padding: 0 16px 16px;
  min-height: 0;
  overflow: hidden;
}

.dashboard-env-two-col .dashboard-state-list,
.dashboard-env-two-col .dashboard-env-history {
  min-height: 0;
  max-height: 210px;
  overflow: auto;
  padding-right: 4px;
}

.dashboard-risk-watch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 0 16px 16px;
  min-height: 0;
  overflow: hidden;
}

.dashboard-risk-watch-grid h3 {
  margin: 0 0 8px;
  font-size: 14px;
}

.dashboard-compact-list {
  display: grid;
  max-height: 222px;
  gap: 0;
  overflow: auto;
}

.dashboard-compact-list a {
  display: grid;
  grid-template-columns: 64px minmax(80px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 0;
  border-bottom: 1px solid #eef1ef;
  color: inherit;
  text-decoration: none;
  font-size: 12px;
}

.dashboard-compact-list a:hover strong {
  color: var(--accent);
}

.dashboard-compact-list span {
  min-width: 0;
  overflow: hidden;
  color: #33423e;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-compact-list small {
  color: var(--muted);
}

.dashboard-system-overview {
  max-height: 420px;
}

.dashboard-system-two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-height: 0;
  padding: 0 16px 16px;
  overflow: hidden;
}

.dashboard-system-two-col .table-wrap {
  max-height: 286px;
  min-height: 0;
  overflow: auto;
}

.dashboard-bottom-grid {
  align-items: stretch;
}

.dashboard-env-panel-clean .dashboard-env-two-col .dashboard-state-list,
.dashboard-env-panel-clean .dashboard-env-two-col .dashboard-env-history {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.dashboard-log-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.dashboard-log-bottom-panel {
  display: flex;
  min-height: 330px;
  flex-direction: column;
}

.dashboard-log-bottom-panel .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.dashboard-collapsible-panel {
  min-height: 0;
  max-height: none;
}

.dashboard-collapsible-panel.dashboard-log-bottom-panel {
  display: block;
  min-height: 0;
}

.dashboard-collapsible-panel[open].dashboard-log-bottom-panel {
  display: flex;
  min-height: 330px;
}

.dashboard-collapsible-summary {
  cursor: pointer;
  user-select: none;
  list-style: none;
}

.dashboard-collapsible-summary::-webkit-details-marker {
  display: none;
}

.dashboard-collapsible-summary i {
  width: 8px;
  height: 8px;
  border-right: 2px solid #6a7974;
  border-bottom: 2px solid #6a7974;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.dashboard-collapsible-panel[open] .dashboard-collapsible-summary i {
  transform: rotate(225deg);
}

.dashboard-collapsible-body {
  flex: 1;
  min-height: 0;
  border-top: 1px solid var(--line);
}

.dashboard-collapsible-panel[open] .dashboard-collapsible-body {
  display: flex;
  flex-direction: column;
}

.dashboard-collapsible-body > .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.dashboard-log-bottom-panel:first-child {
  height: auto;
  min-height: 330px;
  max-height: none;
}

.dashboard-log-bottom-panel:first-child .table-wrap {
  flex: initial;
  overflow: visible;
}

.dashboard-collapsible-panel.dashboard-log-bottom-panel:first-child {
  min-height: 0;
}

.dashboard-collapsible-panel[open].dashboard-log-bottom-panel:first-child {
  min-height: 330px;
}

.dashboard-log-bottom-panel .resizable-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

@media (max-width: 1320px) {
  .dashboard-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-main-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-primary-panel,
  .dashboard-detail-panel {
    min-height: auto;
    max-height: none;
  }

  .dashboard-primary-panel .table-wrap {
    max-height: 480px;
  }
}

@media (max-width: 900px) {
  .dashboard-redesign .dashboard-filter,
  .dashboard-kpi-grid,
  .dashboard-secondary-grid,
  .dashboard-log-grid,
  .dashboard-env-two-col,
  .dashboard-risk-watch-grid,
  .dashboard-system-two-col {
    grid-template-columns: 1fr;
  }
}

.trm-env-page {
  gap: 16px;
}

.trm-env-console {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.trm-env-query-row,
.trm-env-build-row {
  display: grid;
  align-items: center;
  gap: 10px;
}

.trm-env-query-row {
  grid-template-columns: 180px 200px auto minmax(0, 1fr);
}

.trm-env-build-row {
  grid-template-columns: auto 180px 180px 200px auto auto minmax(220px, 1fr);
  padding-top: 12px;
  border-top: 1px solid #eef1ef;
}

.trm-env-build-row > span {
  font-weight: 800;
}

.trm-env-build-row small {
  color: var(--muted);
}

.trm-env-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trm-env-card.strong {
  border-color: #9dcfbe;
  background: #eef9f4;
}

.trm-env-card.good {
  border-color: #b8d7ca;
  background: #f2faf6;
}

.trm-env-card.watch,
.trm-env-card.late {
  border-color: #e4caa9;
  background: #fff8eb;
}

.trm-env-card.risk {
  border-color: var(--danger-line);
  background: var(--danger-bg);
}

.env-label-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid #d7dfdb;
  border-radius: 999px;
  background: #fff;
  color: #43514d;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.env-label-pill.strong,
.env-label-pill.good {
  border-color: #b8d7ca;
  background: #eaf6f1;
  color: #176756;
}

.env-label-pill.watch,
.env-label-pill.late {
  border-color: #e4caa9;
  background: #fff7eb;
  color: #7a4d18;
}

.env-label-pill.risk {
  border-color: var(--danger-line);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.env-label-pill.neutral {
  background: #f7f9f8;
  color: #53615d;
}

.trm-env-summary-panel {
  padding: 0 16px 16px;
}

.trm-env-summary-panel p {
  margin: 0 0 14px;
  color: #2d3835;
  line-height: 1.65;
}

.trm-state-stack-wrap {
  display: grid;
  gap: 12px;
}

.trm-state-stack {
  display: flex;
  height: 30px;
  overflow: hidden;
  border-radius: 7px;
  background: #edf3f0;
  border: 1px solid #dfe8e4;
}

.trm-state-stack span {
  min-width: 0;
  height: 100%;
}

.trm-state-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--muted);
  font-size: 12px;
}

.trm-state-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.trm-state-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.trm-state-legend b {
  color: var(--ink);
}

.trm-env-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(420px, 1fr);
  gap: 14px;
}

.trm-env-history-panel,
.trm-env-flow-panel {
  display: flex;
  flex-direction: column;
  height: 430px;
  min-height: 0;
  overflow: hidden;
}

.trm-env-flow-panel .table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.trm-env-industry-head {
  align-items: flex-start;
}

.trm-env-industry-head > div:first-child {
  display: grid;
  gap: 4px;
}

.trm-env-mode-tabs {
  display: inline-flex;
  gap: 6px;
  padding: 4px;
  border: 1px solid #dce6e2;
  border-radius: 8px;
  background: #f7faf8;
}

.trm-env-mode-tabs button {
  min-height: 30px;
  padding: 4px 12px;
  border-color: transparent;
  background: transparent;
  color: #41514c;
}

.trm-env-mode-tabs button.active {
  border-color: #b8d7ca;
  background: #eaf6f1;
  color: #12735f;
  font-weight: 800;
}

.trm-env-industry-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 420px) 120px auto minmax(300px, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid #edf1ef;
}

.trm-env-industry-pager {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.trm-env-history-list {
  display: grid;
  flex: 1;
  align-content: start;
  min-height: 0;
  overflow: auto;
  padding: 8px 14px 14px;
}

.trm-env-history-row {
  display: grid;
  grid-template-columns: 94px minmax(120px, 1fr) 52px 100px;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  border-bottom: 1px solid #eef1ef;
  font-size: 12px;
}

.trm-env-history-row > span {
  color: var(--muted);
}

.trm-env-history-row strong {
  text-align: right;
}

.trm-score-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3f0;
}

.trm-score-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f7a68;
}

.trm-score-bar.watch span,
.trm-score-bar.late span {
  background: #d79622;
}

.trm-score-bar.risk span {
  background: #c9554b;
}

.trm-score-bar.neutral span {
  background: #7b8c87;
}

.empty-state-panel {
  padding: 22px;
}

.empty-state-panel h2 {
  margin: 0 0 8px;
  font-size: 18px;
}

.empty-state-panel p {
  margin: 0;
  color: var(--muted);
}

@media (max-width: 980px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  nav a {
    text-align: center;
    padding: 9px 8px;
  }

  .content {
    padding: 18px;
  }

  .metric-grid,
  .metric-grid.compact,
  .history-review-grid,
  .history-distribution-grid,
  .profile-card-grid,
  .profile-dimension-layout,
  .profile-dimension-grid,
  .profile-chart-layout,
  .profile-bottom-grid,
  .profile-focus-grid,
  .profile-supplement-grid,
  .quarter-diagnostic-grid,
  .feature-grid,
  .stock-detail-summary-grid,
  .stock-detail-signal-grid,
  .stock-detail-chart-layout,
  .stock-detail-two-col,
  .stock-detail-factor-grid,
  .score-table-head,
  .score-table-row,
  .metric-table-head,
  .metric-table-row,
  .stock-identity,
  .split-grid,
  .field-grid,
  .field-grid.wide,
  .workflow-console,
  .workflow-form-grid,
  .workflow-stage-groups,
  .workflow-stage-list,
  .pipeline-progress-summary,
  .pipeline-stage-progress,
  .run-summary,
  .candidate-review-grid {
    grid-template-columns: 1fr;
  }

  .stock-identity {
    display: grid;
  }

  .stock-badges {
    justify-content: flex-start;
  }

  .run-summary .run-message {
    grid-column: span 1;
  }

  .analysis-progress-flat .pipeline-stage-step {
    grid-template-columns: 1fr;
  }

  .workflow-form-grid .wide,
  .workflow-form-grid .stock-symbol-field,
  .workflow-inline-actions,
  .pipeline-progress-message {
    grid-column: span 1;
  }

  .workflow-card-head,
  .pipeline-progress-head,
  .workflow-stage-group-head,
  .workflow-secondary-panel > summary,
  .action-head {
    display: grid;
    justify-content: stretch;
  }

  .page-actions,
  .workflow-actions,
  .workflow-stage-presets {
    justify-content: flex-start;
  }

  .filter-bar,
  .stock-search,
  .watch-form,
  .symbol-filter,
  .symbol-toolbar,
  .calendar-toolbar,
  .price-toolbar,
  .signal-center-filter,
  .signal-build-panel,
  .dashboard-hero,
  .dashboard-header-actions,
  .dashboard-filter,
  .dashboard-summary-grid,
  .dashboard-command-grid,
  .dashboard-system-grid,
  .financial-toolbar,
  .financial-profile-toolbar,
  .structure-toolbar,
  .structure-rebuild-toolbar,
  .structure-chart-toolbar,
  .signal-diagnostic-filter,
  .trm-env-query-row,
  .trm-env-build-row,
  .trm-env-grid,
  .trm-env-industry-toolbar,
  .diagnostics-grid,
  .profile-sync-strip,
  .profile-grid,
  .market-grid,
  .symbol-form,
  .operation-form,
  .pipeline-form,
  .structure-chart-layout,
  .asset-coverage-toolbar,
  .asset-pipeline-toolbar,
  .asset-job-toolbar,
  .asset-job-retry-row,
  .asset-metric-toolbar,
  .asset-consumer-sync-row,
  .asset-event-toolbar,
  .asset-ir-run-row,
  .asset-ir-filter-row,
  .asset-ir-source-form,
  .asset-ir-document-form,
  .asset-ir-modal-form.asset-ir-source-form,
  .asset-ir-modal-form.asset-ir-document-form,
  .asset-mvp3-run-row,
  .asset-mvp3-filter-row,
  .asset-audit-toolbar,
  .candidate-review-toolbar,
  .candidate-filter-row,
  .candidate-evidence-actions {
    grid-template-columns: 1fr;
  }

  .asset-consumer-sync-row {
    display: grid;
    align-items: stretch;
  }

  .asset-ir-head-actions,
  .asset-ir-modal-head {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .stock-detail-toolbar {
    grid-template-columns: 1fr;
  }

  .stock-detail-hero {
    display: grid;
  }

  .stock-detail-hero-badges {
    justify-content: flex-start;
  }

  .stock-detail-hero-tags {
    margin-top: 10px;
  }

  .stock-detail-side-panel {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .profile-hero {
    display: grid;
  }

  .page-head-with-actions {
    display: grid;
  }

  .profile-hero-badges {
    justify-content: flex-start;
  }

  .signal-detail-grid {
    grid-template-columns: 1fr;
  }

  .structure-chart-side {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .stock-pool-head {
    display: grid;
  }

  .stock-pool-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .operation-panel,
  .operation-menu.profile .operation-panel,
  .operation-menu.market .operation-panel {
    left: 0;
    right: auto;
    width: calc(100vw - 36px);
    min-width: 0;
  }
}

/* Fundamental profile preview / design-system sample */
.financial-profile-preview-page {
  --fpv-panel: #ffffff;
  --fpv-text: #102027;
  --fpv-muted: #65727d;
  --fpv-line: #dce6ee;
  --fpv-primary: #16a083;
  --fpv-primary-soft: #e8f7f3;
  --fpv-primary-line: #a8ded1;
  --fpv-blue: #2d70d6;
  --fpv-warning: #d89018;
  --fpv-danger: #c94f4f;
  color: var(--fpv-text);
}

.fpv-topbar,
.fpv-identity-panel,
.fpv-panel {
  background: var(--fpv-panel);
  border: 1px solid var(--fpv-line);
  border-radius: 10px;
}

.fpv-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
}

.fpv-topbar h1 {
  margin: 0 0 6px;
  font-size: 28px;
  line-height: 1.15;
}

.fpv-topbar p {
  margin: 0;
  color: var(--fpv-muted);
}

.fpv-top-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.fpv-filter-bar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px 120px;
  gap: 10px;
  align-items: center;
}

.fpv-kpi-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.fpv-metric-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 16px;
  background: var(--fpv-panel);
  border: 1px solid var(--fpv-line);
  border-radius: 10px;
}

.fpv-metric-card span,
.fpv-metric-card small {
  display: block;
  color: var(--fpv-muted);
  font-size: 12px;
}

.fpv-metric-card strong {
  display: block;
  margin: 3px 0;
  font-size: 23px;
  line-height: 1.1;
}

.fpv-metric-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--fpv-primary-soft);
  color: var(--fpv-primary);
  font-weight: 800;
  flex: 0 0 42px;
}

.fpv-metric-card.info .fpv-metric-icon {
  background: #eaf2ff;
  color: var(--fpv-blue);
}

.fpv-metric-card.warning .fpv-metric-icon,
.fpv-metric-card.danger .fpv-metric-icon {
  background: #fff4df;
  color: var(--fpv-warning);
}

.fpv-metric-card.danger .fpv-metric-icon {
  background: #fff0ed;
  color: var(--fpv-danger);
}

.fpv-identity-panel {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px;
}

.fpv-logo {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #126bd8, #0f8b74);
  color: #fff;
  font-size: 21px;
  font-weight: 800;
}

.fpv-company {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.fpv-symbol-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}

.fpv-symbol-row h2 {
  margin: 0;
  font-size: 28px;
}

.fpv-symbol-row strong {
  min-width: 0;
  color: #27323a;
  font-size: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fpv-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.fpv-tag-row.dense {
  gap: 6px;
}

.fpv-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid var(--fpv-primary-line);
  background: var(--fpv-primary-soft);
  color: #087d69;
  font-size: 12px;
  line-height: 1.3;
  white-space: nowrap;
}

.fpv-tag.blue {
  border-color: #c7dcff;
  background: #eef5ff;
  color: #235fb8;
}

.fpv-tag.good {
  border-color: var(--fpv-primary-line);
  background: var(--fpv-primary-soft);
  color: #087d69;
}

.fpv-tag.warning {
  border-color: #f4d28d;
  background: #fff8e8;
  color: #9b6500;
}

.fpv-tag.danger {
  border-color: #f0b6ae;
  background: #fff0ed;
  color: #9d3328;
}

.fpv-company-meta {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 5px 14px;
  text-align: right;
  color: var(--fpv-muted);
  font-size: 12px;
}

.fpv-company-meta strong {
  color: var(--fpv-text);
  font-size: 14px;
}

.fpv-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--fpv-line);
  margin-bottom: 12px;
}

.fpv-tabs span {
  padding: 10px 12px;
  color: var(--fpv-muted);
  font-weight: 700;
  font-size: 14px;
  border-bottom: 2px solid transparent;
}

.fpv-tabs span.active {
  color: var(--fpv-primary);
  border-color: var(--fpv-primary);
}

.fpv-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
  align-items: start;
}

.fpv-main-column,
.fpv-side-column {
  display: grid;
  gap: 14px;
}

.fpv-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.fpv-panel {
  min-width: 0;
  overflow: hidden;
}

.fpv-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--fpv-line);
}

.fpv-panel-head h3 {
  margin: 0;
  font-size: 16px;
}

.fpv-panel-head span {
  color: var(--fpv-muted);
  font-size: 12px;
}

.fpv-chart {
  height: 300px;
  width: 100%;
  padding: 10px;
}

.fpv-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.fpv-mini-metric {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--fpv-line);
  border-radius: 8px;
  background: #fbfdfd;
}

.fpv-mini-metric span,
.fpv-mini-metric small {
  color: var(--fpv-muted);
  font-size: 12px;
}

.fpv-mini-metric strong {
  font-size: 18px;
}

.fpv-mini-bar {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9f0ef;
}

.fpv-mini-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--fpv-primary);
}

.fpv-mini-metric.down .fpv-mini-bar span {
  background: var(--fpv-danger);
}

.fpv-mini-metric.flat .fpv-mini-bar span {
  background: #94a3ad;
}

.fpv-dimension-list {
  display: grid;
  padding: 8px 14px 12px;
}

.fpv-dimension-row {
  display: grid;
  grid-template-columns: minmax(104px, 1fr) minmax(138px, 170px);
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f6;
}

.fpv-dimension-row:last-child {
  border-bottom: 0;
}

.fpv-dimension-row strong,
.fpv-dimension-row small {
  display: block;
}

.fpv-dimension-row small {
  margin-top: 2px;
  color: var(--fpv-muted);
  font-size: 11px;
}

.fpv-score-line {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) 38px;
  gap: 8px;
  align-items: center;
}

.fpv-score-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9f0ef;
}

.fpv-score-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--fpv-primary);
}

.fpv-score-fill.warning {
  background: var(--fpv-warning);
}

.fpv-score-fill.danger {
  background: var(--fpv-danger);
}

.fpv-score-fill.missing {
  width: 0;
}

.fpv-score-line strong {
  text-align: right;
}

.fpv-side-column .fpv-tag-row,
.fpv-side-column .fpv-summary-text,
.fpv-side-column h4 {
  padding-left: 14px;
  padding-right: 14px;
}

.fpv-side-column h4 {
  margin: 14px 0 8px;
  font-size: 13px;
}

.fpv-industry-list {
  display: grid;
  padding: 8px 14px 12px;
}

.fpv-industry-list > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 0;
  border-bottom: 1px solid #edf2f6;
}

.fpv-industry-list > div:last-child {
  border-bottom: 0;
}

.fpv-industry-list span {
  color: var(--fpv-muted);
}

.fpv-summary-text {
  margin: 0;
  color: #35424a;
  font-size: 13px;
  line-height: 1.7;
}

.fpv-summary-text.large {
  padding: 14px 16px;
  font-size: 14px;
}

.fpv-risk-summary-grid {
  display: grid;
  gap: 10px;
  padding: 14px 16px 0;
}

.fpv-risk-summary-section {
  display: grid;
  gap: 7px;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf2f6;
}

.fpv-risk-summary-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.fpv-risk-summary-section h4 {
  margin: 0;
  font-size: 13px;
}

.fpv-observe-risk-panel .fpv-risk-summary-grid {
  padding-top: 12px;
}

.fpv-observe-risk-panel .fpv-risk-summary-section h4 {
  padding-left: 0;
  padding-right: 0;
}

.fpv-table-wrap {
  overflow: auto;
}

.fpv-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  font-size: 13px;
}

.fpv-table th,
.fpv-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--fpv-line);
  text-align: left;
  white-space: nowrap;
}

.fpv-table th {
  color: #293741;
  background: #fbfcfd;
  font-weight: 800;
}

.fpv-table td.negative {
  color: var(--fpv-danger);
  font-weight: 700;
}

.fpv-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 14px;
}

.fpv-data-gap {
  display: grid;
  gap: 4px;
  margin: 0 16px 16px;
  padding: 12px;
  border: 1px dashed #c6d7df;
  border-radius: 8px;
  color: var(--fpv-muted);
  background: #f8fbfc;
  font-size: 13px;
}

.fpv-data-gap strong {
  color: var(--fpv-text);
}

@media (max-width: 1380px) {
  .fpv-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fpv-main-grid {
    grid-template-columns: 1fr;
  }

  .fpv-side-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .fpv-filter-bar,
  .fpv-chart-grid,
  .fpv-bottom-grid,
  .fpv-side-column {
    grid-template-columns: 1fr;
  }

  .fpv-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fpv-identity-panel {
    grid-template-columns: 1fr;
  }

  .fpv-company-meta {
    text-align: left;
    justify-content: start;
  }
}

/* Product-facing public pages. Dark terminal skin, scoped to /app shell only. */
.product-shell {
  --product-bg: #050914;
  --product-bg-2: #08111f;
  --product-panel: rgba(13, 23, 38, 0.92);
  --product-panel-solid: #0d1726;
  --product-panel-soft: rgba(20, 32, 51, 0.88);
  --product-line: rgba(148, 163, 184, 0.18);
  --product-line-strong: rgba(148, 163, 184, 0.3);
  --product-text: #e5edf6;
  --product-muted: #8ea0b5;
  --product-muted-2: #64748b;
  --product-accent: #20d7b5;
  --product-accent-2: #38bdf8;
  --product-good: #20d7b5;
  --product-warning: #f7c948;
  --product-danger: #fb7185;
  --product-orange: #fb923c;
  --product-blue: #60a5fa;
  --product-shadow: 0 22px 80px rgba(0, 0, 0, 0.36);
  --product-radius: 12px;
  display: block;
  min-height: 100vh;
  background:
    radial-gradient(circle at 18% -10%, rgba(32, 215, 181, 0.14), transparent 34%),
    radial-gradient(circle at 86% -8%, rgba(56, 189, 248, 0.12), transparent 32%),
    linear-gradient(180deg, #07111f 0%, #07101c 42%, #04070d 100%);
  color: var(--product-text);
}

.product-shell * {
  scrollbar-color: rgba(148, 163, 184, 0.42) rgba(15, 23, 42, 0.35);
}

.product-shell a {
  color: var(--product-accent);
}

.product-shell button,
.product-shell a.button-ghost {
  min-height: 38px;
  border: 1px solid rgba(32, 215, 181, 0.35);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(32, 215, 181, 0.95), rgba(13, 148, 136, 0.95));
  color: #03120f;
  box-shadow: 0 12px 28px rgba(20, 184, 166, 0.18);
  font-weight: 800;
}

.product-shell button:hover {
  background: linear-gradient(180deg, #2eeac9, #0fbaa4);
}

.product-shell button:disabled {
  background: rgba(30, 41, 59, 0.7);
  color: var(--product-muted);
  border-color: var(--product-line);
  box-shadow: none;
}

.product-shell button.button-ghost,
.product-shell button.button-soft,
.product-shell a.button-ghost {
  background: rgba(15, 23, 42, 0.72);
  color: var(--product-text);
  border-color: var(--product-line-strong);
  box-shadow: none;
}

.product-shell button.button-ghost:hover,
.product-shell button.button-soft:hover,
.product-shell a.button-ghost:hover {
  background: rgba(32, 215, 181, 0.12);
  border-color: rgba(32, 215, 181, 0.45);
  color: var(--product-accent);
}

.product-shell input,
.product-shell select {
  min-height: 38px;
  color: var(--product-text);
  background: rgba(2, 6, 23, 0.58);
  border: 1px solid var(--product-line);
  border-radius: 8px;
}

.product-shell input::placeholder {
  color: var(--product-muted-2);
}

.product-shell input:focus,
.product-shell select:focus {
  border-color: rgba(32, 215, 181, 0.62);
  box-shadow: 0 0 0 3px rgba(32, 215, 181, 0.12);
  outline: none;
}

.product-shell select option {
  color: #e5edf6;
  background: #0d1726;
}

.product-workspace {
  min-width: 0;
  min-height: 100vh;
}

.product-sidebar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100vh;
  min-width: 0;
  overflow-y: auto;
  padding: 18px 14px;
  border-right: 1px solid var(--product-line);
  background: rgba(5, 9, 20, 0.88);
  box-shadow: 18px 0 60px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}

.product-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 0;
  color: var(--product-text);
  text-decoration: none;
  white-space: nowrap;
}

.product-brand:hover {
  text-decoration: none;
}

.product-brand-mark {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border: 1px solid rgba(32, 215, 181, 0.45);
  border-radius: 10px;
  color: #06120f;
  background: linear-gradient(135deg, #2eeac9, #38bdf8);
  box-shadow: 0 0 30px rgba(32, 215, 181, 0.26);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.product-brand strong {
  display: block;
  font-size: 20px;
  letter-spacing: 0;
}

.product-brand small {
  display: block;
  margin-top: 3px;
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 700;
}

.product-nav-label {
  margin-top: 2px;
  padding: 0 8px;
  color: var(--product-muted-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.product-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 999px;
  background: rgba(10, 18, 32, 0.54);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.product-nav a,
.product-admin-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #a7b6ca;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.product-nav-index {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 26px;
  flex: 0 0 28px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  color: var(--product-muted);
  background: rgba(15, 23, 42, 0.58);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.product-nav a:hover,
.product-admin-link:hover {
  color: var(--product-text);
  background: rgba(148, 163, 184, 0.11);
  border-color: var(--product-line);
  text-decoration: none;
}

.product-nav a.active {
  color: #04110f;
  background: linear-gradient(135deg, var(--product-accent), var(--product-accent-2));
  border-color: transparent;
  box-shadow: 0 12px 34px rgba(32, 215, 181, 0.18);
}

.product-nav a.active .product-nav-index {
  color: #04110f;
  border-color: transparent;
  background: linear-gradient(135deg, var(--product-accent), var(--product-accent-2));
}

.product-admin-link {
  min-height: 30px;
  justify-content: center;
  color: var(--product-accent);
  border-radius: 999px;
  border-color: rgba(32, 215, 181, 0.28);
  background: rgba(32, 215, 181, 0.07);
}

.product-sidebar-foot {
  display: grid;
  gap: 6px;
  margin-top: auto;
  padding: 14px 10px;
  border: 1px solid var(--product-line);
  border-radius: 12px;
  color: var(--product-muted);
  background: rgba(15, 23, 42, 0.52);
  font-size: 12px;
  line-height: 1.5;
}

.product-sidebar-foot strong {
  color: var(--product-accent);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.product-header {
  position: sticky;
  top: 0;
  z-index: 24;
  display: grid;
  grid-template-columns: minmax(210px, max-content) minmax(0, 1fr) max-content;
  align-items: center;
  gap: 22px;
  min-height: 74px;
  padding: 0 28px;
  border-bottom: 1px solid var(--product-line);
  background: linear-gradient(180deg, rgba(5, 9, 20, 0.88), rgba(5, 9, 20, 0.72));
  box-shadow: 0 18px 58px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(18px);
}

.product-header-actions {
  display: inline-flex;
  align-items: center;
  justify-content: end;
  gap: 10px;
  min-width: 0;
}

.product-session-date {
  color: #91a7bd;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.product-top-title {
  min-width: 0;
}

.product-top-title span,
.product-top-meta span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-top-title strong {
  display: block;
  margin-top: 2px;
  color: var(--product-text);
  font-size: 18px;
  line-height: 1.2;
}

.product-top-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  white-space: nowrap;
}

.product-top-meta span + span {
  padding-left: 10px;
  border-left: 1px solid var(--product-line);
}

.product-user-bar {
  display: inline-flex;
  align-items: center;
  justify-content: end;
  gap: 8px;
  min-width: 0;
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.product-user-bar span {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-user-bar strong {
  padding: 4px 8px;
  border: 1px solid rgba(32, 215, 181, 0.28);
  border-radius: 999px;
  color: var(--product-accent);
  background: rgba(32, 215, 181, 0.08);
}

.product-user-bar button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
}

.product-access-denied {
  display: grid;
  gap: 12px;
  max-width: 680px;
  margin: 64px auto;
  padding: 28px;
  border: 1px solid rgba(247, 201, 72, 0.28);
  border-radius: var(--product-radius);
  background: rgba(15, 23, 42, 0.72);
  box-shadow: var(--product-shadow);
}

.product-access-denied h1,
.product-access-denied p {
  margin: 0;
}

.product-access-denied h1 {
  color: var(--product-text);
  font-size: 24px;
}

.product-access-denied p {
  color: var(--product-muted);
  line-height: 1.7;
}

.product-access-denied a {
  justify-self: start;
}

.product-access-denied-inline {
  max-width: none;
  margin: 0;
}

.product-content {
  width: min(1540px, calc(100% - 40px));
  margin: 0 auto;
  padding: 22px 0 42px;
  min-width: 0;
}

.product-page {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.product-page > *,
.product-hero,
.product-filter-panel,
.product-metric-grid {
  box-sizing: border-box;
  min-width: 0;
}

.product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  align-items: center;
  gap: 16px;
  padding: 0;
}

.product-hero h1 {
  margin: 0;
  color: var(--product-text);
  font-size: 28px;
  line-height: 1.14;
  letter-spacing: 0;
}

.product-hero p {
  margin: 6px 0 0;
  color: var(--product-muted);
  line-height: 1.55;
}

.product-home-page .product-hero h1 {
  max-width: 760px;
  font-size: 34px;
  line-height: 1.12;
}

.product-home-page .product-hero p {
  max-width: 760px;
  color: #a9bdd4;
  font-size: 15px;
}

.product-eyebrow {
  margin: 0 0 5px !important;
  color: var(--product-accent) !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-disclaimer {
  justify-self: end;
  max-width: 420px;
  padding: 9px 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  color: #93a7bd;
  background: rgba(15, 23, 42, 0.36);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  font-size: 12px;
  line-height: 1.5;
}

.product-filter-panel {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(150px, 0.8fr) repeat(3, minmax(130px, 0.65fr)) minmax(150px, 0.85fr) minmax(150px, 0.85fr) minmax(110px, 0.45fr) minmax(96px, max-content);
  gap: 10px;
  align-items: center;
  padding: 12px;
  background: rgba(13, 23, 38, 0.68);
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  box-shadow: 0 12px 42px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(12px);
}

.product-filter-panel input,
.product-filter-panel select {
  width: 100%;
  min-width: 0;
}

.product-filter-panel button {
  min-width: 92px;
}

.product-filter-panel.product-filter-compact {
  grid-template-columns: minmax(180px, 260px) max-content max-content max-content;
  justify-content: start;
}

.product-filter-panel.product-market-filter {
  grid-template-columns: minmax(180px, 240px) max-content;
  justify-content: start;
}

.product-filter-panel.product-history-filter {
  grid-template-columns: minmax(180px, 240px) minmax(180px, 240px) minmax(110px, 150px) max-content;
  justify-content: start;
}

.product-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.product-shell .ui-panel,
.product-shell .ui-metric-card {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(10, 18, 30, 0.94));
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  box-shadow: var(--product-shadow);
}

.product-shell .ui-panel-head {
  border-bottom-color: var(--product-line);
  background: rgba(15, 23, 42, 0.4);
}

.product-shell .ui-panel-head h3,
.product-shell .ui-metric-body strong,
.product-shell .product-kv-list strong {
  color: var(--product-text);
}

.product-shell .ui-panel-head span,
.product-shell .ui-metric-body span,
.product-shell .ui-metric-body small,
.product-shell .muted-text {
  color: var(--product-muted);
}

.product-shell .ui-metric-card {
  min-height: 112px;
  position: relative;
  overflow: hidden;
}

.product-shell .ui-metric-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), transparent 42%);
}

.product-metric-grid .ui-metric-card.good,
.product-metric-grid .ui-metric-card.warning,
.product-metric-grid .ui-metric-card.danger,
.product-metric-grid .ui-metric-card.neutral {
  border-left: 0;
}

.product-shell .ui-metric-card.good {
  border-color: rgba(32, 215, 181, 0.42);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.34), inset 3px 0 0 rgba(32, 215, 181, 0.9);
}

.product-shell .ui-metric-card.warning {
  border-color: rgba(247, 201, 72, 0.4);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.34), inset 3px 0 0 rgba(247, 201, 72, 0.92);
}

.product-shell .ui-metric-card.danger {
  border-color: rgba(251, 113, 133, 0.44);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.34), inset 3px 0 0 rgba(251, 113, 133, 0.92);
}

.product-shell .ui-metric-card.neutral {
  border-color: rgba(96, 165, 250, 0.28);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.34), inset 3px 0 0 rgba(96, 165, 250, 0.82);
}

.product-shell .ui-metric-body strong {
  font-size: 28px;
  font-variant-numeric: tabular-nums;
}

.product-shell .ui-badge {
  border-radius: 999px;
  border: 1px solid var(--product-line);
  background: rgba(148, 163, 184, 0.11);
  color: #c8d4e4;
}

.product-shell .ui-badge.good {
  color: #8ff5dc;
  background: rgba(32, 215, 181, 0.13);
  border-color: rgba(32, 215, 181, 0.36);
}

.product-shell .ui-badge.warning {
  color: #ffe08a;
  background: rgba(247, 201, 72, 0.13);
  border-color: rgba(247, 201, 72, 0.34);
}

.product-shell .ui-badge.danger,
.product-shell .ui-badge.risk {
  color: #ffb0bd;
  background: rgba(251, 113, 133, 0.12);
  border-color: rgba(251, 113, 133, 0.36);
}

.product-shell .ui-score-track {
  background: rgba(148, 163, 184, 0.15);
}

.product-shell .ui-score-fill.good {
  background: linear-gradient(90deg, #0fbaa4, #2eeac9);
}

.product-shell .ui-score-fill.warning {
  background: linear-gradient(90deg, #d98d10, #f7c948);
}

.product-shell .ui-score-fill.danger {
  background: linear-gradient(90deg, #e11d48, #fb7185);
}

.product-pager,
.product-actions-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.product-actions-row {
  justify-content: space-between;
}

.product-two-column {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
  gap: 14px;
}

.product-score-list {
  display: grid;
  gap: 13px;
  padding: 16px;
}

.product-score-row {
  display: grid;
  grid-template-columns: minmax(130px, 190px) minmax(160px, 1fr);
  align-items: center;
  gap: 14px;
}

.product-score-row > span {
  color: #c0ccdc;
  font-weight: 800;
}

.product-detail-section {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-detail-section:last-child {
  border-bottom: 0;
}

.product-detail-section strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-fundamental-filter {
  grid-template-columns: minmax(220px, 1.4fr) minmax(160px, 0.8fr) minmax(120px, 0.55fr) minmax(140px, 0.65fr) minmax(160px, 0.72fr) minmax(180px, 1fr) minmax(110px, 0.52fr) auto;
}

.product-fundamental-home-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.55fr);
  gap: 16px;
  align-items: stretch;
}

.product-fundamental-home-search,
.product-fundamental-home-snapshot {
  min-width: 0;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(6, 13, 24, 0.94));
  box-shadow: var(--product-shadow);
}

.product-fundamental-home-search {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 18px;
}

.product-fundamental-search-form {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) minmax(150px, 0.7fr) repeat(3, minmax(118px, 0.56fr));
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.22);
}

.product-fundamental-search-form input,
.product-fundamental-search-form select {
  width: 100%;
  min-width: 0;
}

.product-fundamental-search-form button {
  min-height: 40px;
  min-width: 92px;
  justify-self: start;
}

.product-fundamental-home-snapshot {
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 18px;
}

.product-fundamental-home-snapshot > span,
.product-fundamental-home-kpis small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-fundamental-home-snapshot > strong {
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.2;
}

.product-fundamental-home-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.product-fundamental-home-kpis > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-fundamental-home-kpis b {
  color: var(--product-accent);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-fundamental-radar-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
  gap: 14px;
  align-items: start;
}

.product-fundamental-radar-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  min-width: 0;
}

.product-fundamental-radar-side {
  min-width: 0;
}

.product-fundamental-card-list,
.product-fundamental-table-list {
  display: grid;
  gap: 10px;
}

.product-fundamental-table-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
}

.product-fundamental-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
  background: rgba(8, 16, 30, 0.72);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.product-fundamental-card:hover {
  border-color: rgba(37, 218, 195, 0.6);
  background: rgba(12, 30, 47, 0.88);
  transform: translateY(-1px);
}

.product-fundamental-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.product-fundamental-card-head strong {
  display: block;
  color: var(--product-accent);
  font-size: 17px;
  letter-spacing: 0;
}

.product-fundamental-card-head span,
.product-fundamental-card p,
.product-fundamental-card-score span {
  color: var(--product-muted);
}

.product-fundamental-card p {
  margin: 0;
  line-height: 1.45;
}

.product-fundamental-card-score {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.product-fundamental-card-score b {
  color: var(--product-text);
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-fundamental-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.product-card-more {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.product-fundamental-lead {
  display: grid;
  grid-template-columns: minmax(210px, 0.28fr) minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 35%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-fundamental-score-tile {
  display: grid;
  align-content: center;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(2, 6, 23, 0.26);
}

.product-fundamental-score-tile span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-fundamental-score-tile strong {
  color: var(--product-accent);
  font-size: 44px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-fundamental-lead-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.product-fundamental-lead-metrics > div {
  display: grid;
  align-content: center;
  gap: 6px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-fundamental-lead-metrics span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-fundamental-lead-metrics strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--product-text);
  font-size: 17px;
  line-height: 1.2;
}

.product-fundamental-detail-grid {
  display: grid;
  grid-template-columns: minmax(600px, 1fr) minmax(360px, 0.48fr);
  gap: 14px;
  align-items: start;
}

.product-fundamental-main-column,
.product-fundamental-side-column {
  display: grid;
  gap: 14px;
}

.product-fundamental-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-fundamental-chart {
  width: 100%;
  height: 280px;
}

.product-fundamental-dimension-list {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.product-fundamental-dimension-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.product-fundamental-dimension-card {
  display: grid;
  align-content: space-between;
  gap: 14px;
  min-height: 126px;
  padding: 14px;
  border: 1px solid rgba(65, 82, 115, 0.68);
  border-radius: 12px;
  background: rgba(8, 16, 30, 0.68);
}

.product-fundamental-dimension-card strong {
  display: block;
  color: var(--product-text);
  font-size: 14px;
}

.product-fundamental-dimension-card span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-fundamental-profile-tags,
.product-fundamental-peer-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 0 14px 14px;
}

.product-fundamental-profile-tags > span,
.product-fundamental-peer-strip > span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-fundamental-dimension-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.9fr) minmax(0, 1.25fr);
  gap: 12px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-fundamental-dimension-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.product-fundamental-dimension-row strong {
  display: block;
  color: var(--product-text);
  font-size: 13px;
}

.product-fundamental-dimension-row span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-fundamental-industry-list,
.product-fundamental-history-list {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.product-fundamental-industry-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.55fr) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-fundamental-industry-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.product-fundamental-industry-row strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-fundamental-industry-summary-list {
  display: grid;
  gap: 0;
  padding: 14px;
}

.product-fundamental-industry-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-fundamental-industry-summary-row:first-child {
  padding-top: 0;
}

.product-fundamental-industry-summary-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.product-fundamental-industry-summary-row span {
  color: var(--product-muted);
  font-size: 14px;
}

.product-fundamental-industry-summary-row strong {
  color: var(--product-text);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.product-fundamental-peer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-peer-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border: 1px solid rgba(45, 212, 191, 0.42);
  border-radius: 999px;
  color: var(--product-accent);
  background: rgba(20, 184, 166, 0.12);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.product-peer-chip:hover {
  border-color: rgba(45, 212, 191, 0.72);
  color: #f8fafc;
  background: rgba(20, 184, 166, 0.22);
}

.product-fundamental-history-chart {
  width: 100%;
  height: 280px;
}

.product-fundamental-history-chart-wrap {
  padding: 10px 14px 14px;
}

.product-fundamental-history-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 0;
}

.product-fundamental-history-row {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(65, 82, 115, 0.62);
  border-radius: 12px;
  background: rgba(8, 16, 30, 0.66);
}

.product-fundamental-history-row span,
.product-fundamental-history-row em {
  color: var(--product-muted);
  font-size: 12px;
  font-style: normal;
}

.product-fundamental-history-row strong {
  color: var(--product-accent);
  font-size: 22px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-fundamental-empty {
  border-color: rgba(148, 163, 184, 0.2);
  background: rgba(15, 23, 42, 0.62);
}

@media (max-width: 1360px) {
  .product-filter-panel.product-fundamental-filter {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.product-kv-list {
  display: grid;
  gap: 0;
  padding: 8px 16px 16px;
}

.product-kv-list > div {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) max-content;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--product-line);
}

.product-kv-list > div:last-child {
  border-bottom: 0;
}

.product-kv-list span,
.product-copy {
  color: var(--product-muted);
}

.product-kv-list strong {
  font-variant-numeric: tabular-nums;
}

.product-copy {
  margin: 0;
  line-height: 1.65;
}

.product-shell .table-wrap {
  background: transparent;
  border: 0;
}

.product-shell .resizable-table {
  color: var(--product-text);
  background: transparent;
}

.product-shell .resizable-table th {
  color: #a9b8cb;
  background: rgba(15, 23, 42, 0.82);
  border-bottom-color: var(--product-line);
}

.product-shell .resizable-table td {
  color: #dbe6f3;
  background: rgba(2, 6, 23, 0.14);
  border-bottom-color: rgba(148, 163, 184, 0.12);
}

.product-shell .resizable-table tbody tr:hover td {
  background: rgba(32, 215, 181, 0.08);
}

.product-shell .empty-cell {
  color: var(--product-muted);
}

.product-home-page {
  gap: 20px;
}

.product-home-toolbar {
  justify-self: start;
  max-width: 100%;
  border-radius: 18px;
  background: rgba(13, 23, 38, 0.52);
  box-shadow: 0 14px 46px rgba(0, 0, 0, 0.18);
}

.product-home-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.65fr);
  gap: 16px;
  align-items: stretch;
}

.product-home-section,
.product-home-column {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.product-home-section-head {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-home-section-head h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.22;
}

.product-home-section-head span {
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.55;
}

.product-home-brief {
  display: grid;
  gap: 14px;
  min-height: 100%;
  padding: 18px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(56, 189, 248, 0.24);
  border-radius: 16px;
  background:
    radial-gradient(circle at 88% 8%, rgba(56, 189, 248, 0.2), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-home-brief-head {
  display: grid;
  gap: 6px;
}

.product-home-brief-head strong {
  color: var(--product-text);
  font-size: 26px;
  line-height: 1.16;
}

.product-home-brief-head span {
  color: var(--product-muted);
  font-size: 13px;
}

.product-home-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-home-brief-stat {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.26);
  color: inherit;
  text-decoration: none;
}

.product-home-brief-stat:hover {
  border-color: rgba(32, 215, 181, 0.45);
  background: rgba(32, 215, 181, 0.08);
  text-decoration: none;
}

.product-home-brief-stat span,
.product-home-brief-stat small {
  color: var(--product-muted);
  font-size: 12px;
}

.product-home-brief-stat strong {
  color: var(--product-text);
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-home-brief-stat.good strong {
  color: var(--product-accent);
}

.product-home-brief-stat.warning strong {
  color: var(--product-warning);
}

.product-home-brief-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  margin-top: auto;
}

.product-home-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.82fr);
  gap: 16px;
  align-items: start;
}

.product-home-column-side .product-report-grid {
  grid-template-columns: 1fr;
}

.product-home-workspace .ui-panel {
  border-color: rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(9, 17, 30, 0.92));
}

.product-water-card {
  display: grid;
  grid-template-columns: minmax(280px, 0.52fr) minmax(0, 1fr);
  gap: 18px;
  min-height: 260px;
  padding: 26px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(32, 215, 181, 0.24);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.16), transparent 38%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-water-card::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -140px;
  top: -180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.22), transparent 68%);
  pointer-events: none;
}

.product-water-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 15px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  pointer-events: none;
}

.product-water-main,
.product-water-copy {
  position: relative;
  z-index: 1;
}

.product-water-main h2 {
  margin: 0 0 16px;
  color: var(--product-text);
  font-size: 30px;
  line-height: 1.18;
}

.product-water-main strong {
  display: block;
  color: var(--product-accent);
  font-size: 68px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-water-main span {
  display: block;
  margin-top: 8px;
  color: var(--product-muted);
  font-size: 13px;
  font-weight: 800;
}

.product-water-copy {
  display: grid;
  align-content: center;
  gap: 14px;
}

.product-water-copy p {
  margin: 0;
  color: #dbe6f3;
  font-size: 17px;
  line-height: 1.75;
}

.product-water-copy small {
  color: var(--product-muted);
  line-height: 1.7;
}

.product-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-factor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.product-factor-card {
  display: grid;
  gap: 12px;
  min-height: 158px;
  padding: 16px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(9, 17, 30, 0.94));
  box-shadow: 0 16px 46px rgba(0, 0, 0, 0.22);
}

.product-factor-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.product-factor-card > div:first-child > span {
  color: #c0ccdc;
  font-size: 13px;
  font-weight: 900;
}

.product-factor-card strong {
  color: var(--product-text);
  font-size: 30px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-factor-card p {
  margin: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.6;
}

.product-factor-score {
  grid-template-columns: 1fr;
  min-width: 0;
}

.product-factor-score > strong {
  display: none;
}

.product-factor-card.good {
  border-color: rgba(32, 215, 181, 0.34);
}

.product-factor-card.warning {
  border-color: rgba(247, 201, 72, 0.34);
}

.product-factor-card.danger {
  border-color: rgba(251, 113, 133, 0.36);
}

.product-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.product-card-list,
.product-risk-list,
.product-report-grid {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.product-list-card,
.product-risk-item,
.product-report-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--product-line);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
  color: var(--product-text);
  text-decoration: none;
}

.product-list-card:hover,
.product-risk-item:hover,
.product-report-card:hover {
  border-color: rgba(32, 215, 181, 0.45);
  background: rgba(32, 215, 181, 0.08);
  text-decoration: none;
}

.product-list-card > div:first-child,
.product-list-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.product-list-card strong,
.product-risk-item strong,
.product-report-card strong {
  color: var(--product-text);
}

.product-list-card b {
  color: var(--product-accent);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-list-card span,
.product-list-card small,
.product-risk-item span,
.product-report-card span,
.product-report-card small {
  color: var(--product-muted);
  font-size: 12px;
}

.product-list-card.signal p,
.product-report-card p {
  margin: 0;
  color: var(--product-muted);
  line-height: 1.55;
}

.product-risk-item.warning {
  border-color: rgba(247, 201, 72, 0.28);
}

.product-risk-item.danger {
  border-color: rgba(251, 113, 133, 0.34);
}

.product-report-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-reports-filter {
  grid-template-columns: minmax(180px, 240px) minmax(200px, 280px) minmax(110px, 150px) max-content;
  justify-content: start;
}

.product-report-home-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.56fr);
  gap: 16px;
  align-items: stretch;
}

.product-report-home-featured,
.product-report-home-panel {
  min-width: 0;
}

.product-report-home-featured .product-report-featured {
  height: 100%;
}

.product-report-home-panel {
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(6, 13, 24, 0.94));
  box-shadow: var(--product-shadow);
}

.product-report-date-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.22);
}

.product-report-date-form input {
  width: 100%;
}

.product-report-date-form button {
  min-height: 40px;
  min-width: 88px;
}

.product-report-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.product-report-snapshot-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-report-snapshot-grid span,
.product-report-snapshot-grid small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-report-snapshot-grid strong {
  color: var(--product-accent);
  font-size: 22px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.product-report-center-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.52);
}

.product-report-center-tabs button {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 13px 16px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--product-muted);
  background: transparent;
  text-align: left;
}

.product-report-center-tabs button:hover:not(:disabled),
.product-report-center-tabs button.active {
  color: #04111f;
  border-color: rgba(32, 215, 181, 0.76);
  background: linear-gradient(135deg, #2dd4bf, #38bdf8);
  box-shadow: 0 14px 32px rgba(45, 212, 191, 0.18);
}

.product-report-center-tabs button:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.product-report-center-tabs span {
  color: inherit;
  font-size: 16px;
  font-weight: 900;
}

.product-report-center-tabs small {
  color: inherit;
  font-size: 12px;
  line-height: 1.45;
  opacity: 0.86;
}

.product-report-featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 18px;
  align-items: end;
  padding: 22px;
  border: 1px solid rgba(32, 215, 181, 0.34);
  border-radius: var(--product-radius);
  background:
    linear-gradient(135deg, rgba(19, 78, 74, 0.62), rgba(15, 23, 42, 0.84)),
    radial-gradient(circle at 12% 18%, rgba(32, 215, 181, 0.14), transparent 34%);
  box-shadow: var(--product-shadow);
}

.product-report-featured h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 28px;
  line-height: 1.22;
  letter-spacing: 0;
}

.product-report-featured p {
  max-width: 880px;
  margin: 10px 0 14px;
  color: var(--product-muted);
  line-height: 1.75;
}

.product-report-featured button {
  min-width: 120px;
}

.product-report-featured.empty {
  align-items: center;
}

.product-report-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.product-report-type-grid button {
  display: grid;
  gap: 7px;
  min-width: 0;
  min-height: 118px;
  padding: 14px;
  text-align: left;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.66);
  box-shadow: var(--product-shadow);
}

.product-report-type-grid button.active,
.product-report-type-grid button:hover {
  border-color: rgba(32, 215, 181, 0.55);
  background: rgba(20, 184, 166, 0.12);
}

.product-report-type-grid span,
.product-report-type-grid small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-report-type-grid strong {
  color: var(--product-text);
  font-size: 17px;
}

.product-report-layout {
  display: grid;
  grid-template-columns: minmax(430px, 0.52fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.product-personal-report-layout {
  grid-template-columns: minmax(420px, 0.48fr) minmax(0, 1fr);
}

.product-report-browser-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.product-report-list {
  display: grid;
  gap: 10px;
  padding: 14px;
  max-height: 560px;
  overflow-y: auto;
  overflow-x: hidden;
}

.product-report-type-list {
  display: grid;
  padding: 4px 0;
}

.product-report-type-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 16px;
  border: 0;
  border-top: 1px solid var(--product-line);
  border-radius: 0;
  color: var(--product-text);
  background: transparent;
  text-align: left;
}

.product-report-type-list button:first-child {
  border-top: 0;
}

.product-report-type-list button.active,
.product-report-type-list button:hover {
  background: rgba(20, 184, 166, 0.1);
}

.product-report-type-list button.active {
  box-shadow: inset 3px 0 0 rgba(32, 215, 181, 0.9);
}

.product-report-type-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-report-type-main small,
.product-report-type-main em,
.product-report-type-meta {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-report-type-main strong {
  overflow: hidden;
  color: var(--product-text);
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-report-type-main em {
  display: -webkit-box;
  overflow: hidden;
  font-style: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-report-type-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  min-width: 86px;
}

.product-stock-report-generator {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-top: 1px solid var(--product-line);
  background: rgba(15, 23, 42, 0.34);
}

.product-stock-report-generator > strong {
  color: var(--product-text);
  font-size: 15px;
}

.product-stock-report-generator p {
  margin: 0;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-stock-report-generator form {
  display: grid;
  gap: 10px;
}

.product-stock-report-generator label:not(.product-stock-report-check) {
  display: grid;
  gap: 6px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-report-generator input[type="text"],
.product-stock-report-generator input:not([type]) {
  width: 100%;
}

.product-stock-report-check {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-report-check input {
  width: 14px;
  height: 14px;
  accent-color: #2dd4bf;
}

.product-stock-report-generator button {
  justify-self: start;
  min-width: 116px;
}

.product-stock-report-notice {
  color: var(--product-text) !important;
}

.product-report-list-card {
  display: grid;
  gap: 9px;
  width: 100%;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--product-line);
  border-radius: 12px;
  text-align: left;
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.54);
  white-space: normal;
  overflow: hidden;
}

.product-report-list-card:hover {
  border-color: rgba(32, 215, 181, 0.55);
  background: rgba(32, 215, 181, 0.08);
}

.product-report-list-card.selected {
  border-color: rgba(32, 215, 181, 0.7);
  background: rgba(20, 184, 166, 0.12);
  box-shadow: inset 3px 0 0 rgba(32, 215, 181, 0.9);
}

.product-report-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-report-list-head > span {
  min-width: 0;
  color: var(--product-muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-report-list-card strong {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-report-list-card p {
  margin: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.65;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-report-list-card .product-chip-row {
  min-width: 0;
  overflow: hidden;
}

.product-personal-report-list-panel .product-panel-body {
  display: grid;
  gap: 0;
}

.product-personal-report-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.7fr) max-content;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border-bottom: 1px solid var(--product-line);
  background: rgba(2, 6, 23, 0.18);
}

.product-personal-report-tools button {
  min-height: 40px;
  min-width: 88px;
}

.product-personal-report-card strong {
  color: var(--product-text);
}

.product-personal-report-detail-panel {
  min-height: 520px;
}

.product-personal-report-stale {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 6px 12px;
  align-items: center;
  min-width: 0;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(251, 113, 133, 0.24);
  background:
    linear-gradient(135deg, rgba(251, 113, 133, 0.12), transparent 52%),
    rgba(2, 6, 23, 0.22);
}

.product-personal-report-stale strong {
  color: #fecdd3;
  font-size: 14px;
  line-height: 1.25;
}

.product-personal-report-stale span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-personal-report-stale a {
  grid-row: 1 / span 2;
  grid-column: 2;
}

.product-personal-report-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
  gap: 16px;
  align-items: stretch;
  min-width: 0;
  padding: 20px;
  border-bottom: 1px solid var(--product-line);
  background:
    radial-gradient(circle at 12% 14%, rgba(32, 215, 181, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.2);
}

.product-personal-report-hero.public {
  background:
    radial-gradient(circle at 12% 14%, rgba(56, 189, 248, 0.15), transparent 34%),
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.2);
}

.product-personal-report-hero-copy {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.product-personal-report-hero-copy h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 30px;
  line-height: 1.16;
}

.product-personal-report-hero-copy p:not(.product-eyebrow) {
  max-width: 920px;
  margin: 0;
  color: var(--product-muted);
  font-size: 15px;
  line-height: 1.75;
}

.product-personal-report-hero-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  min-width: 0;
}

.product-personal-report-hero-stats > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.26);
}

.product-personal-report-hero-stats span,
.product-personal-report-hero-stats small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-personal-report-hero-stats strong {
  min-width: 0;
  color: var(--product-accent);
  font-size: 20px;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-personal-report-toc {
  display: grid;
  grid-template-columns: max-content repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
  min-width: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
  background: rgba(15, 23, 42, 0.26);
}

.product-personal-report-toc > span {
  align-self: center;
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.product-personal-report-toc > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 8px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.2);
}

.product-personal-report-toc b {
  grid-row: span 2;
  color: var(--product-cyan);
  font-size: 12px;
}

.product-personal-report-toc strong,
.product-personal-report-toc small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-personal-report-toc strong {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.25;
}

.product-personal-report-toc small {
  color: var(--product-muted);
  font-size: 11px;
}

.product-personal-report-source-coverage {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
  background:
    linear-gradient(135deg, rgba(32, 184, 239, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.18);
}

.product-personal-report-source-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-personal-report-source-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-personal-report-source-head strong {
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.2;
}

.product-personal-report-source-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-personal-report-source-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-personal-report-source-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 80px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-personal-report-source-grid > div.covered {
  border-color: rgba(32, 215, 181, 0.24);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 46%),
    rgba(2, 6, 23, 0.24);
}

.product-personal-report-source-grid > div.gap {
  border-color: rgba(247, 201, 72, 0.22);
}

.product-personal-report-source-grid span,
.product-personal-report-source-grid small {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-personal-report-source-grid strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-personal-report-source-grid > div.covered strong {
  color: var(--product-accent);
}

.product-personal-report-source-grid > div.gap strong {
  color: #fde68a;
}

.product-personal-report-points {
  grid-template-columns: 1fr;
}

.product-personal-report-section {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-personal-report-section h3 {
  margin: 0;
  color: var(--product-text);
  font-size: 18px;
}

.product-personal-report-section p,
.product-personal-report-section li {
  color: var(--product-muted);
  line-height: 1.75;
}

.product-personal-report-section p {
  margin: 0;
}

.product-personal-report-section ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

.product-shell .product-report-list-card {
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.54);
  box-shadow: none;
}

.product-shell .product-report-list-card:hover {
  color: var(--product-text);
  border-color: rgba(32, 215, 181, 0.55);
  background: rgba(32, 215, 181, 0.08);
  box-shadow: none;
}

.product-shell .product-report-list-card.selected,
.product-shell .product-report-list-card:active {
  color: var(--product-text);
  border-color: rgba(32, 215, 181, 0.7);
  background: rgba(20, 184, 166, 0.12);
  box-shadow: inset 3px 0 0 rgba(32, 215, 181, 0.9);
}

.product-report-detail-panel {
  overflow: hidden;
}

.product-report-action-row {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-report-detail-head {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-report-summary {
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
  font-size: 15px;
  line-height: 1.8;
}

.product-report-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-report-points > div {
  display: grid;
  gap: 9px;
  align-content: start;
  min-width: 0;
}

.product-report-points strong {
  color: var(--product-text);
}

.product-report-points .ui-tag-list {
  min-width: 0;
  align-items: flex-start;
}

.product-report-points .ui-badge {
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  justify-content: flex-start;
}

.product-report-section-list {
  display: grid;
}

.product-report-detail-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-report-detail-section h3 {
  margin: 0;
  color: var(--product-text);
  font-size: 18px;
}

.product-report-detail-section small {
  color: var(--product-muted);
}

.product-report-paragraphs {
  display: grid;
  gap: 8px;
}

.product-report-paragraphs p {
  margin: 0;
  color: var(--product-muted);
  line-height: 1.75;
}

.product-report-item-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-report-detail-section .ui-metric-card,
.product-report-detail-section .ui-metric-body {
  min-width: 0;
}

.product-report-metric-compact .ui-metric-body strong {
  font-size: 20px;
  line-height: 1.18;
  white-space: normal;
  overflow-wrap: anywhere;
}

.product-report-section-table {
  overflow: auto;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.18);
}

.product-report-table-head,
.product-report-table-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  min-width: 620px;
}

.product-report-table-head span,
.product-report-table-row span {
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid rgba(148, 163, 184, 0.12);
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-report-table-head span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  background: rgba(15, 23, 42, 0.58);
}

.product-report-table-row span {
  color: var(--product-text);
  font-size: 13px;
}

.product-report-dimension-list {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.18);
}

.product-report-dimension-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.85fr) minmax(180px, 1.2fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-report-dimension-row:last-child {
  border-bottom: 0;
}

.product-report-dimension-row > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-report-dimension-row strong {
  color: var(--product-text);
  font-size: 14px;
}

.product-report-dimension-row span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-report-dimension-row .ui-score-line {
  min-width: 0;
}

.product-report-dimension-row .ui-score-track {
  background: rgba(148, 163, 184, 0.18);
}

.product-report-dimension-row .ui-score-line strong {
  color: var(--product-text);
}

.product-report-footnote {
  margin: 0;
  padding: 12px 16px 16px;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.6;
}

.product-report-market-visual,
.product-report-trend-visual {
  display: grid;
  gap: 14px;
  padding: 14px 16px;
  border-top: 1px solid var(--product-line);
  background: rgba(2, 6, 23, 0.2);
}

.product-report-market-visual {
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.58fr);
  align-items: stretch;
}

.product-report-temperature,
.product-report-component-bar,
.product-report-index-card,
.product-report-industry-list {
  min-width: 0;
  border: 1px solid var(--product-line);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.56);
}

.product-report-temperature {
  display: grid;
  gap: 9px;
  padding: 16px;
}

.product-report-temperature span,
.product-report-temperature em,
.product-report-component-bar span,
.product-report-component-bar small,
.product-report-index-card span,
.product-report-index-card small,
.product-report-industry-list p {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
  font-style: normal;
}

.product-report-temperature strong {
  color: var(--product-accent);
  font-size: 42px;
  line-height: 1;
}

.product-report-temperature.warning strong {
  color: var(--product-warning);
}

.product-report-temperature.danger strong {
  color: var(--product-danger);
}

.product-report-temperature-track,
.product-report-component-track {
  position: relative;
  overflow: hidden;
  height: 9px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
}

.product-report-temperature-track {
  height: 12px;
  background: linear-gradient(90deg, var(--product-danger), var(--product-warning), var(--product-good));
}

.product-report-temperature-track i {
  position: absolute;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid #e5edf6;
  border-radius: 50%;
  background: #08111f;
  transform: translate(-50%, -50%);
}

.product-report-temperature-labels {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.product-report-component-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-report-component-bar {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.product-report-component-bar > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.product-report-component-bar strong {
  color: var(--product-text);
  font-size: 14px;
}

.product-report-component-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--product-blue);
}

.product-report-component-bar.good .product-report-component-track i {
  background: var(--product-good);
}

.product-report-component-bar.warning .product-report-component-track i {
  background: var(--product-warning);
}

.product-report-component-bar.danger .product-report-component-track i {
  background: var(--product-danger);
}

.product-report-trend-visual {
  grid-template-columns: minmax(0, 1fr) minmax(190px, 0.28fr);
}

.product-report-state-stack {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.product-report-state-stack-track {
  display: flex;
  overflow: hidden;
  height: 18px;
  border: 1px solid var(--product-line);
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
}

.product-report-state-stack-track span.good,
.product-report-state-legend span.good i {
  background: var(--product-good);
}

.product-report-state-stack-track span.warning,
.product-report-state-legend span.warning i {
  background: var(--product-warning);
}

.product-report-state-stack-track span.danger,
.product-report-state-legend span.danger i {
  background: var(--product-danger);
}

.product-report-state-stack-track span.neutral,
.product-report-state-legend span.neutral i {
  background: var(--product-muted-2);
}

.product-report-state-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.product-report-state-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-report-state-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}

.product-report-index-strip {
  display: grid;
  gap: 10px;
}

.product-report-index-card {
  display: grid;
  gap: 5px;
  padding: 12px;
}

.product-report-index-card strong {
  color: var(--product-good);
  font-size: 20px;
}

.product-report-index-card.danger strong {
  color: var(--product-danger);
}

.product-report-industry-movers {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-report-industry-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.product-report-industry-list > strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-report-industry-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  color: var(--product-muted);
  font-size: 12px;
}

.product-report-industry-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-report-industry-row em {
  flex: 0 0 auto;
  color: var(--product-good);
  font-style: normal;
  font-weight: 800;
}

.product-report-industry-list.danger .product-report-industry-row em {
  color: var(--product-danger);
}

.product-report-print-mode {
  gap: 18px;
  min-height: calc(100vh - 74px);
  padding: 20px;
  background: #dfe7ef;
  color: #0f172a;
}

.product-print-toolbar {
  position: sticky;
  top: 82px;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 10px;
  border: 1px solid rgba(30, 41, 59, 0.14);
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.92);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(10px);
}

.product-print-toolbar-actions {
  grid-column: 2;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.product-print-toolbar-notice {
  min-width: 0;
  overflow: hidden;
  color: rgba(15, 23, 42, 0.46);
  font-size: 13px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-print-toolbar .button-ghost,
.product-print-toolbar button {
  border-color: rgba(15, 23, 42, 0.18);
  color: #0f172a;
  background: #ffffff;
}

.product-print-toolbar button {
  border: 0;
  background: linear-gradient(135deg, #20d7b5, #38bdf8);
}

.product-print-sheet {
  display: grid;
  gap: 14px;
  width: min(1180px, 100%);
  margin: 0 auto 24px;
  padding: 0 28px 24px;
  border: 1px solid #94a3b8;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.2);
  font-family: Arial, "Microsoft YaHei", sans-serif;
}

.product-print-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 -28px;
  padding: 24px 36px;
  color: #ffffff;
  background: linear-gradient(90deg, #082f49, #0f2f5f);
}

.product-print-banner > div {
  display: grid;
  gap: 7px;
}

.product-print-banner > div:last-child {
  text-align: right;
}

.product-print-banner strong {
  color: inherit;
  font-size: 18px;
  line-height: 1.2;
}

.product-print-banner span {
  color: rgba(226, 232, 240, 0.9);
  font-size: 12px;
  letter-spacing: 0;
}

.product-print-top {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 18px;
  align-items: stretch;
  padding: 18px 0 6px;
}

.product-print-identity {
  display: grid;
  grid-template-columns: minmax(220px, max-content) minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #94a3b8;
}

.product-print-identity > strong {
  min-width: 0;
  color: #0f2f5f;
  font-size: clamp(44px, 5vw, 64px);
  line-height: 0.95;
  overflow-wrap: anywhere;
}

.product-print-identity div {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.product-print-identity b {
  min-width: 0;
  color: #111827;
  font-size: 26px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.product-print-identity span {
  color: #475569;
  font-size: 13px;
}

.product-print-status,
.product-print-stat-strip,
.product-print-fundamental-head {
  display: grid;
  gap: 10px;
}

.product-print-status {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-print-stat-strip,
.product-print-fundamental-head {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-print-fundamental-head {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.product-print-stat {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 12px;
  border-left: 3px solid #2f7dd1;
  background: #f8fafc;
}

.product-print-stat.warning {
  border-left-color: #d97706;
}

.product-print-stat.good {
  border-left-color: #059669;
}

.product-print-stat span,
.product-print-stat small {
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
}

.product-print-stat strong {
  min-width: 0;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.product-print-grid {
  display: grid;
  gap: 14px;
}

.product-print-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-print-box {
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 1px solid #1f3a4a;
  background: #ffffff;
}

.product-print-box-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #1f3a4a;
  background: #f1f5f9;
}

.product-print-box-head strong {
  color: #0f172a;
  font-size: 15px;
}

.product-print-box-head small {
  color: #475569;
  font-size: 12px;
}

.product-print-copy {
  margin: 0;
  padding: 4px 12px 12px;
  color: #1f2937;
  font-size: 13px;
  line-height: 1.8;
}

.product-print-section-visual {
  padding: 0 12px 12px;
}

.product-print-section-visual .product-report-market-visual,
.product-print-section-visual .product-report-trend-visual {
  border: 1px solid #cbd5e1;
  border-radius: 0;
  background: #f8fafc;
}

.product-print-section-visual .product-report-temperature,
.product-print-section-visual .product-report-component-bar,
.product-print-section-visual .product-report-index-card,
.product-print-section-visual .product-report-industry-list {
  border-color: #cbd5e1;
  background: #ffffff;
}

.product-print-section-visual .product-report-temperature span,
.product-print-section-visual .product-report-temperature em,
.product-print-section-visual .product-report-component-bar span,
.product-print-section-visual .product-report-component-bar small,
.product-print-section-visual .product-report-index-card span,
.product-print-section-visual .product-report-index-card small,
.product-print-section-visual .product-report-state-legend span,
.product-print-section-visual .product-report-industry-row,
.product-print-section-visual .product-report-industry-list p {
  color: #475569;
}

.product-print-section-visual .product-report-component-bar strong,
.product-print-section-visual .product-report-industry-list > strong {
  color: #0f172a;
}

.product-print-section-visual .product-report-temperature-track i {
  background: #0f2f5f;
}

.product-print-range {
  display: grid;
  gap: 18px;
  padding: 22px 20px 18px;
}

.product-print-range-track {
  position: relative;
  display: grid;
  grid-template-columns: 0.75fr 1fr 0.75fr;
  align-items: center;
  height: 48px;
}

.product-print-range-track span {
  height: 8px;
  font-size: 0;
}

.product-print-range-track .risk {
  background: #ef4444;
}

.product-print-range-track .watch {
  background: #2563eb;
}

.product-print-range-track .pressure {
  background: #059669;
}

.product-print-range-track i {
  position: absolute;
  top: 10px;
  width: 18px;
  height: 18px;
  transform: translateX(-50%) rotate(45deg);
  border: 2px solid #ffffff;
  background: #0f2f5f;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.2);
}

.product-print-range-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #475569;
  font-size: 12px;
}

.product-print-range-labels strong {
  color: #0f172a;
}

.product-print-table {
  display: grid;
  margin: 0 12px 12px;
  border-top: 1px solid #cbd5e1;
}

.product-print-table-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) minmax(120px, 0.75fr) minmax(0, 1fr);
  min-width: 0;
  border-bottom: 1px solid #cbd5e1;
}

.product-print-table-row span,
.product-print-table-row strong,
.product-print-table-row small {
  min-width: 0;
  padding: 8px 10px;
  color: #0f172a;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.product-print-table-row span {
  color: #0f766e;
}

.product-print-table-row small {
  color: #64748b;
}

.product-print-simple-table {
  display: grid;
  overflow: hidden;
  margin: 0 12px 12px;
  border: 1px solid #cbd5e1;
  border-bottom: 0;
}

.product-print-simple-table-head,
.product-print-simple-table-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
}

.product-print-simple-table-head span,
.product-print-simple-table-row span {
  min-width: 0;
  padding: 8px 10px;
  border-right: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
  color: #0f172a;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.product-print-simple-table-head span {
  color: #334155;
  font-weight: 800;
  background: #eef4f8;
}

.product-print-score-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  min-height: 138px;
}

.product-print-score {
  display: grid;
  align-content: center;
  gap: 10px;
  min-width: 0;
  padding: 18px;
  border-right: 1px solid #cbd5e1;
}

.product-print-score:last-child {
  border-right: 0;
}

.product-print-score span,
.product-print-score small {
  color: #475569;
  font-size: 12px;
}

.product-print-score strong {
  color: #0f2f5f;
  font-size: 34px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.product-print-score-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.product-print-score-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2563eb;
}

.product-print-score.good .product-print-score-track i {
  background: #059669;
}

.product-print-score.warning .product-print-score-track i {
  background: #d97706;
}

.product-print-tags {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #1f3a4a;
  background: #ffffff;
}

.product-print-tags > strong {
  padding-bottom: 8px;
  border-bottom: 1px solid #1f3a4a;
  color: #0f172a;
  font-size: 15px;
}

.product-print-tags ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
}

.product-print-tags li,
.product-print-tags p {
  margin: 0;
  color: #1f2937;
  font-size: 12px;
  line-height: 1.65;
}

.product-print-tags.good li::marker {
  color: #059669;
}

.product-print-tags.warning li::marker {
  color: #dc2626;
}

.product-print-dimensions {
  display: grid;
  margin: 0 12px 12px;
  border-top: 1px solid #cbd5e1;
}

.product-print-dimension {
  display: grid;
  grid-template-columns: minmax(90px, 0.55fr) minmax(130px, 1fr) minmax(44px, auto) minmax(150px, 0.9fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid #cbd5e1;
}

.product-print-dimension span,
.product-print-dimension strong,
.product-print-dimension small {
  color: #0f172a;
  font-size: 12px;
  line-height: 1.45;
}

.product-print-dimension > div {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.product-print-dimension i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2563eb;
}

.product-print-dimension.good i {
  background: #059669;
}

.product-print-dimension.warning i {
  background: #d97706;
}

.product-print-dimension.danger i {
  background: #dc2626;
}

.product-print-insider-head {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 12px;
}

.product-print-title {
  display: grid;
  gap: 10px;
  padding: 18px 0 4px;
}

.product-print-title h1 {
  margin: 0;
  color: #0f172a;
  font-size: 28px;
}

.product-print-title p {
  margin: 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.8;
}

.product-print-empty {
  margin: 0;
  padding: 12px;
  color: #64748b;
  font-size: 12px;
}

.product-print-footer {
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid #cbd5e1;
  color: #64748b;
  font-size: 11px;
  line-height: 1.6;
}

.product-home-lower {
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
}

.product-market-page {
  gap: 18px;
}

.product-filter-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.product-filter-field span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-market-lead {
  display: grid;
  grid-template-columns: minmax(240px, 0.32fr) minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(7, 14, 25, 0.96));
  box-shadow: var(--product-shadow);
}

.product-market-lead.warning {
  border-color: rgba(247, 201, 72, 0.3);
}

.product-market-lead.danger {
  border-color: rgba(251, 113, 133, 0.34);
}

.product-market-score-card,
.product-market-summary-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(2, 6, 23, 0.25);
}

.product-market-score-card {
  display: grid;
  align-content: center;
  gap: 10px;
}

.product-market-score-card > span,
.product-market-score-card small {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-market-score-card strong {
  color: var(--product-accent);
  font-size: 56px;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}

.product-market-summary-card {
  display: grid;
  align-content: center;
  gap: 12px;
}

.product-market-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.product-market-summary-card h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 24px;
}

.product-market-summary-head .button-ghost {
  flex: 0 0 auto;
  min-width: 96px;
}

.product-market-ai-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(2, 6, 23, 0.68);
  backdrop-filter: blur(8px);
}

.product-market-summary-card p,
.product-market-summary-card small {
  margin: 0;
  color: #cbd7e6;
  line-height: 1.7;
}

.product-market-summary-card small {
  color: var(--product-muted);
}

.product-market-ai-reading {
  width: min(1060px, calc(100vw - 56px));
  max-height: calc(100vh - 72px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  overflow: hidden;
  border: 1px solid rgba(32, 215, 181, 0.24);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 36%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(7, 14, 25, 0.94));
  box-shadow: var(--product-shadow);
}

.product-market-ai-reading.warning {
  border-color: rgba(247, 201, 72, 0.28);
}

.product-market-ai-reading.danger {
  border-color: rgba(251, 113, 133, 0.32);
}

.product-market-ai-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.product-market-ai-head h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.2;
}

.product-market-ai-head span,
.product-market-ai-summary small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-market-ai-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
}

.product-market-ai-body {
  display: grid;
  gap: 14px;
  min-width: 0;
  overflow: auto;
  padding: 16px;
}

.product-market-ai-summary {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.24);
}

.product-market-ai-summary p {
  margin: 0;
  color: #dbe6f3;
  line-height: 1.7;
}

.product-market-ai-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.product-market-ai-grid > div {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.22);
}

.product-market-ai-grid strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-market-ai-grid .ui-tag-list {
  align-items: flex-start;
}

.product-market-ai-grid .ui-badge {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  justify-content: flex-start;
}

.product-market-pulse-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.product-market-pulse-block {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.product-market-pulse-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.product-market-pulse-head h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 19px;
}

.product-market-pulse-head span {
  max-width: 240px;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

.product-market-driver-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-market-driver-column {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 158px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: var(--product-radius);
  background: rgba(15, 23, 42, 0.56);
}

.product-market-driver-column.good {
  border-color: rgba(32, 215, 181, 0.28);
  background: rgba(32, 215, 181, 0.08);
}

.product-market-driver-column.warning {
  border-color: rgba(247, 201, 72, 0.28);
  background: rgba(247, 201, 72, 0.08);
}

.product-market-driver-column > strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-market-pulse-meta {
  display: grid;
  gap: 10px;
  padding-top: 2px;
}

.product-market-pulse-meta .product-market-change-tags {
  gap: 7px;
}

.product-market-update-policy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-market-update-policy span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(88, 166, 255, 0.24);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.62);
  color: #c8d8eb;
  font-size: 12px;
  line-height: 1;
}

.product-market-update-policy strong,
.product-market-update-policy em {
  font-style: normal;
}

.product-market-update-policy em {
  color: var(--product-accent);
  font-weight: 800;
}

.product-market-summary-card .product-market-cadence-note {
  color: #9fb1c8;
  font-size: 13px;
  line-height: 1.65;
}

.product-market-change-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.product-market-change-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.58);
  color: #cbd7e6;
  font-size: 12px;
  line-height: 1.2;
}

.product-market-change-tag strong,
.product-market-change-tag em,
.product-market-change-tag small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-market-change-tag em {
  color: var(--product-text);
  font-style: normal;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.product-market-change-tag small {
  color: var(--product-muted);
}

.product-market-change-tag.good {
  border-color: rgba(32, 215, 181, 0.42);
  background: rgba(32, 215, 181, 0.1);
  color: #a8fff0;
}

.product-market-change-tag.warning {
  border-color: rgba(247, 201, 72, 0.42);
  background: rgba(247, 201, 72, 0.1);
  color: #fde68a;
}

.product-market-change-tag.danger {
  border-color: rgba(251, 113, 133, 0.52);
  background: rgba(251, 113, 133, 0.12);
  color: #fecdd3;
}

.product-market-change-empty {
  margin: 0;
}

.product-market-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(124px, 1fr));
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding: 8px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(13, 23, 38, 0.74);
}

.product-market-tabs button {
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 58px;
  padding: 8px 10px;
  border-color: transparent;
  background: transparent;
  color: #a8b7ca;
  box-shadow: none;
  text-align: left;
}

.product-market-tab-label {
  font-size: 13px;
  font-weight: 900;
}

.product-market-tabs button small {
  min-width: 0;
  overflow: hidden;
  color: #7890ad;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-market-tabs button:hover,
.product-market-tabs button.active {
  color: #06120f;
  border-color: transparent;
  background: linear-gradient(135deg, var(--product-accent), var(--product-accent-2));
  box-shadow: 0 12px 30px rgba(32, 215, 181, 0.16);
}

.product-market-tabs button:hover small,
.product-market-tabs button.active small {
  color: rgba(6, 18, 15, 0.78);
}

.product-market-tab-body {
  display: grid;
  gap: 14px;
}

.product-market-factor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.product-market-factor-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-market-factor {
  display: grid;
  gap: 12px;
  min-height: 178px;
  padding: 16px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(9, 17, 30, 0.94));
  box-shadow: var(--product-shadow);
  cursor: pointer;
}

.product-market-factor-grid.compact .product-market-factor {
  min-height: 158px;
  padding: 16px;
}

.product-market-factor-grid.compact .product-market-factor strong {
  font-size: 30px;
}

.product-shell .product-market-factor {
  width: 100%;
  color: inherit;
  text-align: left;
  border: 1px solid var(--product-line);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(9, 17, 30, 0.94));
  box-shadow: var(--product-shadow);
}

.product-shell .product-market-factor:hover,
.product-shell .product-market-factor:focus {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(9, 17, 30, 0.98));
}

.product-market-factor:hover,
.product-market-factor:focus {
  border-color: rgba(32, 215, 181, 0.45);
  outline: none;
}

.product-market-factor.good {
  border-color: rgba(32, 215, 181, 0.34);
}

.product-market-factor.warning {
  border-color: rgba(247, 201, 72, 0.34);
}

.product-market-factor.danger {
  border-color: rgba(251, 113, 133, 0.36);
}

.product-market-factor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.product-market-factor-head > span {
  color: #c0ccdc;
  font-size: 13px;
  font-weight: 900;
}

.product-market-factor strong {
  color: var(--product-text);
  font-size: 34px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-market-factor p {
  margin: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.6;
}

.product-market-factor-bar {
  grid-template-columns: 1fr;
}

.product-market-factor-bar > strong {
  display: none;
}

.product-market-driver-grid,
.product-market-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.product-market-explain-list {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.product-market-explain-list p {
  margin: 0;
  color: var(--product-muted);
  line-height: 1.7;
}

.product-market-radar-grid {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.product-market-radar-row {
  display: grid;
  grid-template-columns: minmax(190px, 0.7fr) minmax(230px, 1fr) max-content;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--product-line);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-market-radar-row strong,
.product-market-radar-row small {
  display: block;
}

.product-market-radar-row strong {
  color: var(--product-text);
}

.product-market-radar-row small {
  margin-top: 4px;
  color: var(--product-muted);
  line-height: 1.5;
}

.product-howto {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(13, 23, 38, 0.72);
}

.product-howto strong {
  color: var(--product-accent);
  font-size: 13px;
}

.product-howto p {
  margin: 0;
  color: var(--product-muted);
  line-height: 1.7;
}

.product-market-group-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.product-market-group-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(15, 23, 42, 0.78);
}

.product-market-group-card span,
.product-market-group-card small {
  color: var(--product-muted);
  font-size: 12px;
}

.product-market-group-card strong {
  color: var(--product-text);
  font-size: 26px;
  line-height: 1;
}

.product-market-group-card.good {
  border-color: rgba(32, 215, 181, 0.34);
}

.product-market-group-card.warning {
  border-color: rgba(247, 201, 72, 0.34);
}

.product-market-group-card.danger {
  border-color: rgba(251, 113, 133, 0.36);
}

.product-shell .product-market-group-card.selectable {
  min-height: 104px;
  width: 100%;
  color: inherit;
  text-align: left;
  border: 1px solid var(--product-line);
  background: rgba(15, 23, 42, 0.78);
  box-shadow: none;
}

.product-shell .product-market-group-card.selectable:hover,
.product-shell .product-market-group-card.selectable:focus {
  background: rgba(15, 23, 42, 0.92);
  border-color: rgba(32, 215, 181, 0.45);
}

.product-market-group-card.selectable.active {
  border-color: rgba(32, 215, 181, 0.72);
  box-shadow: 0 0 0 1px rgba(32, 215, 181, 0.16), 0 16px 36px rgba(0, 0, 0, 0.22);
}

.product-market-cot-selector {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.product-market-cot-metric-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
}

.product-shell .product-market-cot-metric-toggle button {
  min-height: 30px;
  padding: 0 12px;
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 900;
}

.product-shell .product-market-cot-metric-toggle button:hover,
.product-shell .product-market-cot-metric-toggle button.active {
  border-color: rgba(32, 215, 181, 0.52);
  background: rgba(32, 215, 181, 0.16);
  color: #bffdf0;
}

.product-history-free-note {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: var(--product-radius);
  background: rgba(15, 23, 42, 0.74);
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.5;
}

.product-tab-lock {
  margin-left: 6px;
  padding: 2px 6px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  color: #cbd5e1;
  font-size: 10px;
  font-weight: 900;
}

.product-market-tabs button.active .product-tab-lock {
  color: #06120f;
  border-color: rgba(6, 18, 15, 0.28);
}

.product-market-pro-detail {
  min-width: 0;
}

.product-market-pro-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-market-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  min-width: 0;
}

.product-market-chart-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.product-market-chart-grid .ui-panel {
  overflow: hidden;
}

.product-market-echart {
  width: 100%;
  height: 320px;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.44), rgba(2, 6, 23, 0.22));
}

.product-market-echart-wide {
  height: 380px;
}

.product-pro-lock {
  display: grid;
  gap: 10px;
  min-height: 220px;
  align-content: center;
  padding: 26px;
  border-top: 1px solid var(--product-line);
  background:
    linear-gradient(135deg, rgba(88, 166, 255, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.28);
}

.product-pro-lock strong {
  color: var(--product-text);
  font-size: 22px;
}

.product-pro-lock p {
  max-width: 620px;
  margin: 0;
  color: var(--product-muted);
  line-height: 1.7;
}

.product-mini-trend {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(6px, 1fr);
  align-items: end;
  gap: 4px;
  height: 180px;
  padding: 18px;
}

.product-mini-trend span {
  display: block;
  min-height: 8px;
  border-radius: 999px 999px 3px 3px;
  background: var(--product-blue);
  opacity: 0.88;
}

.product-mini-trend span.good {
  background: linear-gradient(180deg, #2eeac9, #0fbaa4);
}

.product-mini-trend span.warning {
  background: linear-gradient(180deg, #f7c948, #d98d10);
}

.product-mini-trend span.danger {
  background: linear-gradient(180deg, #fb7185, #e11d48);
}

.product-filter-panel.product-trend-filter {
  grid-template-columns: minmax(180px, 220px) minmax(220px, 1fr) minmax(160px, 220px) minmax(220px, 1fr) minmax(110px, 150px) max-content;
}

.product-trend-page {
  gap: 18px;
}

.product-trend-lead {
  display: grid;
  grid-template-columns: minmax(240px, 0.32fr) minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(7, 14, 25, 0.96));
  box-shadow: var(--product-shadow);
}

.product-trend-lead.warning {
  border-color: rgba(247, 201, 72, 0.3);
}

.product-trend-lead.danger {
  border-color: rgba(251, 113, 133, 0.34);
}

.product-trend-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 2px;
}

.product-trend-kpi-strip > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-trend-kpi-strip span,
.product-trend-kpi-strip small {
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.product-trend-kpi-strip strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-trend-pulse-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  align-items: stretch;
}

.product-trend-pulse-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  min-height: 0;
}

.product-trend-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.product-trend-section-head h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 19px;
  line-height: 1.2;
}

.product-trend-section-head span {
  display: block;
  margin-top: 4px;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-trend-pulse-grid .product-trend-state-grid,
.product-trend-pulse-grid .product-trend-industry-grid,
.product-trend-pulse-grid .product-trend-leader-grid {
  grid-auto-rows: minmax(0, 1fr);
  height: 100%;
  padding: 0;
}

.product-trend-pulse-grid .product-trend-mini-bars {
  height: 100%;
  min-height: 168px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: var(--product-radius);
  background: rgba(15, 23, 42, 0.44);
}

.product-trend-pulse-list {
  align-content: stretch;
  min-height: 0;
}

.product-trend-pulse-list .product-trend-industry-card,
.product-trend-pulse-list .product-trend-leader-card {
  height: 100%;
}

.product-trend-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: 14px;
}

.product-trend-state-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.product-trend-state-card,
.product-trend-industry-card,
.product-trend-leader-card {
  display: grid;
  gap: 11px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(2, 6, 23, 0.24);
}

.product-trend-state-card.good,
.product-trend-industry-card.good,
.product-trend-leader-card.good {
  border-color: rgba(32, 215, 181, 0.34);
}

.product-trend-state-card.warning,
.product-trend-industry-card.warning,
.product-trend-leader-card.warning {
  border-color: rgba(247, 201, 72, 0.34);
}

.product-trend-state-card.danger,
.product-trend-industry-card.danger,
.product-trend-leader-card.danger {
  border-color: rgba(251, 113, 133, 0.36);
}

.product-trend-state-card > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.product-trend-state-card span,
.product-trend-state-card small {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-trend-state-card strong {
  color: var(--product-text);
  font-size: 24px;
  font-variant-numeric: tabular-nums;
}

.product-trend-state-card .ui-score-line,
.product-trend-score-row .ui-score-line {
  grid-template-columns: 1fr;
}

.product-trend-state-card .ui-score-line > strong,
.product-trend-score-row .ui-score-line > strong {
  display: none;
}

.product-trend-industry-grid,
.product-trend-leader-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.product-trend-industry-grid.compact,
.product-trend-leader-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-trend-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.product-trend-card-head strong {
  display: block;
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.3;
}

.product-trend-card-head span,
.product-trend-leader-card p {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-trend-score-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.product-trend-score-row b {
  color: var(--product-accent);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-trend-card-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.product-trend-card-metrics span {
  display: grid;
  gap: 3px;
  padding: 8px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.58);
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 800;
}

.product-trend-card-metrics b {
  color: var(--product-text);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.product-trend-leader-card {
  color: var(--product-text);
  text-decoration: none;
}

.product-trend-leader-card:hover {
  border-color: rgba(32, 215, 181, 0.45);
  background: rgba(32, 215, 181, 0.08);
  text-decoration: none;
}

.product-trend-mini-bars {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(6px, 1fr);
  align-items: end;
  gap: 4px;
  height: 210px;
  max-width: 100%;
  padding: 18px;
  overflow: hidden;
}

.product-trend-mini-bars span {
  display: block;
  min-height: 6px;
  border-radius: 999px 999px 3px 3px;
  background: var(--product-blue);
  opacity: 0.9;
}

.product-trend-mini-bars span.good {
  background: linear-gradient(180deg, #2eeac9, #0fbaa4);
}

.product-trend-mini-bars span.warning {
  background: linear-gradient(180deg, #f7c948, #d98d10);
}

.product-trend-mini-bars span.danger {
  background: linear-gradient(180deg, #fb7185, #e11d48);
}

.product-filter-panel.product-signals-filter {
  grid-template-columns: minmax(140px, 170px) minmax(140px, 170px) minmax(120px, 150px) minmax(190px, 1.05fr) minmax(104px, 120px) minmax(140px, 0.8fr) minmax(160px, 1fr) minmax(100px, 120px) max-content;
}

.product-filter-panel.product-research-filter {
  grid-template-columns: minmax(140px, 170px) minmax(190px, 1fr) minmax(170px, 0.86fr) minmax(150px, 0.7fr) minmax(130px, 0.62fr) minmax(100px, 112px) max-content;
}

.product-filter-panel.product-watchlist-filter {
  grid-template-columns: minmax(170px, 0.65fr) minmax(260px, 1.15fr) minmax(170px, 0.7fr) minmax(160px, 0.66fr) minmax(110px, 0.45fr) max-content;
}

.product-research-tabs {
  margin-top: -2px;
}

.product-research-queue-page .product-signal-card {
  min-height: 176px;
}

.product-watch-command {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.72fr);
  gap: 16px;
  align-items: stretch;
}

.product-watch-overview-card,
.product-watch-add-card {
  min-width: 0;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-watch-overview-card {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 20px;
}

.product-watch-overview-card h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 28px;
  line-height: 1.18;
}

.product-watch-overview-card p:not(.product-eyebrow) {
  max-width: 860px;
  margin: 0;
  color: var(--product-muted);
  line-height: 1.75;
}

.product-watch-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.product-watch-summary-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-watch-summary-grid span,
.product-watch-summary-grid small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-watch-summary-grid strong {
  color: var(--product-accent);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-watch-add-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px;
}

.product-watch-add-card > strong {
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.2;
}

.product-watch-add-card .product-watch-add-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-watch-add-card .product-watch-add-form button {
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 132px;
}

.product-watch-add-panel .ui-panel-body {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.product-watch-add-form {
  display: grid;
  grid-template-columns: minmax(120px, 0.55fr) minmax(130px, 0.55fr) minmax(180px, 1fr) minmax(220px, 1.2fr) max-content;
  gap: 12px;
  align-items: end;
}

.product-watch-add-form button {
  min-height: 40px;
}

.product-workspace-command-center {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.product-workspace-identity-bar {
  display: grid;
  grid-template-columns: minmax(240px, 0.46fr) minmax(0, 1fr) max-content;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(32, 215, 181, 0.18);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(32, 215, 181, 0.1), rgba(15, 23, 42, 0.52) 42%, rgba(2, 6, 23, 0.62));
}

.product-workspace-identity-bar > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-identity-bar span,
.product-workspace-identity-bar small,
.product-workspace-identity-metrics span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-identity-bar > div:first-child > span {
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.product-workspace-identity-bar strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 18px;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-identity-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-identity-metrics > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-identity-metrics b {
  color: var(--product-accent);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-identity-bar > a {
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid rgba(32, 215, 181, 0.28);
  border-radius: 10px;
  color: #03141b;
  background: linear-gradient(135deg, var(--product-accent), var(--product-cyan));
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.product-workspace-command-main,
.product-workspace-quick-add {
  min-width: 0;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.13), transparent 36%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-workspace-command-main {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.product-workspace-command-head {
  display: grid;
  grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.product-workspace-command-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-command-main h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 30px;
  line-height: 1.15;
}

.product-workspace-command-main p:not(.product-eyebrow) {
  max-width: 880px;
  margin: 0;
  color: var(--product-muted);
  line-height: 1.7;
}

.product-workspace-command-body {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
  min-width: 0;
}

.product-workspace-priority-board {
  display: grid;
  grid-column: span 2;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
}

.product-workspace-priority-card {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  color: var(--product-text);
  font: inherit;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.72), rgba(2, 6, 23, 0.34));
  text-align: left;
}

.product-workspace-priority-card.primary {
  min-height: 100%;
}

button.product-workspace-priority-card {
  cursor: pointer;
}

button.product-workspace-priority-card:hover,
button.product-workspace-priority-card:focus-visible {
  border-color: rgba(32, 215, 181, 0.46);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 42%),
    rgba(2, 6, 23, 0.38);
}

.product-workspace-priority-card.primary {
  border-color: rgba(32, 215, 181, 0.34);
  background:
    radial-gradient(circle at 14% 14%, rgba(32, 215, 181, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(2, 6, 23, 0.4));
}

.product-workspace-priority-card.primary.warning {
  border-color: rgba(247, 201, 72, 0.34);
  background:
    radial-gradient(circle at 14% 14%, rgba(247, 201, 72, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(2, 6, 23, 0.4));
}

.product-workspace-priority-card span,
.product-workspace-priority-card small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-priority-card span {
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.product-workspace-priority-card strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 18px;
  line-height: 1.18;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-priority-card.primary strong {
  font-size: 22px;
}

.product-workspace-priority-card button,
.product-workspace-priority-card a {
  justify-self: start;
  min-height: 32px;
  margin-top: 2px;
  padding: 7px 12px;
  border: 1px solid rgba(32, 215, 181, 0.28);
  border-radius: 9px;
  color: #03141b;
  background: linear-gradient(135deg, var(--product-accent), var(--product-cyan));
  font-weight: 900;
  text-decoration: none;
}

.product-workspace-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-self: stretch;
}

.product-workspace-metric {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-workspace-metric span,
.product-workspace-metric small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-workspace-metric strong {
  color: var(--product-text);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-metric.good strong {
  color: var(--product-accent);
}

.product-workspace-metric.warning strong {
  color: #f7c948;
}

.product-workspace-metric.danger strong {
  color: #fb7185;
}

.product-workspace-today-tasks {
  display: grid;
  grid-column: span 3;
  gap: 10px;
  align-content: start;
  min-width: 0;
  min-height: 100%;
  padding: 12px;
  border: 1px solid rgba(247, 201, 72, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(247, 201, 72, 0.09), transparent 36%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-today-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-workspace-today-title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-today-title strong {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.2;
}

.product-workspace-today-title span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-today-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

.product-workspace-today-actions button {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 9px;
  white-space: nowrap;
}

.product-workspace-today-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-today-body {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-today-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  align-content: start;
  min-width: 0;
  min-height: 70px;
  padding: 10px 11px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 10px;
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.38);
  text-align: left;
}

.product-workspace-today-list button:hover {
  border-color: rgba(32, 215, 181, 0.42);
  background: rgba(32, 215, 181, 0.08);
}

.product-workspace-today-list span {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  min-width: 0;
  color: var(--product-accent);
  font-size: 13px;
  font-weight: 900;
}

.product-workspace-today-list span .ui-badge {
  flex: 0 0 auto;
  max-width: none;
  min-width: max-content;
  padding: 2px 6px;
  font-size: 10px;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.product-workspace-today-list strong,
.product-workspace-today-list small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-today-list strong {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.25;
}

.product-workspace-today-list small {
  color: var(--product-muted);
  font-size: 11px;
}

.product-shell .product-workspace-today-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  width: 100%;
  height: auto;
  min-height: 70px;
  box-shadow: none;
}

.product-workspace-today-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(247, 201, 72, 0.2);
  border-radius: 10px;
  color: #fde68a;
  background: rgba(247, 201, 72, 0.07);
  font: inherit;
  text-align: left;
}

.product-workspace-today-more:hover,
.product-workspace-today-more:focus-visible {
  border-color: rgba(247, 201, 72, 0.42);
  background: rgba(247, 201, 72, 0.11);
}

.product-workspace-today-more span,
.product-workspace-today-more strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-today-more span {
  font-size: 12px;
  font-weight: 900;
}

.product-workspace-today-more strong {
  color: var(--product-text);
  font-size: 12px;
}

.product-workspace-flow-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

button.product-workspace-flow-step,
.product-workspace-flow-step {
  display: grid;
  gap: 4px;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 10px;
  appearance: none;
  color: inherit;
  font: inherit;
  background: rgba(2, 6, 23, 0.2);
  box-shadow: none;
  text-align: left;
  text-decoration: none;
}

button.product-workspace-flow-step.active,
.product-workspace-flow-step.active {
  border-color: rgba(32, 215, 181, 0.35);
  background: rgba(32, 215, 181, 0.08);
}

.product-workspace-flow-step.interactive {
  cursor: pointer;
}

button.product-workspace-flow-step.interactive:hover,
button.product-workspace-flow-step.interactive:focus-visible,
.product-workspace-flow-step.interactive:hover,
.product-workspace-flow-step.interactive:focus-visible {
  border-color: rgba(32, 215, 181, 0.58);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.14), transparent 48%),
    rgba(2, 6, 23, 0.26);
}

.product-workspace-flow-step span,
.product-workspace-flow-step small {
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 800;
}

.product-workspace-flow-step strong {
  color: var(--product-text);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-starter-path {
  display: grid;
  grid-template-columns: minmax(230px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  min-width: 0;
  padding-top: 2px;
}

.product-workspace-starter-copy {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 12px 0;
}

.product-workspace-starter-copy span {
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.product-workspace-starter-copy strong {
  color: var(--product-text);
  font-size: 18px;
  line-height: 1.2;
}

.product-workspace-starter-copy small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-workspace-starter-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-starter-steps > a,
.product-workspace-starter-steps > button,
.product-workspace-starter-steps > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 98px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  color: var(--product-text);
  font: inherit;
  background: rgba(2, 6, 23, 0.18);
  text-align: left;
  text-decoration: none;
}

.product-workspace-starter-steps > a,
.product-workspace-starter-steps > button {
  cursor: pointer;
}

.product-workspace-starter-steps > a:hover,
.product-workspace-starter-steps > button:hover,
.product-workspace-starter-steps > a:focus-visible,
.product-workspace-starter-steps > button:focus-visible {
  border-color: rgba(32, 215, 181, 0.52);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 44%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-starter-steps span,
.product-workspace-starter-steps small {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-workspace-starter-steps span {
  color: var(--product-accent);
  font-weight: 900;
}

.product-workspace-starter-steps strong {
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.2;
}

.product-workspace-quick-add {
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 18px;
}

.product-workspace-quick-add > strong {
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.2;
}

.product-workspace-quick-add .product-watch-add-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-workspace-quick-add .product-watch-add-form button {
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 112px;
}

.product-workspace-quick-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.product-workspace-quick-links a {
  padding: 7px 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.product-workspace-quick-links a:hover {
  color: var(--product-text);
  border-color: rgba(32, 215, 181, 0.42);
  background: rgba(32, 215, 181, 0.08);
}

.product-workspace-shell-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.product-workspace-subnav {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 8px;
  width: min(520px, 100%);
  margin: 14px 0 4px;
  padding: 6px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.38);
}

.product-workspace-subnav a {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--product-muted);
  text-decoration: none;
}

.product-workspace-subnav a.active {
  border-color: rgba(32, 215, 181, 0.44);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.22), rgba(34, 211, 238, 0.1)),
    rgba(15, 23, 42, 0.76);
  color: var(--product-text);
}

.product-workspace-subnav em {
  color: var(--product-accent);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
}

.product-workspace-subnav strong {
  overflow: hidden;
  color: inherit;
  font-size: 14px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-subnav span {
  overflow: hidden;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-free-trial {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 920px;
  margin: 8px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  border-radius: 12px;
  background: rgba(245, 158, 11, 0.07);
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.45;
}

.product-workspace-free-trial strong {
  flex: 0 0 auto;
  color: #facc15;
  font-size: 13px;
}

.product-workspace-free-trial span {
  min-width: 0;
}

.product-workspace-free-trial a {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--product-accent);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 700px) {
  .product-workspace-free-trial {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-workspace-free-trial a {
    margin-left: 0;
  }
}

.product-workspace-cockpit-main {
  display: block;
  min-width: 0;
  margin-top: 18px;
}

.product-workspace-studio {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 16px;
  align-items: start;
  min-width: 0;
  margin-top: 18px;
}

.product-workspace-studio.intake-open {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
}

.product-workspace-studio-main,
.product-workspace-intake-rail {
  min-width: 0;
}

.product-workspace-studio .product-workspace-case-panel {
  margin-top: 0;
}

.product-workspace-intake-rail {
  position: sticky;
  top: 84px;
  display: grid;
  max-height: calc(100vh - 108px);
  overflow: auto;
}

.product-workspace-intake-rail .product-workspace-watch-column {
  gap: 0;
}

.product-workspace-intake-rail .product-workspace-watch-dock {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
}

.product-workspace-intake-rail .product-workspace-watch-dock > button {
  width: 100%;
}

.product-workspace-intake-rail .product-workspace-watch-dock-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-workspace-intake-rail .product-workspace-watch-column.collapsed .product-workspace-watch-dock-metrics {
  justify-content: stretch;
}

.product-workspace-intake-rail .product-workspace-watch-column.collapsed .product-workspace-watch-dock-metrics > div {
  display: grid;
  gap: 3px;
  width: auto;
  padding: 8px;
  border-radius: 9px;
}

.product-workspace-intake-rail .product-workspace-watch-content {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.product-workspace-intake-rail .product-workspace-watch-panel .ui-panel-head {
  padding: 14px;
}

.product-workspace-intake-rail .product-workspace-watch-capture {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
}

.product-workspace-intake-rail .product-workspace-watch-capture .product-watch-add-form,
.product-workspace-intake-rail .product-workspace-watch-filter {
  grid-template-columns: minmax(0, 1fr);
}

.product-workspace-intake-rail .product-workspace-watch-filter {
  padding: 12px 12px 0;
}

.product-workspace-intake-rail .product-watch-status-row.compact {
  padding: 0 12px;
}

.product-workspace-intake-rail .product-watch-card-list.compact {
  max-height: 420px;
}

.product-workspace-intake-rail .product-watch-card {
  min-height: 0;
}

.product-workspace-intake-rail .product-watch-card p {
  -webkit-line-clamp: 2;
}

.product-workspace-intake-rail .product-watch-detail {
  border-radius: 14px;
}

.product-workspace-intake-rail .product-watch-detail .ui-panel-head,
.product-workspace-intake-rail .product-watch-detail .ui-panel-body {
  padding-left: 14px;
  padding-right: 14px;
}

.product-workspace-main-column,
.product-workspace-watch-column {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.product-workspace-watch-content {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.46fr);
  align-items: start;
  min-width: 0;
}

.product-workspace-watch-dock {
  display: grid;
  grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr) max-content;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(6, 13, 24, 0.94));
  box-shadow: var(--product-shadow);
}

.product-workspace-watch-column.collapsed .product-workspace-watch-dock {
  padding: 14px 16px;
  border-color: rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(90deg, rgba(32, 215, 181, 0.08), rgba(15, 23, 42, 0.4) 42%, rgba(2, 6, 23, 0.52));
  box-shadow: none;
}

.product-workspace-watch-column.collapsed .product-workspace-watch-dock-metrics {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.product-workspace-watch-column.collapsed .product-workspace-watch-dock-metrics > div {
  display: flex;
  align-items: baseline;
  gap: 6px;
  width: fit-content;
  min-width: 0;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.18);
}

.product-workspace-watch-column.collapsed .product-workspace-watch-dock-metrics b {
  font-size: 14px;
}

.product-workspace-watch-dock > div:first-child {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-workspace-watch-dock strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.2;
}

.product-workspace-watch-column.collapsed .product-workspace-watch-dock strong {
  font-size: 18px;
}

.product-workspace-watch-dock span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-workspace-watch-dock > button {
  min-width: 118px;
  white-space: nowrap;
}

.product-workspace-watch-dock-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-watch-dock-metrics > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-watch-dock-metrics b {
  color: var(--product-accent);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-watch-panel .ui-panel-body {
  display: grid;
  gap: 12px;
}

.product-workspace-watch-control-deck {
  display: grid;
  gap: 0;
  margin: 12px 14px 0;
  overflow: hidden;
  border: 1px solid rgba(32, 184, 239, 0.14);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 34%),
    rgba(2, 6, 23, 0.18);
}

.product-workspace-watch-capture {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  align-items: end;
  padding: 16px;
  border-bottom: 1px solid var(--product-line);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    rgba(2, 6, 23, 0.18);
}

.product-workspace-watch-control-deck .product-workspace-watch-capture {
  padding: 14px;
  border-bottom-color: rgba(148, 163, 184, 0.12);
  background: transparent;
}

.product-workspace-watch-capture > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-workspace-watch-capture strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.2;
}

.product-workspace-watch-capture span {
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.5;
}

.product-workspace-watch-capture .product-watch-add-form {
  grid-template-columns: minmax(120px, 0.55fr) minmax(120px, 0.55fr) minmax(180px, 1fr) minmax(160px, 0.75fr) max-content;
}

.product-workspace-watch-filter {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(170px, 0.8fr) minmax(160px, 0.75fr) minmax(120px, 0.5fr) max-content;
  gap: 10px;
  align-items: end;
  padding: 14px 14px 0;
}

.product-workspace-watch-filter .product-filter-field:nth-child(2) {
  grid-column: span 1;
}

.product-workspace-watch-filter button {
  justify-self: start;
}

.product-workspace-watch-control-deck .product-workspace-watch-filter {
  padding: 12px 14px 14px;
}

.product-workspace-watch-list-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 14px 14px 2px;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
}

.product-workspace-watch-list-head > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.product-workspace-watch-list-head strong {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.2;
}

.product-workspace-watch-list-head span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-watch-status-row.compact {
  gap: 8px;
}

.product-workspace-watch-list-head .product-watch-status-row.compact {
  justify-content: flex-start;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.18);
}

.product-watch-status-row.compact button {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
}

.product-watch-card-list.compact {
  max-height: 360px;
  padding-top: 0;
}

.product-workspace-watch-column.expanded .product-watch-card-list.compact {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  align-items: start;
  max-height: none;
  padding: 10px 14px 14px;
  overflow: visible;
}

.product-workspace-watch-column.expanded .product-watch-card {
  gap: 8px;
  padding: 12px;
}

.product-workspace-watch-column.expanded .product-watch-card p {
  -webkit-line-clamp: 1;
}

.product-workspace-watch-column .product-watch-detail {
  margin: 0;
}

.product-workspace-watch-column .product-watch-detail-actions {
  justify-content: flex-start;
}

.product-workspace-watch-column .product-watch-detail-actions.primary {
  justify-content: flex-end;
}

.product-workspace-watch-column .product-watch-detail-actions.primary button {
  min-width: 108px;
}

.product-watch-detail-secondary-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.product-watch-detail-secondary-actions a,
.product-watch-detail-secondary-actions button {
  appearance: none;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.38);
  color: var(--product-muted);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.product-watch-detail-secondary-actions a:hover,
.product-watch-detail-secondary-actions a:focus-visible,
.product-watch-detail-secondary-actions button:hover,
.product-watch-detail-secondary-actions button:focus-visible {
  border-color: rgba(32, 215, 181, 0.34);
  background: rgba(15, 23, 42, 0.46) !important;
  color: var(--product-accent);
}

.product-watch-detail-secondary-actions button:disabled {
  cursor: wait;
  opacity: 0.62;
}

.product-workspace-watch-column .product-watch-detail-grid,
.product-workspace-watch-column .product-watch-score-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-workspace-watch-column .product-watch-detail-bottom {
  grid-template-columns: 1fr;
}

.product-workspace-watch-column .product-watch-notes {
  border-top: 1px solid var(--product-line);
  border-left: 0;
}

.product-watch-mutation-note {
  margin: 0;
  color: var(--product-muted);
  font-size: 13px;
}

.product-workspace-case-panel {
  margin-top: 16px;
}

.product-workspace-case-layout {
  display: grid;
  grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
  min-width: 0;
}

.product-workspace-case-queue {
  display: grid;
  min-width: 0;
  overflow: hidden;
  align-content: start;
  border-right: 1px solid var(--product-line);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.44), rgba(2, 6, 23, 0.12));
}

.product-workspace-case-detail-slot {
  min-width: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 8%, rgba(32, 215, 181, 0.08), transparent 34%),
    rgba(2, 6, 23, 0.08);
}

.product-workspace-case-detail-slot .product-workspace-case-detail {
  min-height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.product-workspace-case-detail-slot .product-workspace-case-detail > .ui-panel-head {
  padding: 18px 18px 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-case-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

.product-workspace-case-queue-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-case-queue-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-case-queue-head strong {
  color: var(--product-text);
  font-size: 18px;
  line-height: 1.2;
}

.product-workspace-case-queue-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-case-queue-head .ui-badge {
  flex: 0 0 auto;
  margin-top: 2px;
}

.product-workspace-case-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-case-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-workspace-case-summary span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-workspace-case-summary strong {
  color: var(--product-accent);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-case-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  padding: 12px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-case-toolbar .product-filter-field {
  min-width: 0;
}

.product-workspace-case-toolbar .product-filter-field:first-child {
  grid-column: 1 / -1;
}

.product-workspace-case-toolbar button {
  width: 100%;
  justify-self: stretch;
}

.product-workspace-case-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  max-height: 920px;
  overflow: auto;
  padding: 12px;
}

.product-workspace-case-empty {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 18px 16px 20px;
}

.product-workspace-case-empty-hero,
.product-workspace-case-select-empty {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 38%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-case-empty-hero .product-eyebrow,
.product-workspace-case-select-empty .product-eyebrow {
  margin: 0;
}

.product-workspace-case-empty-hero strong,
.product-workspace-case-select-empty strong {
  color: var(--product-text);
  font-size: 24px;
  line-height: 1.18;
}

.product-workspace-case-empty-hero span,
.product-workspace-case-select-empty span {
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.65;
}

.product-workspace-case-empty-routes {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.product-workspace-case-empty-routes > a,
.product-workspace-case-empty-routes > button,
.product-workspace-case-empty-routes > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  color: var(--product-text);
  font: inherit;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.54), rgba(2, 6, 23, 0.22));
  text-align: left;
  text-decoration: none;
}

.product-workspace-case-empty-routes > a,
.product-workspace-case-empty-routes > button {
  cursor: pointer;
}

.product-workspace-case-empty-routes > a:hover,
.product-workspace-case-empty-routes > button:hover,
.product-workspace-case-empty-routes > a:focus-visible,
.product-workspace-case-empty-routes > button:focus-visible {
  border-color: rgba(32, 215, 181, 0.5);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.13), transparent 46%),
    rgba(2, 6, 23, 0.3);
}

.product-workspace-case-empty-routes span,
.product-workspace-case-empty-routes small {
  min-width: 0;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-case-empty-routes span {
  color: var(--product-accent);
  font-weight: 900;
}

.product-workspace-case-empty-routes strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.2;
}

.product-workspace-case-empty-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.product-workspace-case-empty-actions > a,
.product-workspace-case-empty-actions > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(32, 215, 181, 0.28);
  border-radius: 9px;
  color: #03141b;
  background: linear-gradient(135deg, var(--product-accent), var(--product-cyan));
  font-weight: 900;
  text-decoration: none;
}

.product-workspace-case-empty-actions > a:visited {
  color: #03141b;
}

.product-workspace-case-empty-actions > a:hover,
.product-workspace-case-empty-actions > button:hover {
  border-color: rgba(94, 234, 212, 0.78);
  color: #02110f;
  background: linear-gradient(135deg, #5eead4, #38bdf8);
}

.product-workspace-case-empty-actions > .button-ghost {
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.46);
}

.product-workspace-case-empty-detail {
  min-height: 100%;
}

.product-workspace-case-empty-detail .ui-panel-body {
  padding: 18px;
}

.product-workspace-case-select-empty {
  min-height: 340px;
  align-content: center;
}

.product-workspace-case-select-empty .product-workspace-case-empty-actions {
  margin-top: 6px;
}

.product-workspace-case-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 40%),
    rgba(2, 6, 23, 0.28);
}

.product-workspace-case-card.selected {
  border-color: rgba(32, 215, 181, 0.62);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.16), transparent 42%),
    rgba(2, 6, 23, 0.36);
}

.product-shell .product-workspace-case-main {
  display: grid;
  gap: 11px;
  min-width: 0;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.product-shell .product-workspace-case-main:hover,
.product-shell .product-workspace-case-main:focus-visible {
  color: inherit;
  background: transparent;
  box-shadow: none;
  outline: none;
}

.product-workspace-case-head,
.product-workspace-case-meta,
.product-workspace-case-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-case-meta {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.product-workspace-case-meta span {
  flex: 0 1 auto;
}

.product-workspace-case-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-case-head strong {
  color: var(--product-accent);
  font-size: 20px;
  line-height: 1.1;
}

.product-workspace-case-grade {
  display: grid;
  justify-items: end;
  gap: 5px;
  min-width: 86px;
}

.product-workspace-case-grade b {
  color: var(--product-text);
  font-size: 18px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-case-head span,
.product-workspace-case-meta span {
  min-width: 0;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  white-space: normal;
}

.product-workspace-case-card p {
  margin: 0;
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  white-space: normal;
}

.product-workspace-case-progress-mini {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-case-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.product-workspace-case-progress-head span {
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.product-workspace-case-progress-head b {
  color: var(--product-accent);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.product-workspace-case-progress-bar {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
}

.product-workspace-case-progress-bar span {
  display: block;
  height: 100%;
  min-width: 6px;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--product-accent), var(--product-cyan));
}

.product-workspace-case-progress-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.product-workspace-case-progress-steps span {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.2;
}

.product-workspace-case-progress-steps i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
}

.product-workspace-case-progress-steps em {
  min-width: 0;
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-case-progress-steps span.done {
  color: #9ff3e5;
}

.product-workspace-case-progress-steps span.done i {
  border-color: rgba(32, 215, 181, 0.52);
  background: var(--product-accent);
}

.product-workspace-case-progress-steps span.current {
  color: #fde68a;
}

.product-workspace-case-progress-steps span.current i {
  border-color: rgba(247, 201, 72, 0.62);
  background: #f7c948;
}

.product-workspace-case-next {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  min-width: 0;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid rgba(32, 215, 181, 0.18);
  border-radius: 10px;
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.36);
  font: inherit;
  text-align: left;
}

.product-workspace-case-next:hover,
.product-workspace-case-next:focus-visible {
  border-color: rgba(32, 215, 181, 0.46);
  background: rgba(32, 215, 181, 0.08);
}

.product-workspace-case-next.warning {
  border-color: rgba(247, 201, 72, 0.28);
  background:
    linear-gradient(135deg, rgba(247, 201, 72, 0.15), rgba(20, 184, 166, 0.12)),
    rgba(2, 6, 23, 0.34);
}

.product-workspace-case-next.good {
  border-color: rgba(32, 215, 181, 0.3);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.18), rgba(56, 189, 248, 0.1)),
    rgba(2, 6, 23, 0.34);
}

.product-workspace-case-next span {
  grid-row: span 2;
  align-self: center;
  padding: 3px 7px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 999px;
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.product-workspace-case-next.warning span {
  border-color: rgba(247, 201, 72, 0.24);
  color: #fde68a;
}

.product-workspace-case-next strong,
.product-workspace-case-next small {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.product-workspace-case-next strong {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.25;
}

.product-workspace-case-next small {
  color: #bfe9df;
  font-size: 11px;
  line-height: 1.3;
}

.product-workspace-case-next.warning strong,
.product-workspace-case-next.good strong {
  color: #f8fafc;
}

.product-workspace-case-next.warning small,
.product-workspace-case-next.good small {
  color: #d6fff7;
}

.product-workspace-case-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.product-workspace-case-detail {
  margin: 0 16px 16px;
  border-color: rgba(32, 215, 181, 0.18);
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-detail-section,
.product-workspace-current-stage {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--product-line);
  background: rgba(2, 6, 23, 0.12);
}

.product-workspace-detail-section:first-of-type {
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 36%),
    rgba(2, 6, 23, 0.14);
}

.product-workspace-detail-section.compact {
  background: rgba(2, 6, 23, 0.08);
}

.product-workspace-detail-section-head,
.product-workspace-current-stage-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.product-workspace-detail-section-head > div,
.product-workspace-current-stage-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-detail-section-head .product-eyebrow,
.product-workspace-current-stage-head .product-eyebrow {
  margin: 0;
}

.product-workspace-detail-section-head h3,
.product-workspace-current-stage-head h3 {
  margin: 0;
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.2;
}

.product-workspace-detail-section-head span,
.product-workspace-current-stage-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-workspace-selection-reason {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  gap: 12px;
  min-width: 0;
}

.product-workspace-selection-copy {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}

.product-workspace-selection-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-selection-fact {
  display: grid;
  gap: 5px;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.26);
}

.product-workspace-selection-fact.good {
  border-color: rgba(32, 215, 181, 0.26);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-selection-fact.warning {
  border-color: rgba(247, 201, 72, 0.28);
  background:
    linear-gradient(135deg, rgba(247, 201, 72, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-selection-fact.danger {
  border-color: rgba(251, 113, 133, 0.28);
  background:
    linear-gradient(135deg, rgba(251, 113, 133, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-selection-fact span,
.product-workspace-selection-fact small {
  min-width: 0;
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-workspace-selection-fact strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 17px;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-selection-fact.good strong {
  color: var(--product-accent);
}

.product-workspace-selection-fact.warning strong {
  color: #f7c948;
}

.product-workspace-selection-fact.danger strong {
  color: #fb7185;
}

.product-workspace-progress-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
}

.product-workspace-progress-overview .product-workspace-case-readiness,
.product-workspace-progress-overview .product-workspace-case-status-rail {
  min-height: 100%;
}

.product-workspace-progress-overview .product-workspace-case-status-rail {
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(20, 184, 166, 0.08), rgba(15, 23, 42, 0.12)),
    rgba(2, 6, 23, 0.18);
}

.product-workspace-progress-overview .product-workspace-case-status-title small {
  max-width: 760px;
}

.product-workspace-current-stage {
  padding-bottom: 0;
}

.product-workspace-current-stage .product-workspace-detail-tabs {
  margin: 0 -18px;
}

.product-workspace-current-stage .product-workspace-detail-grid,
.product-workspace-current-stage .product-workspace-tab-panel {
  margin: 0 -18px;
}

.product-workspace-case-brief {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}

.product-workspace-case-readiness {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 44%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-case-readiness-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-case-readiness-head > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.product-workspace-case-readiness-head span {
  color: var(--product-muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

.product-workspace-case-readiness-head strong {
  color: var(--product-accent);
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-case-readiness-bar {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
}

.product-workspace-case-readiness-bar span {
  display: block;
  height: 100%;
  min-width: 6px;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--product-accent), var(--product-cyan));
}

.product-workspace-case-readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 6px;
  min-width: 0;
}

.product-workspace-case-readiness-item {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.36);
}

.product-workspace-case-readiness-item.good {
  border-color: rgba(32, 215, 181, 0.28);
}

.product-workspace-case-readiness-item.warning {
  border-color: rgba(247, 201, 72, 0.28);
}

.product-workspace-case-readiness-item.danger {
  border-color: rgba(251, 113, 133, 0.3);
}

.product-workspace-case-readiness-item b,
.product-workspace-case-readiness-item small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-case-readiness-item b {
  color: var(--product-text);
  font-size: 11px;
  line-height: 1.2;
}

.product-workspace-case-readiness-item small {
  color: var(--product-muted);
  font-size: 10px;
  line-height: 1.3;
}

.product-workspace-case-checklist {
  display: grid;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--product-line);
  background:
    radial-gradient(circle at 8% 10%, rgba(32, 215, 181, 0.1), transparent 28%),
    rgba(2, 6, 23, 0.12);
}

.product-workspace-case-checklist-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.product-workspace-case-checklist-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-case-checklist-head span,
.product-workspace-case-checklist-head small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-workspace-case-checklist-head span {
  color: var(--product-accent);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.product-workspace-case-checklist-head strong {
  color: var(--product-text);
  font-size: 17px;
  line-height: 1.2;
}

.product-workspace-case-checklist-head b {
  color: var(--product-accent);
  font-size: 26px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-case-stage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.product-workspace-case-snapshot {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.product-workspace-case-stage {
  display: grid;
  gap: 5px;
  align-content: start;
  min-width: 0;
  min-height: 128px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  color: var(--product-text);
  font: inherit;
  background: rgba(2, 6, 23, 0.24);
  text-align: left;
}

button.product-workspace-case-stage {
  cursor: pointer;
}

button.product-workspace-case-stage:hover,
button.product-workspace-case-stage:focus-visible {
  border-color: rgba(32, 215, 181, 0.58);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 44%),
    rgba(2, 6, 23, 0.3);
}

.product-workspace-case-stage.active {
  border-color: rgba(32, 215, 181, 0.68);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.16), transparent 42%),
    rgba(2, 6, 23, 0.34);
  box-shadow:
    inset 0 0 0 1px rgba(32, 215, 181, 0.16),
    0 14px 34px rgba(32, 215, 181, 0.08);
}

.product-workspace-case-stage.good {
  border-color: rgba(32, 215, 181, 0.26);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-case-stage.warning {
  border-color: rgba(247, 201, 72, 0.28);
  background:
    linear-gradient(135deg, rgba(247, 201, 72, 0.09), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-case-stage.danger {
  border-color: rgba(251, 113, 133, 0.32);
  background:
    linear-gradient(135deg, rgba(251, 113, 133, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-case-stage.done {
  border-color: rgba(32, 215, 181, 0.38);
}

.product-workspace-case-stage.neutral:not(.done) {
  background:
    linear-gradient(135deg, rgba(148, 163, 184, 0.06), transparent 42%),
    rgba(2, 6, 23, 0.2);
}

.product-workspace-case-stage span,
.product-workspace-case-stage small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-workspace-case-stage strong {
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-case-stage.good strong {
  color: var(--product-accent);
}

.product-workspace-case-stage.warning strong {
  color: #f7c948;
}

.product-workspace-case-stage.danger strong {
  color: #fb7185;
}

.product-workspace-case-stage b {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.25;
}

.product-workspace-case-stage em {
  align-self: end;
  width: fit-content;
  max-width: 100%;
  margin-top: 4px;
  padding: 4px 8px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 999px;
  color: var(--product-accent);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-case-stage.neutral em {
  border-color: rgba(148, 163, 184, 0.18);
  color: var(--product-muted);
}

.product-workspace-case-stage.warning em {
  border-color: rgba(247, 201, 72, 0.24);
  color: #fde68a;
}

.product-workspace-case-stage.danger em {
  border-color: rgba(251, 113, 133, 0.26);
  color: #fecdd3;
}

.product-workspace-case-optional-strip {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(148, 163, 184, 0.08), transparent 44%),
    rgba(2, 6, 23, 0.18);
}

.product-workspace-case-optional-strip > span {
  align-self: center;
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.product-workspace-case-optional-action {
  display: grid;
  grid-template-columns: minmax(120px, 0.22fr) minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 10px;
  color: #cbd5e1;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.46), rgba(2, 6, 23, 0.3));
  font: inherit;
  text-align: left;
  box-shadow: none;
}

.product-workspace-case-optional-action:hover,
.product-workspace-case-optional-action:focus-visible,
.product-workspace-case-optional-action.active {
  border-color: rgba(32, 215, 181, 0.28);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.07), transparent 44%),
    rgba(2, 6, 23, 0.34);
}

.product-workspace-case-optional-action.good,
.product-workspace-case-optional-action.warning {
  border-color: rgba(148, 163, 184, 0.16);
}

.product-workspace-case-optional-action strong,
.product-workspace-case-optional-action small,
.product-workspace-case-optional-action em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-case-optional-action strong {
  color: #dbeafe;
  font-size: 13px;
}

.product-workspace-case-optional-action small {
  color: var(--product-muted);
  font-size: 12px;
}

.product-workspace-case-optional-action em {
  justify-self: end;
  padding: 3px 8px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 999px;
  color: #a8b7ca;
  background: rgba(15, 23, 42, 0.48);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.product-workspace-case-optional-action.good em,
.product-workspace-case-optional-action.warning em {
  border-color: rgba(148, 163, 184, 0.2);
  color: #a8b7ca;
}

.product-shell button.product-workspace-case-optional-action {
  border-color: rgba(148, 163, 184, 0.16);
  color: #cbd5e1;
  background: rgba(8, 18, 32, 0.72);
  box-shadow: none;
}

.product-shell button.product-workspace-case-optional-action.good,
.product-shell button.product-workspace-case-optional-action.warning,
.product-shell button.product-workspace-case-optional-action.danger {
  border-color: rgba(148, 163, 184, 0.16);
  background: rgba(8, 18, 32, 0.72);
}

.product-shell button.product-workspace-case-optional-action:hover,
.product-shell button.product-workspace-case-optional-action:focus-visible,
.product-shell button.product-workspace-case-optional-action.active {
  border-color: rgba(32, 215, 181, 0.52);
  color: #052e2b;
  background:
    linear-gradient(180deg, rgba(45, 212, 191, 0.96), rgba(20, 184, 166, 0.88));
  box-shadow: none;
}

.product-shell button.product-workspace-case-optional-action strong {
  color: #f8fafc;
  font-weight: 900;
}

.product-shell button.product-workspace-case-optional-action small {
  color: #dbeafe;
  font-weight: 800;
}

.product-shell button.product-workspace-case-optional-action em,
.product-shell button.product-workspace-case-optional-action.good em,
.product-shell button.product-workspace-case-optional-action.warning em,
.product-shell button.product-workspace-case-optional-action.danger em {
  border-color: rgba(148, 163, 184, 0.2);
  color: #dbeafe;
  background: rgba(15, 23, 42, 0.5);
}

.product-shell button.product-workspace-case-optional-action:hover strong,
.product-shell button.product-workspace-case-optional-action:focus-visible strong,
.product-shell button.product-workspace-case-optional-action.active strong,
.product-shell button.product-workspace-case-optional-action:hover small,
.product-shell button.product-workspace-case-optional-action:focus-visible small,
.product-shell button.product-workspace-case-optional-action.active small,
.product-shell button.product-workspace-case-optional-action:hover em,
.product-shell button.product-workspace-case-optional-action:focus-visible em,
.product-shell button.product-workspace-case-optional-action.active em {
  color: #052e2b;
}

.product-shell button.product-workspace-case-optional-action:hover em,
.product-shell button.product-workspace-case-optional-action:focus-visible em,
.product-shell button.product-workspace-case-optional-action.active em {
  border-color: rgba(5, 46, 43, 0.26);
  background: rgba(255, 255, 255, 0.22);
}

.product-workspace-case-status-rail {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
  background: linear-gradient(90deg, rgba(20, 184, 166, 0.08), rgba(15, 23, 42, 0.12));
}

.product-workspace-case-status-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-workspace-case-status-title span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-workspace-case-status-title strong {
  display: block;
  margin-top: 3px;
  color: var(--product-text);
  font-size: 18px;
  line-height: 1.25;
}

.product-workspace-case-status-title small {
  display: block;
  max-width: 720px;
  margin-top: 4px;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-case-status-manual {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.product-workspace-case-status-manual button {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 9px;
  font-size: 12px;
  white-space: nowrap;
}

.product-workspace-case-status-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

button.product-workspace-case-stage-route-item,
.product-workspace-case-stage-route-item {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 78px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  color: var(--product-text);
  background: rgba(2, 6, 23, 0.28);
  box-shadow: none;
  text-align: left;
}

button.product-workspace-case-stage-route-item:hover:not(:disabled) {
  border-color: rgba(32, 215, 181, 0.38);
  background: rgba(20, 184, 166, 0.08);
  color: var(--product-text);
}

.product-workspace-case-stage-route-item.readonly {
  cursor: default;
}

button.product-workspace-case-stage-route-item.active,
.product-workspace-case-stage-route-item.active {
  border-color: rgba(32, 215, 181, 0.62);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 46%),
    rgba(2, 6, 23, 0.3);
}

button.product-workspace-case-stage-route-item.future,
.product-workspace-case-stage-route-item.future,
button.product-workspace-case-stage-route-item.past,
.product-workspace-case-stage-route-item.past {
  border-color: rgba(148, 163, 184, 0.14);
  background: rgba(2, 6, 23, 0.22);
}

button.product-workspace-case-stage-route-item:disabled:not(.active),
.product-workspace-case-stage-route-item:disabled:not(.active) {
  cursor: not-allowed;
  opacity: 0.58;
}

.product-workspace-case-stage-route-item > span {
  display: grid;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-items: center;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  color: var(--product-muted);
  background: rgba(15, 23, 42, 0.68);
  font-size: 11px;
  font-weight: 900;
}

.product-workspace-case-stage-route-item.active > span,
.product-workspace-case-stage-route-item.past > span {
  border-color: rgba(32, 215, 181, 0.48);
  color: var(--product-accent);
  background: rgba(20, 184, 166, 0.14);
}

.product-workspace-case-stage-route-item strong {
  overflow: hidden;
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.product-workspace-case-stage-route-item small {
  display: block;
  margin-top: 3px;
  color: #aac1d6;
  font-size: 12px;
  line-height: 1.35;
}

.product-workspace-case-stage-route-item.active small {
  color: #c9f6ee;
}

.product-workspace-case-stage-route-item em {
  align-self: start;
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 999px;
  color: var(--product-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.product-workspace-case-stage-route-item.active em {
  border-color: rgba(32, 215, 181, 0.36);
  color: var(--product-accent);
  background: rgba(20, 184, 166, 0.1);
}

.product-workspace-case-stage-route-item.past em {
  color: #91e7d6;
}

.product-workspace-frame-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(20, 184, 166, 0.08), transparent 38%),
    rgba(15, 23, 42, 0.36);
}

.product-workspace-frame-card.is-focused,
.product-workspace-task-card.is-focused {
  border-color: rgba(32, 215, 181, 0.62);
  box-shadow:
    0 0 0 1px rgba(32, 215, 181, 0.18),
    0 18px 48px rgba(32, 215, 181, 0.08);
}

.product-workspace-frame-card.is-focused {
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.15), transparent 40%),
    rgba(15, 23, 42, 0.42);
}

.product-workspace-frame-card.is-readonly {
  border-color: rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(135deg, rgba(148, 163, 184, 0.07), transparent 38%),
    rgba(15, 23, 42, 0.28);
}

.product-workspace-frame-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-workspace-frame-actions,
.product-workspace-task-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.product-workspace-frame-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-frame-head strong {
  color: var(--product-text);
  font-size: 16px;
}

.product-workspace-frame-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-frame-head button {
  min-width: 102px;
  min-height: 36px;
}

.product-workspace-frame-card textarea,
.product-workspace-input-card textarea,
.product-workspace-task-completion-form textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  color: #dff8f2;
  background:
    linear-gradient(180deg, rgba(8, 18, 34, 0.94), rgba(3, 10, 24, 0.9));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 1px 0 rgba(2, 6, 23, 0.36);
  caret-color: var(--product-accent);
  color-scheme: dark;
  line-height: 1.5;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

.product-workspace-frame-card textarea::placeholder,
.product-workspace-input-card textarea::placeholder,
.product-workspace-task-completion-form textarea::placeholder {
  color: rgba(148, 163, 184, 0.72);
}

.product-workspace-frame-card textarea:focus,
.product-workspace-input-card textarea:focus,
.product-workspace-task-completion-form textarea:focus {
  outline: none;
  border-color: rgba(32, 215, 181, 0.62);
  background:
    linear-gradient(180deg, rgba(10, 27, 45, 0.98), rgba(3, 14, 31, 0.96));
  box-shadow:
    0 0 0 1px rgba(32, 215, 181, 0.16),
    0 12px 30px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.product-workspace-task-head-actions button.button-ghost {
  min-height: 32px;
  padding: 6px 10px;
  border-color: rgba(32, 215, 181, 0.24);
  color: #c8f7ee;
  font-size: 12px;
  white-space: nowrap;
}

.product-workspace-task-head-actions button.button-ghost:disabled {
  cursor: wait;
  opacity: 0.58;
}

.product-workspace-frame-card textarea {
  min-height: 86px;
  resize: vertical;
}

.product-workspace-frame-card.is-readonly textarea {
  color: var(--product-muted);
  background: rgba(2, 6, 23, 0.24);
  cursor: default;
}

.product-workspace-frame-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-workspace-frame-grid textarea {
  min-height: 118px;
}

.product-workspace-scope-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 16px 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-scope-strip.compact {
  justify-content: flex-end;
  max-width: 360px;
  padding: 0;
  border-bottom: 0;
}

.product-workspace-detail-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--product-line);
  background: rgba(2, 6, 23, 0.1);
}

.product-workspace-detail-tabs button {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 12px;
  color: var(--product-text);
  background: rgba(2, 6, 23, 0.24);
  text-align: left;
}

.product-workspace-detail-tabs button:hover,
.product-workspace-detail-tabs button.active {
  border-color: rgba(32, 215, 181, 0.58);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.14), transparent 42%),
    rgba(2, 6, 23, 0.28);
}

.product-workspace-detail-tabs strong,
.product-workspace-detail-tabs small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-detail-tabs strong {
  color: var(--product-text);
  font-size: 14px;
}

.product-workspace-detail-tabs small {
  color: var(--product-muted);
  font-size: 12px;
}

.product-workspace-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(280px, 0.58fr);
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-tab-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-workspace-tab-panel.single {
  grid-template-columns: minmax(0, 1fr);
}

.product-workspace-detail-main {
  display: grid;
  gap: 12px;
  min-width: 0;
  align-content: start;
}

.product-workspace-detail-side {
  display: grid;
  gap: 12px;
  min-width: 0;
  align-content: start;
}

.product-workspace-timeline-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(32, 184, 239, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 184, 239, 0.08), transparent 40%),
    rgba(15, 23, 42, 0.32);
}

.product-workspace-timeline-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-timeline-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-timeline-head strong {
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.2;
}

.product-workspace-timeline-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-workspace-timeline-list {
  display: grid;
  gap: 10px;
  min-width: 0;
  max-height: 440px;
  overflow: auto;
  padding-right: 4px;
}

button.product-workspace-timeline-item,
.product-workspace-timeline-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  align-content: start;
  min-width: 0;
  min-height: 66px;
  height: auto;
  padding: 11px 12px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 12px;
  color: var(--product-text);
  background: rgba(2, 6, 23, 0.2);
  box-shadow: none;
  line-height: normal;
  text-align: left;
}

button.product-workspace-timeline-item:hover,
.product-workspace-timeline-item:hover {
  border-color: rgba(32, 215, 181, 0.36);
  background: rgba(20, 184, 166, 0.08);
  color: var(--product-text);
}

button.product-workspace-timeline-item.good,
.product-workspace-timeline-item.good {
  border-color: rgba(32, 215, 181, 0.2);
  background: rgba(2, 6, 23, 0.22);
}

button.product-workspace-timeline-item.warning,
.product-workspace-timeline-item.warning {
  border-color: rgba(247, 201, 72, 0.22);
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-timeline-dot {
  display: grid;
  min-width: 0;
  width: 48px;
  height: 28px;
  margin-top: 2px;
  align-items: center;
  justify-items: center;
  border: 1px solid rgba(32, 184, 239, 0.22);
  border-radius: 999px;
  color: var(--product-cyan);
  background: rgba(32, 184, 239, 0.08);
  font-size: 11px;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-timeline-item.good .product-workspace-timeline-dot {
  border-color: rgba(32, 215, 181, 0.28);
  color: var(--product-accent);
  background: rgba(32, 215, 181, 0.08);
}

.product-workspace-timeline-item.warning .product-workspace-timeline-dot {
  border-color: rgba(247, 201, 72, 0.28);
  color: #fde68a;
  background: rgba(247, 201, 72, 0.08);
}

.product-workspace-timeline-item > div {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
}

.product-workspace-timeline-item b {
  min-width: 0;
  color: var(--product-text);
  font-size: 13.5px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-timeline-item small,
.product-workspace-timeline-item em {
  color: var(--product-muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.product-workspace-timeline-item em {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 1px;
  font-style: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product-shell button.product-workspace-timeline-item {
  display: grid;
  align-items: start;
  justify-content: stretch;
  min-height: 66px;
  height: auto;
  color: var(--product-text);
  background: rgba(2, 6, 23, 0.2);
  box-shadow: none;
}

.product-shell button.product-workspace-timeline-item:hover,
.product-shell button.product-workspace-timeline-item:focus-visible {
  color: var(--product-text);
  background: rgba(20, 184, 166, 0.08);
  box-shadow: none;
}

.product-workspace-input-card {
  display: grid;
  gap: 10px;
  align-self: start;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.34);
}

.product-workspace-input-card > strong {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.2;
}

.product-workspace-input-card textarea {
  min-height: 112px;
  resize: vertical;
}

.product-workspace-task-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(247, 201, 72, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(247, 201, 72, 0.1), transparent 34%),
    rgba(15, 23, 42, 0.34);
}

.product-workspace-task-card.is-focused {
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.14), transparent 32%),
    linear-gradient(145deg, rgba(247, 201, 72, 0.08), transparent 54%),
    rgba(15, 23, 42, 0.42);
}

.product-workspace-task-head,
.product-workspace-task-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-task-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-task-head strong {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.2;
}

.product-workspace-task-head span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-workspace-task-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(100px, 0.38fr) minmax(124px, 0.42fr) max-content;
  gap: 10px;
  align-items: end;
}

.product-workspace-task-guide {
  margin: -2px 0 0;
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 9px;
  color: var(--product-muted);
  background: rgba(2, 6, 23, 0.18);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-task-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(148, 163, 184, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.18);
}

.product-workspace-task-next.warning {
  border-color: rgba(247, 201, 72, 0.26);
  background:
    linear-gradient(90deg, rgba(247, 201, 72, 0.1), transparent 44%),
    rgba(2, 6, 23, 0.2);
}

.product-workspace-task-next.good {
  border-color: rgba(32, 215, 181, 0.24);
  background:
    linear-gradient(90deg, rgba(32, 215, 181, 0.1), transparent 44%),
    rgba(2, 6, 23, 0.2);
}

.product-workspace-task-next > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.product-workspace-task-next span,
.product-workspace-task-next small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-workspace-task-next span {
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.product-workspace-task-next.warning span {
  color: #fde68a;
}

.product-workspace-task-next strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-task-next button {
  flex-shrink: 0;
  min-height: 32px;
  padding: 6px 10px;
  white-space: nowrap;
}

.product-workspace-onboarding-track {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.18);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.11), transparent 36%),
    rgba(2, 6, 23, 0.2);
}

.product-workspace-onboarding-head,
.product-workspace-onboarding-steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-onboarding-head > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.product-workspace-onboarding-head strong {
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.2;
}

.product-workspace-onboarding-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-onboarding-steps {
  align-items: stretch;
}

.product-workspace-onboarding-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 9px;
  color: var(--product-text);
  font: inherit;
  background: rgba(15, 23, 42, 0.42);
  text-align: left;
  cursor: pointer;
}

.product-workspace-onboarding-step:hover,
.product-workspace-onboarding-step:focus-visible {
  border-color: rgba(32, 215, 181, 0.46);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 52%),
    rgba(15, 23, 42, 0.52);
}

.product-workspace-onboarding-step.active {
  border-color: rgba(247, 201, 72, 0.34);
  background:
    linear-gradient(135deg, rgba(247, 201, 72, 0.12), transparent 54%),
    rgba(15, 23, 42, 0.5);
}

.product-workspace-onboarding-step.done {
  border-color: rgba(32, 215, 181, 0.26);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 54%),
    rgba(15, 23, 42, 0.42);
}

.product-workspace-onboarding-step > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  color: var(--product-text);
  font-size: 12px;
  font-weight: 800;
  background: rgba(148, 163, 184, 0.12);
}

.product-workspace-onboarding-step.active > span {
  color: #111827;
  background: var(--product-warning);
}

.product-workspace-onboarding-step.done > span {
  color: #04111f;
  background: var(--product-accent);
}

.product-workspace-onboarding-step > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.product-workspace-onboarding-step strong {
  overflow: hidden;
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-onboarding-step small {
  overflow: hidden;
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-task-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-task-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-task-item.done {
  opacity: 0.68;
}

.product-workspace-task-item > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-task-item span,
.product-workspace-task-item small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.4;
}

.product-workspace-task-item strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-task-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.product-workspace-task-completion-form {
  display: grid;
  grid-column: 1 / -1;
  gap: 9px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(247, 201, 72, 0.24);
  border-radius: 10px;
  background: rgba(247, 201, 72, 0.06);
}

.product-workspace-task-completion-form textarea {
  min-height: 76px;
  resize: vertical;
}

.product-workspace-task-completion-form > div {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.product-workspace-task-completion-note {
  display: -webkit-box;
  overflow: hidden;
  color: #fde68a;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-ai-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    rgba(15, 23, 42, 0.34);
}

.product-workspace-report-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(32, 184, 239, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 184, 239, 0.1), transparent 34%),
    rgba(15, 23, 42, 0.34);
}

.product-workspace-report-head,
.product-workspace-report-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.product-workspace-report-head > div,
.product-workspace-report-preview {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-workspace-report-head strong,
.product-workspace-report-preview b {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.25;
}

.product-workspace-report-head span,
.product-workspace-report-preview p {
  margin: 0;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.6;
}

.product-workspace-report-readiness {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-report-readiness > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 82px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-workspace-report-readiness > div.done {
  border-color: rgba(32, 215, 181, 0.24);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 44%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-report-readiness span,
.product-workspace-report-readiness small {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-workspace-report-readiness strong {
  min-width: 0;
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-report-readiness > div.done strong {
  color: var(--product-accent);
}

.product-workspace-report-source-coverage {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 184, 239, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 184, 239, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.2);
}

.product-workspace-report-source-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-workspace-report-source-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-report-source-head strong {
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.2;
}

.product-workspace-report-source-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-report-source-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-report-source-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 82px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-workspace-report-source-grid > div.covered {
  border-color: rgba(32, 215, 181, 0.24);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 46%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-report-source-grid > div.gap {
  border-color: rgba(247, 201, 72, 0.22);
}

.product-workspace-report-source-grid span,
.product-workspace-report-source-grid small {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-workspace-report-source-grid strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-report-source-grid > div.covered strong {
  color: var(--product-accent);
}

.product-workspace-report-source-grid > div.gap strong {
  color: #fde68a;
}

.product-workspace-publish-guard {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-publish-guard.blocked {
  border-color: rgba(251, 113, 133, 0.34);
  background:
    linear-gradient(135deg, rgba(251, 113, 133, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-publish-guard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-workspace-publish-guard-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-publish-guard-head strong {
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.25;
}

.product-workspace-publish-guard-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-workspace-publish-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-publish-checks > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 76px;
  padding: 9px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.38);
}

.product-workspace-publish-checks > div.done {
  border-color: rgba(32, 215, 181, 0.24);
}

.product-workspace-publish-checks > div.warning {
  border-color: rgba(247, 201, 72, 0.28);
}

.product-workspace-publish-checks > div.blocked {
  border-color: rgba(251, 113, 133, 0.32);
}

.product-workspace-publish-checks span,
.product-workspace-publish-checks small,
.product-workspace-publish-issues span {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.4;
}

.product-workspace-publish-checks strong {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.2;
}

.product-workspace-publish-checks > div.done strong {
  color: var(--product-accent);
}

.product-workspace-publish-checks > div.warning strong {
  color: #fde68a;
}

.product-workspace-publish-checks > div.blocked strong {
  color: #fb7185;
}

.product-workspace-publish-issues {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.product-workspace-publish-issues span {
  max-width: 260px;
  padding: 5px 8px;
  border: 1px solid rgba(251, 113, 133, 0.24);
  border-radius: 999px;
  color: #fecdd3;
  background: rgba(251, 113, 133, 0.08);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-report-stale {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(251, 113, 133, 0.3);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(251, 113, 133, 0.1), transparent 46%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-report-stale strong {
  color: #fecdd3;
  font-size: 13px;
  line-height: 1.25;
}

.product-workspace-report-stale span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-report-followup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(32, 215, 181, 0.28);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.11), transparent 46%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-report-followup > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-report-followup strong {
  color: var(--product-accent);
  font-size: 13px;
  line-height: 1.25;
}

.product-workspace-report-followup span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-report-followup button {
  flex-shrink: 0;
  min-height: 32px;
  padding: 6px 10px;
  white-space: nowrap;
}

.product-workspace-report-sections {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
  margin-top: 3px;
}

.product-workspace-report-sections span {
  max-width: 180px;
  padding: 5px 8px;
  border: 1px solid rgba(32, 184, 239, 0.22);
  border-radius: 999px;
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-report-actions {
  justify-content: flex-start;
}

.product-workspace-report-section-list {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin-top: 4px;
}

.product-workspace-report-section-list > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(32, 184, 239, 0.16);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-report-section-list span {
  color: var(--product-cyan);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}

.product-workspace-report-section-list b {
  display: block;
  min-width: 0;
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-report-section-list small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-ai-head,
.product-workspace-ai-actions,
.product-workspace-ai-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}

.product-workspace-ai-head strong {
  display: block;
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.2;
}

.product-workspace-ai-head span,
.product-workspace-ai-card > p,
.product-workspace-ai-evidence span,
.product-workspace-ai-evidence small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.6;
}

.product-workspace-ai-actions {
  justify-content: flex-start;
}

.product-workspace-ai-task-picker {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 184, 239, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 184, 239, 0.08), transparent 38%),
    rgba(2, 6, 23, 0.18);
}

.product-workspace-ai-task-picker > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-ai-task-picker > div:first-child strong {
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.25;
}

.product-workspace-ai-task-picker > div:first-child span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-workspace-ai-task-picker > div:last-child {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.product-workspace-ai-task-picker button {
  display: grid;
  gap: 4px;
  min-height: 68px;
  padding: 9px 10px;
  text-align: left;
}

.product-workspace-ai-task-picker button strong,
.product-workspace-ai-task-picker button small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-workspace-ai-task-picker button strong {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
}

.product-workspace-ai-task-picker button small {
  display: -webkit-box;
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-ai-result {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-result > strong {
  color: var(--product-text);
  font-size: 14px;
}

.product-workspace-ai-readable {
  display: grid;
  gap: 13px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 36%),
    rgba(2, 6, 23, 0.28);
}

.product-workspace-ai-readable-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.product-workspace-ai-readable-head > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-workspace-ai-readable-head > div:last-child {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.product-workspace-ai-readable-head h4 {
  margin: 0;
  color: var(--product-text);
  font-size: 21px;
  line-height: 1.2;
}

.product-workspace-ai-readable-head span,
.product-workspace-ai-result-section > div > span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-workspace-ai-summary {
  margin: 0;
  max-width: 980px;
  color: #cfe9ff;
  font-size: 15px;
  line-height: 1.75;
}

.product-workspace-ai-insight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}

.product-workspace-ai-insight-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 11px;
  background: rgba(15, 23, 42, 0.36);
}

.product-workspace-ai-insight-grid span,
.product-workspace-ai-insight-grid small {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-workspace-ai-insight-grid strong {
  color: var(--product-accent);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-ai-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-summary-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  padding-top: 2px;
}

.product-workspace-ai-detail-drawer {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.product-workspace-ai-result-section {
  display: grid;
  gap: 9px;
  min-width: 0;
  align-content: start;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-ai-result-section > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-ai-result-section > div > strong {
  color: var(--product-text);
  font-size: 14px;
  line-height: 1.25;
}

.product-workspace-ai-text-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-ai-text-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.28);
}

.product-workspace-ai-text-row span {
  min-width: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.55;
}

.product-workspace-ai-source-details {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-source-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(32, 184, 239, 0.18);
  border-radius: 11px;
  color: var(--product-text);
  background: rgba(15, 23, 42, 0.34);
  cursor: pointer;
}

.product-workspace-ai-source-details summary strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-workspace-ai-source-details summary span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-workspace-ai-refresh-note {
  margin: 0;
  padding: 9px 10px;
  border: 1px solid rgba(245, 158, 11, 0.24);
  border-radius: 10px;
  color: #fde68a;
  background: rgba(245, 158, 11, 0.08);
  font-size: 12px;
  line-height: 1.55;
}

.product-workspace-ai-persisted {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(32, 215, 181, 0.2);
  border-radius: 10px;
  background: rgba(32, 215, 181, 0.07);
}

.product-workspace-ai-persisted strong {
  color: var(--product-text);
  font-size: 13px;
}

.product-workspace-ai-persisted span,
.product-workspace-ai-persisted small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-workspace-ai-persisted small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product-workspace-ai-meta {
  justify-content: flex-start;
}

.product-workspace-ai-meta span {
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-workspace-ai-bridge {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 42%),
    rgba(2, 6, 23, 0.24);
}

.product-workspace-ai-bridge-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-bridge-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-ai-bridge-head strong {
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.2;
}

.product-workspace-ai-bridge-head span,
.product-workspace-ai-bridge-card span,
.product-workspace-ai-bridge-card small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-ai-bridge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}

.product-workspace-ai-bridge-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 11px;
  background: rgba(15, 23, 42, 0.4);
}

.product-workspace-ai-bridge-card.good {
  border-color: rgba(32, 215, 181, 0.28);
}

.product-workspace-ai-bridge-card.warning {
  border-color: rgba(247, 201, 72, 0.28);
}

.product-workspace-ai-bridge-card.danger {
  border-color: rgba(251, 113, 133, 0.28);
}

.product-workspace-ai-bridge-card strong {
  color: var(--product-text);
  font-size: 26px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-ai-bridge-card.good strong {
  color: var(--product-accent);
}

.product-workspace-ai-bridge-card.warning strong {
  color: #fde68a;
}

.product-workspace-ai-bridge-card.danger strong {
  color: #fb7185;
}

.product-workspace-ai-bridge-card button {
  justify-self: start;
  min-height: 32px;
  padding: 6px 10px;
}

.product-workspace-ai-source-pack {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 184, 239, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(32, 184, 239, 0.08), transparent 38%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-ai-source-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.product-workspace-ai-source-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-ai-source-head strong {
  color: var(--product-text);
  font-size: 15px;
  line-height: 1.2;
}

.product-workspace-ai-source-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-workspace-ai-source-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.product-workspace-ai-source-metric {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.3);
}

.product-workspace-ai-source-metric.good {
  border-color: rgba(32, 215, 181, 0.22);
}

.product-workspace-ai-source-metric span,
.product-workspace-ai-source-metric small {
  color: var(--product-muted);
  font-size: 11px;
  line-height: 1.35;
}

.product-workspace-ai-source-metric strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-workspace-ai-source-metric.good strong {
  color: var(--product-accent);
}

.product-workspace-ai-source-errors {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.product-workspace-ai-source-errors span {
  padding: 8px 10px;
  border: 1px solid rgba(247, 201, 72, 0.22);
  border-radius: 10px;
  color: #fde68a;
  background: rgba(247, 201, 72, 0.06);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-ai-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-source-section {
  display: grid;
  gap: 8px;
  min-width: 0;
  align-content: start;
}

.product-workspace-ai-source-section > strong {
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.2;
}

.product-workspace-ai-source-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-ai-source-row > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-workspace-ai-source-row b {
  min-width: 0;
  color: var(--product-text);
  font-size: 13px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-ai-source-row span,
.product-workspace-ai-source-row small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-workspace-ai-source-row small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-ai-source-row a {
  width: fit-content;
  color: var(--product-cyan);
  font-size: 12px;
  text-decoration: none;
}

.product-workspace-ai-source-row button {
  min-height: 30px;
  padding: 5px 9px;
  white-space: nowrap;
}

.product-workspace-ai-source-row-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

.product-workspace-ai-source-row-actions button {
  justify-content: center;
}

.product-workspace-ai-thesis {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(32, 215, 181, 0.18);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.2);
}

.product-workspace-ai-thesis-head {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-workspace-ai-thesis-head strong,
.product-workspace-ai-thesis > b,
.product-workspace-ai-thesis-grid b {
  color: var(--product-text);
  font-size: 14px;
}

.product-workspace-ai-thesis-head span {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.6;
}

.product-workspace-ai-thesis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-thesis-grid > div {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-ai-gap-list {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-ai-gap-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-radius: 10px;
  background: rgba(245, 158, 11, 0.06);
}

.product-workspace-ai-gap-row span {
  min-width: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.5;
}

.product-workspace-ai-evidence {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-ai-evidence > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-workspace-ai-evidence b {
  min-width: 0;
  color: var(--product-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-ai-evidence a {
  width: fit-content;
  color: var(--product-cyan);
  font-size: 12px;
  text-decoration: none;
}

.product-workspace-ai-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.6;
}

.product-workspace-ai-plan {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.product-workspace-ai-plan-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.2);
}

.product-workspace-ai-plan-row span {
  min-width: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.5;
}

.product-workspace-two-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-workspace-ledger-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 16px 16px;
}

.product-workspace-ledger-grid.compact {
  border-top: 1px solid var(--product-line);
}

.product-workspace-ledger-card {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.product-workspace-ledger-card:nth-child(3) {
  grid-column: 1 / -1;
}

.product-workspace-ledger-card > strong {
  color: var(--product-text);
  font-size: 15px;
}

.product-workspace-ledger-card > div {
  display: grid;
  grid-template-columns: minmax(78px, 92px) minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-workspace-ledger-card > div.product-workspace-ledger-note {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.product-workspace-ledger-note-summary {
  display: grid;
  grid-template-columns: minmax(78px, 92px) minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.product-workspace-ledger-card > details.product-workspace-ledger-note {
  display: grid;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
  overflow: hidden;
}

.product-workspace-ledger-note summary {
  display: grid;
  grid-template-columns: minmax(78px, 92px) minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  cursor: pointer;
  list-style: none;
}

.product-workspace-ledger-note summary::-webkit-details-marker {
  display: none;
}

.product-workspace-ledger-card > div.product-workspace-ledger-note.good {
  border-color: rgba(32, 215, 181, 0.24);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-ledger-card > details.product-workspace-ledger-note.good {
  border-color: rgba(32, 215, 181, 0.24);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.08), transparent 42%),
    rgba(2, 6, 23, 0.22);
}

.product-workspace-ledger-card > div.product-workspace-ledger-note.warning {
  border-color: rgba(247, 201, 72, 0.24);
}

.product-workspace-ledger-card > details.product-workspace-ledger-note.warning {
  border-color: rgba(247, 201, 72, 0.24);
}

.product-workspace-ledger-card span,
.product-workspace-ledger-card small {
  min-width: 0;
  color: var(--product-muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-workspace-ledger-note small {
  grid-column: 1 / -1;
  display: -webkit-box;
  line-height: 1.45;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-ledger-note-body {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 0 10px 11px;
}

.product-workspace-ledger-note-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.product-workspace-ledger-note-meta span {
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.4);
  white-space: normal;
}

.product-workspace-ledger-note-body p {
  margin: 0;
  color: #d7e8ff;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
}

.product-workspace-ledger-note-preview {
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: #c7dcf4;
  font-size: 13px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-workspace-ledger-note-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.product-note-preview-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(2, 6, 23, 0.66);
  backdrop-filter: blur(8px);
}

.product-note-preview-modal {
  width: min(840px, calc(100vw - 56px));
  max-height: calc(100vh - 72px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(32, 215, 181, 0.28);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.1), transparent 38%),
    #08111f;
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.38);
}

.product-note-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.product-note-preview-head > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.product-note-preview-head span {
  color: var(--product-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-note-preview-head h3 {
  margin: 0;
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.25;
}

.product-note-preview-head small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-note-preview-body {
  margin: 0;
  overflow: auto;
  padding: 18px;
  color: #d7e8ff;
  background: rgba(2, 6, 23, 0.34);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.8;
  white-space: pre-wrap;
}

.product-workspace-ledger-card b {
  min-width: 0;
  color: var(--product-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1500px) {
  .product-workspace-studio,
  .product-workspace-studio.intake-open {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-workspace-intake-rail {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .product-workspace-intake-rail .product-workspace-watch-dock {
    grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr) max-content;
  }

  .product-workspace-intake-rail .product-workspace-watch-dock > button {
    width: auto;
  }

  .product-workspace-intake-rail .product-workspace-watch-dock-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .product-workspace-intake-rail .product-workspace-watch-content {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.44fr);
  }

  .product-workspace-intake-rail .product-workspace-watch-capture {
    grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  }

  .product-workspace-intake-rail .product-workspace-watch-capture .product-watch-add-form {
    grid-template-columns: minmax(120px, 0.55fr) minmax(120px, 0.55fr) minmax(180px, 1fr) minmax(160px, 0.75fr) max-content;
  }

  .product-workspace-intake-rail .product-workspace-watch-filter {
    grid-template-columns: minmax(150px, 0.65fr) minmax(220px, 1fr) minmax(160px, 0.65fr) minmax(150px, 0.62fr) minmax(110px, 0.4fr) max-content;
  }
}

@media (max-width: 900px) {
  .product-workspace-command-center,
  .product-workspace-command-head,
  .product-workspace-command-body,
  .product-workspace-selection-reason,
  .product-workspace-selection-facts,
  .product-workspace-progress-overview,
  .product-workspace-identity-bar,
  .product-workspace-shell-grid,
  .product-workspace-subnav,
  .product-workspace-studio,
  .product-workspace-case-layout,
  .product-workspace-watch-column,
  .product-workspace-watch-content,
  .product-workspace-watch-dock,
  .product-workspace-watch-capture,
  .product-workspace-priority-board,
  .product-workspace-flow-strip,
  .product-workspace-starter-path,
  .product-workspace-starter-steps,
  .product-workspace-today-list,
  .product-workspace-metric-grid {
    grid-template-columns: 1fr;
  }

  .product-workspace-intake-rail .product-workspace-watch-dock,
  .product-workspace-intake-rail .product-workspace-watch-content,
  .product-workspace-intake-rail .product-workspace-watch-capture,
  .product-workspace-intake-rail .product-workspace-watch-capture .product-watch-add-form,
  .product-workspace-intake-rail .product-workspace-watch-filter {
    grid-template-columns: 1fr;
  }

  .product-workspace-priority-card.primary {
    grid-row: auto;
  }

  .product-workspace-priority-board,
  .product-workspace-today-tasks {
    grid-column: auto;
  }

  .product-workspace-today-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .product-workspace-today-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .product-workspace-frame-head,
  .product-workspace-task-head,
  .product-workspace-task-next,
  .product-workspace-onboarding-head,
  .product-workspace-case-checklist-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .product-workspace-frame-actions,
  .product-workspace-task-head-actions {
    justify-content: flex-start;
  }

  .product-workspace-quick-add .product-watch-add-form,
  .product-workspace-watch-capture .product-watch-add-form,
  .product-workspace-watch-filter,
  .product-workspace-watch-column .product-watch-detail-grid,
  .product-workspace-watch-column .product-watch-score-grid {
    grid-template-columns: 1fr;
  }

  .product-workspace-watch-dock-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-workspace-intake-rail .product-workspace-watch-dock-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-workspace-identity-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-workspace-watch-dock > button {
    justify-self: start;
  }

  .product-workspace-identity-bar > a {
    justify-self: start;
  }

  .product-watch-add-form {
    grid-template-columns: 1fr;
  }

  .product-workspace-case-summary,
  .product-workspace-case-list {
    grid-template-columns: 1fr;
  }

  .product-workspace-case-toolbar {
    grid-template-columns: 1fr;
  }

  .product-workspace-detail-section-head,
  .product-workspace-current-stage-head {
    display: grid;
  }

  .product-workspace-scope-strip.compact {
    justify-content: flex-start;
    max-width: none;
  }

  .product-workspace-case-queue {
    border-right: 0;
    border-bottom: 1px solid var(--product-line);
  }

  .product-workspace-case-list,
  .product-watch-card-list.compact {
    max-height: none;
  }

  .product-workspace-watch-column.expanded .product-watch-card-list.compact {
    grid-template-columns: 1fr;
  }

  .product-workspace-case-status-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-workspace-case-stage-route-item {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .product-workspace-case-stage-route-item em {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .product-workspace-detail-grid,
  .product-workspace-selection-facts,
  .product-workspace-detail-tabs,
  .product-workspace-tab-panel,
  .product-workspace-case-optional-strip,
  .product-workspace-case-stage-grid,
  .product-workspace-case-snapshot,
  .product-workspace-case-readiness-grid,
  .product-workspace-ai-source-metrics,
  .product-workspace-ai-source-grid,
  .product-workspace-ai-bridge-grid,
  .product-workspace-ai-insight-grid,
  .product-workspace-ai-result-grid,
  .product-workspace-ai-task-picker > div:last-child,
  .product-workspace-onboarding-steps,
  .product-workspace-report-readiness,
  .product-workspace-report-source-grid,
  .product-workspace-publish-checks,
  .product-workspace-frame-grid,
  .product-workspace-ledger-grid,
  .product-workspace-ledger-card > div.product-workspace-ledger-note,
  .product-workspace-ledger-note summary,
  .product-workspace-two-fields,
  .product-workspace-task-form,
  .product-workspace-task-item,
  .product-workspace-ai-source-row,
  .product-workspace-report-section-list > div,
  .product-workspace-ai-thesis-grid,
  .product-workspace-ai-gap-row,
  .product-workspace-ai-text-row,
  .product-workspace-ai-plan-row {
    grid-template-columns: 1fr;
  }

  .product-workspace-ai-readable-head,
  .product-workspace-ai-source-details summary {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .product-workspace-case-optional-action {
    grid-template-columns: 1fr;
  }

  .product-workspace-case-optional-action em {
    justify-self: start;
  }

  .product-workspace-ai-source-row-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .product-workspace-onboarding-steps {
    display: grid;
  }

  .product-workspace-timeline-item {
    grid-template-columns: 1fr;
  }

  .product-workspace-timeline-dot {
    justify-self: start;
  }
}

.product-signal-lead {
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-signal-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 2px;
}

.product-signal-kpi-strip > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-signal-kpi-strip span,
.product-signal-kpi-strip small {
  color: var(--product-muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.product-signal-kpi-strip strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-signal-pulse-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.product-signal-pulse-panel {
  min-height: 224px;
}

.product-signal-pulse-body {
  display: grid;
  gap: 12px;
  padding: 14px 16px 16px;
}

.product-signal-quality-board {
  display: grid;
  gap: 10px;
}

.product-signal-quality-board > div {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.26);
}

.product-signal-quality-board span,
.product-signal-quality-board small,
.product-signal-bar-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-signal-card-list .product-empty-note {
  grid-column: 1 / -1;
}

.product-signal-bar-row span {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-signal-quality-board strong {
  color: var(--product-text);
  font-size: 22px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-signal-quality-board .ui-score-line,
.product-signal-card-score .ui-score-line {
  grid-template-columns: 1fr;
}

.product-signal-quality-board .ui-score-line > strong,
.product-signal-card-score .ui-score-line > strong {
  display: none;
}

.product-signal-bar-list {
  display: grid;
  gap: 10px;
}

.product-signal-bar-row {
  display: grid;
  grid-template-columns: minmax(86px, 0.82fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.product-signal-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(410px, 0.72fr);
  gap: 14px;
  align-items: start;
}

.product-signal-card-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.product-shell .product-signal-card {
  appearance: none;
  display: grid;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 164px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  color: var(--product-text);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.72), rgba(8, 16, 28, 0.72));
  box-shadow: none;
  font: inherit;
  font-weight: 500;
  text-align: left;
  white-space: normal;
}

.product-shell .product-signal-card:hover,
.product-shell .product-signal-card.selected {
  border-color: rgba(32, 215, 181, 0.48);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 46%),
    rgba(8, 18, 32, 0.9);
  color: var(--product-text);
}

.product-shell .product-signal-card.selected {
  box-shadow: inset 3px 0 0 rgba(32, 215, 181, 0.9);
}

.product-signal-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.product-signal-card-head > div {
  min-width: 0;
}

.product-signal-card-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  min-width: 0;
}

.product-signal-card-meta span {
  position: relative;
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.product-signal-card-meta span + span::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 10px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.44);
  vertical-align: middle;
}

.product-signal-card-meta .risk.good {
  color: var(--product-accent);
}

.product-signal-card-meta .risk.warning {
  color: var(--product-warning);
}

.product-signal-card-meta .risk.danger {
  color: #fb7185;
}

.product-signal-card-head strong {
  display: block;
  color: var(--product-accent);
  font-size: 20px;
  line-height: 1.15;
}

.product-signal-card-head span,
.product-signal-card-score span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-signal-card-score {
  display: grid;
  gap: 8px;
}

.product-signal-card-evidence {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.product-signal-card-evidence .ui-badge {
  max-width: min(220px, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-signal-card-more {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.product-watch-lead {
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-watch-status-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.product-watch-status-row button {
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid var(--product-line);
  border-radius: 999px;
  color: var(--product-muted);
  background: rgba(15, 23, 42, 0.72);
}

.product-watch-status-row button.active,
.product-watch-status-row button:hover {
  color: #06111d;
  border-color: rgba(45, 212, 191, 0.72);
  background: linear-gradient(135deg, #20d7b5, #38bdf8);
}

.product-watch-grid {
  display: grid;
  grid-template-columns: minmax(400px, 0.45fr) minmax(0, 0.55fr);
  gap: 14px;
  align-items: start;
}

.product-watch-card-list {
  display: grid;
  gap: 10px;
  padding: 14px;
  max-height: 680px;
  overflow-y: auto;
  overflow-x: hidden;
}

.product-shell .product-watch-card {
  appearance: none;
  display: grid;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: auto;
  padding: 13px;
  border: 1px solid var(--product-line);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.28) !important;
  box-shadow: none !important;
  color: var(--product-text) !important;
  font: inherit;
  font-weight: 500;
  text-align: left;
  white-space: normal;
}

.product-shell .product-watch-card:hover,
.product-shell .product-watch-card.selected {
  border-color: rgba(32, 215, 181, 0.5);
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 48%),
    rgba(8, 18, 32, 0.9) !important;
  color: var(--product-text) !important;
}

.product-watch-card-head,
.product-watch-card-meta,
.product-watch-detail-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.product-watch-card-head > div {
  min-width: 0;
}

.product-watch-card-head .ui-badge {
  flex: 0 0 auto;
}

.product-watch-card-meta {
  justify-content: flex-start;
}

.product-watch-card strong {
  display: block;
  color: var(--product-accent);
  font-size: 18px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-shell .product-watch-card span,
.product-shell .product-watch-card p {
  min-width: 0;
  color: var(--product-muted);
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.product-shell .product-watch-card p {
  margin: 0;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-watch-detail .ui-panel-head {
  align-items: center;
}

.product-watch-detail-lead {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-watch-detail-brief {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.product-watch-detail-lead p {
  margin: 0;
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.6;
}

.product-watch-detail-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.product-watch-detail-status .ui-badge {
  min-width: 0;
}

.product-watch-detail-lead span,
.product-watch-detail-grid span,
.product-watch-kv span,
.product-watch-score-card span,
.product-watch-score-card small {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-watch-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-watch-detail-grid > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-watch-detail-grid strong {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.product-watch-detail-grid small {
  color: var(--product-muted);
}

.product-watch-score-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--product-line);
}

.product-watch-score-card {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.26);
}

.product-watch-score-card.good {
  border-color: rgba(32, 215, 181, 0.28);
}

.product-watch-score-card.warning {
  border-color: rgba(247, 201, 72, 0.28);
}

.product-watch-score-card.danger {
  border-color: rgba(251, 113, 133, 0.32);
}

.product-watch-score-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.product-watch-score-card strong {
  color: var(--product-text);
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-watch-score-card.warning strong {
  color: #f7c948;
}

.product-watch-score-card.danger strong {
  color: #fb7185;
}

.product-watch-score-card.good strong {
  color: var(--product-accent);
}

.product-watch-score-card .ui-score-line {
  grid-template-columns: 1fr;
}

.product-watch-score-card .ui-score-line > strong {
  display: none;
}

.product-watch-detail-bottom {
  display: grid;
  grid-template-columns: minmax(240px, 0.62fr) minmax(0, 1fr);
  min-width: 0;
}

.product-watch-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.product-watch-kv > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-watch-kv b {
  color: var(--product-text);
  font-size: 20px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.product-watch-notes {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border-left: 1px solid var(--product-line);
}

.product-watch-notes strong {
  display: block;
  margin-bottom: 8px;
  color: var(--product-text);
}

.product-watch-notes .ui-tag-list {
  align-items: flex-start;
}

.product-signals-page .product-market-score-card {
  gap: 9px;
}

.product-signals-page .product-market-score-card strong {
  font-size: 30px;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.product-stock-toolbar {
  grid-template-columns: minmax(120px, 180px) minmax(150px, 190px) max-content max-content max-content;
}

.product-stock-search-panel {
  align-items: end;
  grid-template-columns: minmax(260px, 1.5fr) minmax(180px, 0.75fr) minmax(150px, 0.55fr) auto auto;
}

.product-stock-home-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.55fr);
  gap: 16px;
  align-items: stretch;
}

.product-stock-home-search,
.product-stock-home-snapshot {
  min-width: 0;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(6, 13, 24, 0.94));
  box-shadow: var(--product-shadow);
}

.product-stock-home-search {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 18px;
}

.product-stock-search-form {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(160px, 0.65fr) minmax(130px, 0.48fr) max-content max-content;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.22);
}

.product-stock-search-form input,
.product-stock-search-form select {
  width: 100%;
  min-width: 0;
}

.product-stock-search-form button {
  min-height: 40px;
}

.product-stock-home-snapshot {
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 18px;
}

.product-stock-home-snapshot > span,
.product-stock-home-kpis small {
  color: var(--product-muted);
  font-size: 12px;
  line-height: 1.55;
}

.product-stock-home-snapshot > strong {
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.2;
}

.product-stock-home-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.product-stock-home-kpis > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.24);
}

.product-stock-home-kpis b {
  color: var(--product-accent);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-stock-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.product-stock-entry-list {
  display: grid;
  gap: 10px;
}

.product-stock-entry-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
  background: rgba(8, 16, 30, 0.72);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.product-stock-entry-card:hover {
  border-color: rgba(37, 218, 195, 0.6);
  background: rgba(12, 30, 47, 0.88);
  transform: translateY(-1px);
}

.product-stock-entry-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.product-stock-entry-head strong {
  display: block;
  color: var(--product-accent);
  font-size: 16px;
  letter-spacing: 0;
}

.product-stock-entry-head span,
.product-stock-entry-card p,
.product-stock-entry-meta span {
  color: var(--product-muted);
}

.product-stock-entry-card p {
  margin: 0;
  min-height: 36px;
  line-height: 1.45;
}

.product-stock-entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-height: 28px;
}

.product-stock-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 250px);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 35%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-stock-hero.compact {
  padding-bottom: 18px;
}

.product-stock-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(32, 215, 181, 0.24);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(6, 13, 24, 0.96));
  box-shadow: var(--product-shadow);
}

.product-stock-summary-main {
  display: grid;
  align-content: center;
  gap: 12px;
  min-width: 0;
}

.product-stock-summary-main h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0;
}

.product-stock-price-tile {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--product-line);
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.28);
}

.product-stock-price-tile span,
.product-stock-price-tile small {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-stock-price-tile strong {
  color: var(--product-accent);
  font-size: 42px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-stock-layout {
  display: grid;
  grid-template-columns: minmax(620px, 1fr) minmax(330px, 0.42fr);
  gap: 14px;
  align-items: start;
}

.product-stock-side-stack {
  display: grid;
  gap: 14px;
}

.product-stock-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.product-stock-brief-grid > .ui-panel,
.product-stock-environment-card,
.product-stock-fundamental-card {
  height: 100%;
}

.product-stock-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.product-stock-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.42fr);
  gap: 14px;
  align-items: start;
}

.product-stock-analysis-main {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.product-stock-analysis-side {
  display: grid;
  gap: 14px;
  align-content: start;
  min-width: 0;
}

.product-stock-analysis-side .product-stock-current-signal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-stock-analysis-side .product-stock-current-signal-grid > div,
.product-stock-analysis-side .product-stock-current-signal-grid > div:nth-child(4n),
.product-stock-analysis-side .product-stock-current-signal-grid > div:nth-last-child(-n + 4) {
  grid-template-columns: 1fr;
  gap: 5px;
  min-height: 58px;
  border-right: 1px solid rgba(148, 163, 184, 0.12);
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-stock-analysis-side .product-stock-current-signal-grid > div:nth-child(2n) {
  border-right: 0;
}

.product-stock-analysis-side .product-stock-current-signal-grid > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.product-stock-analysis-side .product-stock-current-signal-grid strong {
  text-align: left;
}

.product-stock-analysis-side .product-stock-focus-row {
  grid-template-columns: 1fr;
}

.product-stock-current-signal {
  overflow: hidden;
}

.product-stock-current-signal .panel-body {
  display: grid;
  gap: 14px;
}

.product-stock-current-signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(2, 6, 23, 0.18);
}

.product-stock-current-signal-grid > div {
  display: grid;
  grid-template-columns: minmax(96px, 0.9fr) minmax(0, 1.1fr);
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border-right: 1px solid rgba(148, 163, 184, 0.12);
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-stock-current-signal-grid > div:nth-child(4n) {
  border-right: 0;
}

.product-stock-current-signal-grid > div:nth-last-child(-n + 4) {
  border-bottom: 0;
}

.product-stock-current-signal-grid span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-current-signal-grid strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--product-text);
  font-size: 13px;
  font-weight: 900;
  text-align: right;
}

.product-stock-current-signal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-fundamental-card .panel-body {
  display: grid;
  gap: 12px;
}

.product-stock-fundamental-headline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-stock-fundamental-headline > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-stock-fundamental-headline span,
.product-stock-fundamental-tags > span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-fundamental-headline strong {
  color: var(--product-text);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.product-stock-fundamental-table {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
}

.product-stock-fundamental-table .head,
.product-stock-fundamental-table .row {
  display: grid;
  grid-template-columns: minmax(94px, 0.72fr) minmax(180px, 1.25fr) minmax(88px, 0.65fr) 42px;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.11);
}

.product-stock-fundamental-table .row:last-child {
  border-bottom: 0;
}

.product-stock-fundamental-table .head {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 900;
  background: rgba(15, 23, 42, 0.45);
}

.product-stock-fundamental-table b {
  color: var(--product-text);
  font-size: 13px;
}

.product-stock-fundamental-table .row > span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-fundamental-table em {
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
  text-align: right;
}

.product-stock-fundamental-table em.good {
  color: var(--product-accent);
}

.product-stock-fundamental-table em.warning {
  color: #fbbf24;
}

.product-stock-fundamental-table em.danger {
  color: #fb7185;
}

.product-stock-fundamental-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.product-stock-fundamental-empty {
  display: grid;
  gap: 10px;
  min-height: 180px;
  align-content: center;
  padding: 22px;
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.2);
}

.product-stock-fundamental-empty strong {
  color: var(--product-text);
  font-size: 20px;
}

.product-stock-fundamental-empty p {
  max-width: 620px;
  margin: 0;
  color: var(--product-muted);
  line-height: 1.65;
}

.product-stock-focus-row,
.product-stock-env-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.product-stock-focus-row > div,
.product-stock-env-strip > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-stock-focus-row span,
.product-stock-env-strip span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-focus-row strong,
.product-stock-env-strip strong {
  color: var(--product-text);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.product-stock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.product-stock-summary.slim {
  grid-template-columns: minmax(0, 1fr) 180px;
}

.product-stock-structure-panel {
  overflow: hidden;
}

.product-stock-structure-layout {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  min-height: 560px;
}

.product-stock-chart-main {
  min-width: 0;
  padding: 12px 16px 16px;
}

.product-stock-echart {
  width: 100%;
  height: 410px;
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(2, 6, 23, 0.54));
}

.product-stock-side-panel {
  display: grid;
  align-content: start;
  gap: 0;
  padding: 14px;
  border-right: 1px solid var(--product-line);
  background: rgba(6, 13, 24, 0.58);
}

.product-stock-side-panel h3 {
  margin: 0 0 10px;
  color: var(--product-text);
  font-size: 15px;
}

.product-stock-side-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0 12px;
  border-bottom: 1px solid var(--product-line);
}

.product-stock-side-state span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-info-line {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  min-height: 29px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.09);
}

.product-stock-info-line span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-info-line strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--product-text);
  font-size: 12px;
  text-align: right;
}

.product-structure-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 10px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-structure-legend-item {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.product-structure-legend-item i {
  display: inline-block;
  width: 18px;
  height: 3px;
  border-radius: 999px;
}

.product-structure-legend-item.dot i {
  width: 8px;
  height: 8px;
}

.product-structure-legend-item.triangle i {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 10px solid;
  border-radius: 0;
}

.product-stock-state-band-wrap {
  margin-top: 12px;
  padding: 10px 12px 12px;
  border: 1px solid rgba(65, 82, 115, 0.72);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.34);
}

.product-stock-state-band {
  display: flex;
  overflow: hidden;
  height: 12px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.15);
}

.product-stock-state-segment {
  min-width: 4px;
}

.product-stock-state-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 10px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-state-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.product-stock-state-legend i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.product-stock-lead-main {
  display: grid;
  align-content: center;
  gap: 12px;
  min-width: 0;
}

.product-stock-lead-main h2 {
  margin: 0;
  color: var(--product-text);
  font-size: 22px;
  line-height: 1.55;
  letter-spacing: 0;
}

.product-stock-quote-card {
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--product-line);
  border-radius: var(--product-radius);
  background: rgba(2, 6, 23, 0.26);
}

.product-stock-quote-card span,
.product-stock-quote-card small {
  color: var(--product-muted);
  font-size: 12px;
  font-weight: 800;
}

.product-stock-quote-card strong {
  color: var(--product-accent);
  font-size: 40px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.product-stock-main-grid {
  display: grid;
  grid-template-columns: minmax(620px, 1.25fr) minmax(420px, 0.85fr);
  gap: 14px;
  align-items: start;
}

.product-stock-two-column,
.product-stock-market-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.product-stock-chart {
  display: grid;
  gap: 14px;
  padding: 4px 0 14px;
}

.product-stock-chart-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-stock-chart-meta > div,
.product-stock-position-grid > div,
.product-stock-fundamental-head > div,
.product-stock-industry-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-stock-chart-meta span,
.product-stock-position-grid span,
.product-stock-fundamental-head span,
.product-stock-industry-grid span,
.product-stock-kv span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-chart-meta strong,
.product-stock-position-grid strong,
.product-stock-fundamental-head strong,
.product-stock-industry-grid strong,
.product-stock-kv strong {
  color: var(--product-text);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.product-stock-position-grid small,
.product-stock-fundamental-head small {
  color: var(--product-muted);
}

.product-stock-chart-svg {
  width: 100%;
  height: 310px;
  overflow: visible;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(2, 6, 23, 0.55));
}

.product-stock-chart-svg path {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.product-stock-chart-svg .grid {
  stroke: rgba(148, 163, 184, 0.14);
  stroke-width: 0.35;
  vector-effect: non-scaling-stroke;
}

.product-stock-chart-svg .close {
  stroke: #2eeac9;
  stroke-width: 1.8;
}

.product-stock-chart-svg .ma20 {
  stroke: #f7c948;
  stroke-width: 1.1;
}

.product-stock-chart-svg .ma50 {
  stroke: #60a5fa;
  stroke-width: 1;
}

.product-stock-chart-svg .peak {
  stroke: rgba(251, 191, 36, 0.82);
  stroke-width: 0.8;
  stroke-dasharray: 4 3;
}

.product-stock-chart-svg .support {
  stroke: rgba(251, 113, 133, 0.82);
  stroke-width: 0.8;
  stroke-dasharray: 4 3;
}

.product-stock-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-legend span::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 3px;
  margin-right: 6px;
  vertical-align: middle;
  border-radius: 999px;
  background: currentColor;
}

.product-stock-legend .close {
  color: #2eeac9;
}

.product-stock-legend .ma20 {
  color: #f7c948;
}

.product-stock-legend .ma50 {
  color: #60a5fa;
}

.product-stock-legend .peak {
  color: #fbbf24;
}

.product-stock-legend .support {
  color: #fb7185;
}

.product-stock-position-grid,
.product-stock-fundamental-head,
.product-stock-industry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-stock-signal {
  display: grid;
  gap: 14px;
}

.product-stock-signal-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(120px, 0.8fr) minmax(120px, 0.8fr);
  gap: 10px;
}

.product-stock-signal-head > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.22);
}

.product-stock-signal-head span,
.product-stock-signal-head small {
  color: var(--product-muted);
  font-size: 12px;
}

.product-stock-signal-head strong {
  color: var(--product-text);
  font-size: 16px;
  line-height: 1.35;
}

.product-stock-signal-sections {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-stock-market-lead {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.product-stock-market-lead strong {
  color: var(--product-accent);
  font-size: 28px;
}

.product-stock-market-lead span:last-child {
  color: var(--product-muted);
}

.product-score-list.compact {
  display: grid;
  gap: 10px;
}

.product-stock-kv {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) max-content;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--product-line);
}

.product-stock-kv:last-child {
  border-bottom: 0;
}

.product-signal-detail-panel {
  position: sticky;
  top: 14px;
}

.product-signal-detail-head {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-signal-detail-head > div {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 10px;
  background: rgba(2, 6, 23, 0.28);
}

.product-signal-detail-head span {
  color: var(--product-muted);
  font-size: 12px;
}

.product-signal-detail-head strong {
  color: var(--product-text);
  font-size: 20px;
}

.product-signal-explain {
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-signal-evidence-grid {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--product-line);
}

.product-signal-evidence-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.42);
}

.product-signal-evidence-card > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--product-muted);
  font-size: 13px;
}

.product-signal-evidence-card b {
  color: var(--product-text);
  font-variant-numeric: tabular-nums;
}

.product-signal-notes {
  display: grid;
  gap: 12px;
  padding: 14px 16px 16px;
}

.product-signal-notes > div {
  display: grid;
  gap: 8px;
}

.product-signal-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.product-signal-distribution {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.product-signal-distribution + .product-signal-distribution {
  border-top: 1px solid var(--product-line);
}

.product-signal-distribution-row {
  display: grid;
  grid-template-columns: minmax(120px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  color: var(--product-muted);
}

.product-signal-distribution-row .ui-score-line > strong {
  min-width: 42px;
}

.product-empty-note {
  margin: 0;
  padding: 18px;
  color: var(--product-muted);
}

.auth-loading,
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(180deg, #07111f 0%, #050914 48%, #04070d 100%);
  color: #e5edf6;
}

.auth-loading {
  color: #8ea0b5;
}

.login-terminal {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 420px);
  gap: 22px;
  width: min(940px, 100%);
  align-items: stretch;
}

.login-intro,
.login-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(13, 23, 38, 0.92);
  box-shadow: 0 22px 80px rgba(0, 0, 0, 0.36);
}

.login-intro {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: center;
  gap: 16px;
  min-height: 420px;
  padding: 42px;
  background:
    linear-gradient(135deg, rgba(32, 215, 181, 0.16), transparent 46%),
    rgba(13, 23, 38, 0.92);
}

.login-intro::after {
  content: "";
  position: absolute;
  inset: auto 42px 34px 42px;
  height: 1px;
  background: linear-gradient(90deg, rgba(32, 215, 181, 0.55), transparent);
}

.login-brand-mark {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(32, 215, 181, 0.45);
  border-radius: 8px;
  color: #06120f;
  background: linear-gradient(135deg, #2eeac9, #38bdf8);
  box-shadow: 0 0 30px rgba(32, 215, 181, 0.26);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.login-page .product-eyebrow {
  margin: 0;
  color: #20d7b5;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.login-intro h1 {
  margin: 0;
  color: #e5edf6;
  font-size: 38px;
  line-height: 1.15;
}

.login-intro p {
  max-width: 540px;
  margin: 0;
  color: #b7c7da;
  line-height: 1.8;
}

.login-trial-note {
  display: grid;
  gap: 6px;
  max-width: 520px;
  padding: 14px 16px;
  border: 1px solid rgba(32, 215, 181, 0.26);
  border-radius: 8px;
  background: rgba(5, 150, 105, 0.08);
  color: #b7c7da;
  line-height: 1.65;
}

.login-trial-note strong {
  color: #20d7b5;
}

.login-card {
  display: grid;
  align-content: center;
  gap: 15px;
  min-height: 420px;
  padding: 32px;
}

.login-card-head {
  display: grid;
  gap: 8px;
  margin-bottom: 4px;
}

.login-card h1,
.login-card h2,
.login-card p {
  margin: 0;
}

.login-card h2 {
  color: #e5edf6;
  font-size: 28px;
}

.login-card p {
  color: #a7b6c9;
  line-height: 1.65;
}

.login-card label {
  display: grid;
  gap: 7px;
  color: #9fb0c6;
  font-size: 13px;
  font-weight: 800;
}

.login-card input {
  min-height: 44px;
  padding: 0 13px;
  color: #e5edf6;
  background: rgba(2, 6, 23, 0.58);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
}

.login-card input::placeholder {
  color: #6f8299;
}

.login-card input:focus {
  border-color: rgba(32, 215, 181, 0.62);
  box-shadow: 0 0 0 3px rgba(32, 215, 181, 0.12);
  outline: none;
}

.login-checkbox {
  grid-template-columns: 18px 1fr;
  align-items: flex-start;
  gap: 10px !important;
  color: #b7c7da;
  font-weight: 700;
  line-height: 1.55;
}

.login-checkbox.muted {
  color: #91a3b8;
  font-weight: 650;
}

.login-card .login-checkbox input {
  width: 16px;
  min-height: 16px;
  height: 16px;
  margin-top: 3px;
  padding: 0;
  accent-color: #20d7b5;
  box-shadow: none;
}

.login-checkbox a {
  color: #35e0c7;
  text-decoration: none;
}

.login-checkbox a:hover {
  color: #67e8f9;
  text-decoration: underline;
}

.login-card button,
.login-card a.button-ghost,
.login-actions a.button-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid rgba(32, 215, 181, 0.35);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(32, 215, 181, 0.95), rgba(13, 148, 136, 0.95));
  color: #03120f;
  box-shadow: 0 12px 28px rgba(20, 184, 166, 0.18);
  font-weight: 900;
  text-decoration: none;
}

.login-card button,
.login-card a.button-ghost {
  width: 100%;
}

.login-card button.button-ghost,
.login-card a.button-ghost,
.login-actions a.button-ghost {
  background: rgba(15, 23, 42, 0.72);
  color: #e5edf6;
  border-color: rgba(148, 163, 184, 0.3);
  box-shadow: none;
}

.login-card button:hover,
.login-card a.button-ghost:hover,
.login-actions a.button-ghost:hover {
  border-color: rgba(32, 215, 181, 0.45);
  color: #20d7b5;
  text-decoration: none;
}

.login-card button:not(.button-ghost):hover {
  color: #03120f;
  background: linear-gradient(180deg, #2eeac9, #0fbaa4);
}

.login-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.login-mode-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.login-mode-switch:has(> :only-child) {
  grid-template-columns: 1fr;
}

.legal-page {
  min-height: 100vh;
  padding: 42px 18px;
  background:
    radial-gradient(circle at 18% 12%, rgba(32, 215, 181, 0.14), transparent 34%),
    linear-gradient(180deg, #07111f 0%, #050914 54%, #04070d 100%);
  color: #e5edf6;
}

.legal-shell {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: 34px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(13, 23, 38, 0.92);
  box-shadow: 0 22px 80px rgba(0, 0, 0, 0.36);
}

.legal-shell .product-eyebrow {
  margin: 12px 0 8px;
  color: #20d7b5;
}

.legal-shell h1 {
  margin: 0;
  font-size: 34px;
  line-height: 1.18;
}

.legal-updated {
  margin: 10px 0 0;
  color: #91a3b8;
}

.legal-intro {
  margin: 20px 0 0;
  padding: 16px 18px;
  border: 1px solid rgba(32, 215, 181, 0.22);
  border-radius: 8px;
  background: rgba(5, 150, 105, 0.08);
  color: #c7d6e7;
  line-height: 1.8;
}

.legal-section-list {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.legal-section {
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 8px;
  background: rgba(2, 6, 23, 0.22);
}

.legal-section h2 {
  margin: 0 0 10px;
  color: #e5edf6;
  font-size: 18px;
}

.legal-section p {
  margin: 0;
  color: #b7c7da;
  line-height: 1.85;
}

.legal-section p + p {
  margin-top: 10px;
}

.legal-back-link {
  width: fit-content;
  min-height: 36px;
  padding: 0 14px;
}

.legal-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.legal-footer-actions a.button-ghost {
  width: auto;
  min-height: 38px;
  padding: 0 14px;
}

.admin-users-grid {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  gap: 14px;
}

.admin-user-form {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.admin-user-form label {
  display: grid;
  gap: 6px;
  color: #3f5361;
  font-size: 13px;
  font-weight: 700;
}

.admin-user-form .inline-check {
  grid-template-columns: max-content 1fr;
  align-items: center;
}

.admin-user-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.admin-entitlement-panel {
  margin-top: 16px;
}

.admin-entitlement-layout {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  min-height: 460px;
}

.admin-entitlement-roles {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 16px;
  border-right: 1px solid var(--line);
  background: color-mix(in srgb, var(--color-control-bg) 74%, var(--color-primary-soft));
}

.admin-entitlement-roles > button {
  display: grid;
  gap: 8px;
  min-height: 88px;
  padding: 14px;
  text-align: left;
  color: var(--ink);
  background: var(--color-control-bg);
  border: 1px solid var(--line);
  box-shadow: none;
}

.admin-entitlement-roles > button:hover,
.admin-entitlement-roles > button.active {
  color: var(--ink);
  background: var(--panel);
  border-color: var(--color-primary-line);
}

.admin-entitlement-roles > button.active {
  box-shadow: inset 3px 0 0 var(--accent);
}

.admin-entitlement-roles strong {
  font-size: 17px;
}

.admin-entitlement-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-entitlement-summary span {
  padding: 3px 7px;
  color: var(--muted);
  background: var(--color-primary-soft);
  border: 1px solid var(--color-primary-line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.admin-entitlement-form {
  display: grid;
  gap: 16px;
  padding: 16px;
}

.admin-entitlement-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.admin-entitlement-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.admin-entitlement-section-head h3,
.admin-entitlement-section-head p,
.admin-entitlement-subsection h4 {
  margin: 0;
}

.admin-entitlement-section-head h3 {
  font-size: 16px;
}

.admin-entitlement-section-head p,
.admin-entitlement-subsection h4 {
  color: var(--muted);
  font-size: 12px;
}

.admin-module-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.admin-entitlement-two-col {
  display: grid;
  grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
  gap: 16px;
}

.admin-limit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-limit-grid label,
.admin-entitlement-check {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--color-control-bg);
}

.admin-limit-grid label {
  display: grid;
  gap: 7px;
  padding: 10px;
}

.admin-limit-grid label > span,
.admin-entitlement-check > span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.admin-limit-grid small,
.admin-entitlement-check small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.admin-limit-grid input {
  width: 100%;
  min-height: 36px;
  padding: 0 10px;
  color: var(--ink);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.admin-capability-grid,
.admin-chip-grid {
  display: grid;
  gap: 10px;
}

.admin-capability-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-chip-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-entitlement-check {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 68px;
  padding: 10px 12px 10px 34px;
  cursor: pointer;
}

.admin-entitlement-check input {
  position: absolute;
  left: 12px;
  top: 13px;
  width: 14px;
  height: 14px;
  accent-color: var(--accent);
}

.admin-entitlement-check.checked {
  background: var(--color-primary-soft);
  border-color: var(--color-primary-line);
}

.admin-entitlement-check.disabled {
  opacity: 0.58;
  cursor: not-allowed;
}

.admin-entitlement-subsection {
  display: grid;
  gap: 9px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.admin-entitlement-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 2px;
}

.product-health-page {
  display: grid;
  gap: 18px;
}

.product-health-metrics .ui-metric-card {
  min-height: 104px;
}

.product-health-page .ui-panel {
  overflow: hidden;
}

.product-health-access-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 14px;
}

.product-health-date-list,
.product-health-error-list {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.product-health-date-list span,
.product-health-error-list span {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.product-health-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.product-health-breakdown span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-soft);
  color: var(--muted);
  font-size: 12px;
}

.product-health-breakdown strong {
  overflow: hidden;
  max-width: 120px;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
}

.product-health-breakdown em {
  color: var(--accent);
  font-style: normal;
  font-weight: 800;
}

.research-triage-page {
  display: grid;
  gap: 16px;
}

.research-triage-filter {
  grid-template-columns: minmax(140px, 180px) minmax(130px, 180px) minmax(180px, 1fr) minmax(112px, 140px) auto;
  justify-content: start;
}

.research-triage-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.research-triage-metrics .ui-metric-card {
  min-height: 100px;
}

.research-state-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
}

.research-state-strip button,
.research-triage-tabs button {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--text);
  cursor: pointer;
}

.research-state-strip button {
  min-height: 72px;
  padding: 11px 12px;
  text-align: left;
}

.research-state-strip button.active,
.research-state-strip button:hover,
.research-triage-tabs button.active,
.research-triage-tabs button:hover {
  border-color: var(--color-primary-line);
  background: var(--color-primary-soft);
}

.research-state-strip span,
.research-state-strip small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.research-state-strip strong {
  display: block;
  margin: 3px 0;
  font-size: 21px;
  line-height: 1.1;
}

.research-triage-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.research-triage-tabs button {
  min-height: 32px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

.research-score {
  font-weight: 800;
  color: var(--text);
}

.research-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.investment-research-page {
  display: grid;
  gap: 16px;
}

.investment-research-filter {
  grid-template-columns:
    minmax(140px, 170px)
    minmax(120px, 150px)
    minmax(150px, 1fr)
    minmax(140px, 170px)
    minmax(160px, 190px)
    minmax(110px, 130px)
    auto;
  justify-content: start;
}

.investment-research-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.investment-research-metrics .ui-metric-card {
  min-height: 100px;
}

.investment-funnel-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.investment-funnel-strip button {
  min-height: 68px;
  padding: 11px 13px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--text);
  cursor: pointer;
}

.investment-funnel-strip button.active,
.investment-funnel-strip button:hover {
  border-color: var(--color-primary-line);
  background: var(--color-primary-soft);
}

.investment-funnel-strip span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.investment-funnel-strip strong {
  display: block;
  margin-top: 4px;
  font-size: 22px;
  line-height: 1.1;
}

.investment-workbench-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  gap: 14px;
  align-items: start;
}

.investment-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 14px;
}

.investment-detail-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.investment-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 14px 0;
}

.investment-field {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.investment-field span,
.investment-detail-block span {
  color: var(--muted);
  font-size: 12px;
}

.investment-field strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.investment-detail-block {
  display: grid;
  gap: 4px;
  padding: 12px 14px 0;
}

.investment-detail-block p {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.investment-card-tags {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.investment-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding: 14px 14px 0;
}

.investment-card-actions button {
  min-height: 34px;
}

.investment-task-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 12px;
}

.investment-task-toolbar select {
  max-width: 180px;
}

.investment-task-cards {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.investment-task-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--color-control-bg);
}

.investment-task-card-head,
.investment-task-card-meta,
.investment-task-quick-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.investment-task-card-head {
  justify-content: space-between;
}

.investment-task-status-select {
  min-width: 145px;
  min-height: 34px;
}

.investment-task-card-meta {
  justify-content: space-between;
  color: var(--muted);
  font-size: 12px;
}

.investment-task-card-meta strong {
  color: var(--text);
  font-size: 13px;
}

.investment-task-card p {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
}

.investment-task-quick-actions button {
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--text);
  cursor: pointer;
}

.investment-task-quick-actions button.active,
.investment-task-quick-actions button:hover:not(:disabled) {
  border-color: var(--color-primary-line);
  background: var(--color-primary-soft);
}

.investment-task-quick-actions button:disabled {
  cursor: default;
  opacity: 0.62;
}

.investment-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.investment-empty-card {
  padding: 18px;
  color: var(--muted);
}

@media (max-width: 1100px) {
  .login-terminal {
    grid-template-columns: 1fr;
  }

  .login-intro {
    min-height: 260px;
  }

  .admin-users-grid {
    grid-template-columns: 1fr;
  }

  .admin-entitlement-layout,
  .admin-entitlement-two-col {
    grid-template-columns: 1fr;
  }

  .admin-entitlement-roles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .admin-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-health-access-grid {
    grid-template-columns: 1fr;
  }

  .research-triage-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .research-triage-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .investment-research-metrics,
  .investment-funnel-strip,
  .investment-workbench-grid,
  .investment-bottom-grid {
    grid-template-columns: 1fr;
  }

  .investment-research-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .product-shell {
    display: block;
  }

  .product-header {
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 12px;
    min-height: auto;
    padding: 12px 18px;
  }

  .product-nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .product-nav a {
    min-height: 32px;
    padding: 0 11px;
    font-size: 12px;
  }

  .product-session-date {
    display: none;
  }

  .product-admin-link {
    justify-self: start;
  }

  .product-hero,
  .product-home-lead-grid,
  .product-home-workspace,
  .product-two-column,
  .product-water-card,
  .product-market-lead,
  .product-market-pulse-grid,
  .product-trend-lead,
  .product-trend-pulse-grid,
  .product-signal-lead,
  .product-stock-home-lead,
  .product-stock-lead,
  .product-stock-summary,
  .product-stock-entry-grid,
  .product-stock-analysis-grid,
  .product-stock-layout,
  .product-stock-structure-layout,
  .product-stock-brief-grid,
  .product-stock-main-grid,
  .product-stock-two-column,
  .product-stock-market-grid,
  .product-signal-main-grid,
  .product-signal-bottom-grid,
  .product-watch-command,
  .product-watch-lead,
  .product-watch-grid,
  .product-report-home-lead,
  .product-report-layout,
  .product-personal-report-hero,
  .product-market-driver-grid,
  .product-trend-preview-grid,
  .product-focus-grid,
  .product-home-lower {
    grid-template-columns: 1fr;
  }

  .product-home-brief-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .product-disclaimer {
    justify-self: stretch;
    max-width: none;
  }

  .product-home-page .product-hero h1 {
    max-width: 640px;
    font-size: 30px;
    line-height: 1.14;
  }

  .product-filter-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-filter-panel.product-filter-compact,
  .product-filter-panel.product-market-filter,
  .product-filter-panel.product-history-filter,
  .product-filter-panel.product-trend-filter,
  .product-filter-panel.product-signals-filter,
  .product-filter-panel.product-research-filter,
  .product-filter-panel.product-watchlist-filter,
  .product-filter-panel.product-stock-search-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-filter-panel button {
    grid-column: span 2;
  }

  .product-stock-search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-stock-search-form button {
    grid-column: span 1;
  }

  .product-stock-analysis-side .product-stock-focus-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-metric-grid,
  .product-factor-grid,
  .product-report-type-grid,
  .product-report-market-visual,
  .product-report-trend-visual,
  .product-report-industry-movers,
  .product-report-detail-head,
  .product-report-points,
  .product-report-item-grid,
  .product-market-factor-grid,
  .product-market-factor-grid.compact,
  .product-market-group-strip,
  .product-market-chart-grid,
  .product-market-pro-metrics,
  .product-trend-kpi-strip,
  .product-signal-kpi-strip,
  .product-signal-pulse-grid,
  .product-signal-card-list,
  .product-trend-state-grid,
  .product-trend-industry-grid,
  .product-trend-leader-grid,
  .product-trend-industry-grid.compact,
  .product-trend-leader-grid.compact,
  .product-signal-detail-head,
  .product-stock-chart-meta,
  .product-stock-focus-row,
  .product-stock-env-strip,
  .product-stock-current-signal-grid,
  .product-stock-fundamental-headline,
  .product-stock-position-grid,
  .product-stock-fundamental-head,
  .product-stock-industry-grid,
  .product-stock-signal-sections,
  .product-watch-score-grid,
  .product-watch-detail-grid,
  .product-watch-kv,
  .product-watch-notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-watch-detail-bottom {
    grid-template-columns: 1fr;
  }

  .product-watch-notes {
    border-left: 0;
    border-top: 1px solid var(--product-line);
  }

  .product-filter-panel.product-fundamental-filter,
  .product-fundamental-home-lead,
  .product-fundamental-radar-board,
  .product-fundamental-radar-main,
  .product-fundamental-detail-grid,
  .product-fundamental-chart-grid,
  .product-fundamental-lead {
    grid-template-columns: 1fr;
  }

  .product-fundamental-table-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-fundamental-dimension-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-fundamental-search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-fundamental-lead-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-fundamental-history-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-market-radar-row {
    grid-template-columns: 1fr;
  }

  .product-stock-current-signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-stock-current-signal-grid > div:nth-child(4n) {
    border-right: 1px solid rgba(148, 163, 184, 0.12);
  }

  .product-stock-current-signal-grid > div:nth-child(2n) {
    border-right: 0;
  }

  .product-stock-current-signal-grid > div:nth-last-child(-n + 4) {
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  }

  .product-stock-current-signal-grid > div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .product-report-type-list button {
    grid-template-columns: 1fr;
  }

  .product-report-type-meta {
    align-items: flex-start;
    min-width: 0;
  }

  .product-personal-report-toc {
    grid-template-columns: 1fr;
  }

  .product-personal-report-source-grid {
    grid-template-columns: 1fr;
  }

  .product-personal-report-stale {
    grid-template-columns: 1fr;
  }

  .product-personal-report-stale a {
    grid-row: auto;
    grid-column: auto;
    justify-self: start;
  }

  .product-personal-report-toc > span {
    align-self: start;
  }

  .product-report-dimension-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .product-personal-report-tools {
    grid-template-columns: 1fr;
  }

  .product-print-top,
  .product-print-grid.two {
    grid-template-columns: 1fr;
  }

  .product-print-stat-strip,
  .product-print-fundamental-head,
  .product-print-insider-head {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .product-shell {
    display: block;
    overflow-x: hidden;
  }

  .product-report-center-tabs {
    grid-template-columns: 1fr;
  }

  .product-sidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    height: auto;
    padding: 10px 12px;
    border-right: 0;
    border-bottom: 1px solid var(--product-line);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
  }

  .product-brand {
    padding: 0;
    border-bottom: 0;
  }

  .product-brand-mark {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .product-nav {
    display: flex;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .product-nav a {
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px;
  }

  .product-nav-index {
    display: none;
  }

  .product-header {
    position: static;
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: auto;
    padding: 10px 12px;
  }

  .product-header-actions {
    justify-content: start;
    width: 100%;
  }

  .product-user-bar {
    justify-content: start;
    flex-wrap: wrap;
    gap: 7px;
    font-size: 11px;
  }

  .product-content {
    width: min(100% - 24px, 1500px);
    padding-top: 14px;
    overflow-x: hidden;
  }

  .product-hero h1 {
    font-size: 24px;
  }

  .product-home-page .product-hero {
    gap: 12px;
  }

  .product-home-page .product-hero h1 {
    font-size: 30px;
    line-height: 1.15;
  }

  .product-home-page .product-hero p {
    font-size: 14px;
    line-height: 1.55;
  }

  .product-home-toolbar {
    justify-self: stretch;
    width: 100%;
  }

  .product-filter-panel,
  .product-filter-panel.product-filter-compact,
  .product-filter-panel.product-market-filter,
  .product-filter-panel.product-history-filter,
  .product-filter-panel.product-trend-filter,
  .product-filter-panel.product-signals-filter,
  .product-filter-panel.product-research-filter,
  .product-filter-panel.product-watchlist-filter,
  .product-filter-panel.product-reports-filter,
  .product-metric-grid,
  .product-factor-grid,
  .product-report-type-grid,
  .product-report-home-lead,
  .product-report-featured,
  .product-report-date-form,
  .product-report-snapshot-grid,
  .product-report-layout,
  .product-report-market-visual,
  .product-report-trend-visual,
  .product-report-component-bars,
  .product-report-industry-movers,
  .product-report-detail-head,
  .product-report-points,
  .product-report-item-grid,
  .product-market-ai-summary,
  .product-market-ai-grid,
  .product-market-pulse-grid,
  .product-trend-pulse-grid,
  .product-signal-pulse-grid,
  .product-market-driver-board,
  .product-market-factor-grid,
  .product-market-factor-grid.compact,
  .product-market-group-strip,
  .product-market-chart-grid,
  .product-market-pro-metrics,
  .product-trend-state-grid,
  .product-trend-industry-grid,
  .product-trend-leader-grid,
  .product-trend-industry-grid.compact,
  .product-trend-leader-grid.compact,
  .product-signal-lead,
  .product-stock-home-lead,
  .product-stock-lead,
  .product-stock-summary,
  .product-stock-entry-grid,
  .product-stock-analysis-grid,
  .product-stock-layout,
  .product-stock-structure-layout,
  .product-stock-brief-grid,
  .product-stock-main-grid,
  .product-stock-two-column,
  .product-stock-market-grid,
  .product-signal-main-grid,
  .product-signal-card-list,
  .product-signal-bottom-grid,
  .product-watch-command,
  .product-watch-lead,
  .product-watch-grid,
  .product-watch-summary-grid,
  .product-watch-add-card .product-watch-add-form,
  .product-watch-score-grid,
  .product-watch-detail-bottom,
  .product-watch-detail-grid,
  .product-watch-kv,
  .product-watch-notes,
  .product-signal-detail-head,
  .product-signal-distribution-row,
  .product-stock-toolbar,
  .product-stock-chart-meta,
  .product-stock-focus-row,
  .product-stock-env-strip,
  .product-stock-current-signal-grid,
  .product-stock-fundamental-headline,
  .product-stock-position-grid,
  .product-stock-fundamental-head,
  .product-stock-industry-grid,
  .product-stock-signal-head,
  .product-stock-signal-sections,
  .product-report-grid,
  .product-home-brief-grid,
  .product-score-row {
    grid-template-columns: 1fr;
  }

  .product-market-summary-head,
  .product-market-ai-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-market-summary-head .button-ghost,
  .product-market-ai-actions {
    width: 100%;
  }

  .product-market-ai-actions .button-ghost {
    flex: 1 1 120px;
  }

  .product-filter-panel button {
    grid-column: auto;
  }

  .product-stock-search-form,
  .product-stock-home-kpis,
  .product-stock-analysis-side .product-stock-focus-row,
  .product-stock-analysis-side .product-stock-current-signal-grid {
    grid-template-columns: 1fr;
  }

  .product-stock-analysis-side .product-stock-current-signal-grid > div,
  .product-stock-analysis-side .product-stock-current-signal-grid > div:nth-child(2n),
  .product-stock-analysis-side .product-stock-current-signal-grid > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  }

  .product-stock-analysis-side .product-stock-current-signal-grid > div:last-child {
    border-bottom: 0;
  }

  .product-market-pulse-head {
    display: grid;
    align-items: start;
  }

  .product-market-pulse-head span {
    text-align: left;
  }

  .product-market-tabs {
    display: flex;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .product-market-tabs::-webkit-scrollbar {
    display: none;
  }

  .product-market-tabs button {
    flex: 0 0 min(150px, 44vw);
  }

  .product-trend-pulse-grid .product-trend-mini-bars,
  .product-trend-mini-bars {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    grid-auto-columns: minmax(4px, 1fr);
    gap: 3px;
    padding: 12px;
    overflow: hidden;
  }

  .product-trend-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-signal-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-signal-bar-row {
    grid-template-columns: 1fr;
  }

  .product-trend-section-head {
    display: grid;
    align-items: start;
  }

  .product-stock-current-signal-grid > div,
  .product-stock-current-signal-grid > div:nth-child(2n),
  .product-stock-current-signal-grid > div:nth-child(4n),
  .product-stock-current-signal-grid > div:nth-last-child(-n + 2),
  .product-stock-current-signal-grid > div:nth-last-child(-n + 4) {
    border-right: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  }

  .product-stock-current-signal-grid > div:last-child {
    border-bottom: 0;
  }

  .product-stock-fundamental-table {
    overflow-x: auto;
  }

  .product-stock-fundamental-table .head,
  .product-stock-fundamental-table .row {
    min-width: 620px;
  }

  .product-filter-panel.product-fundamental-filter,
  .product-fundamental-home-lead,
  .product-fundamental-search-form,
  .product-fundamental-home-kpis,
  .product-fundamental-radar-board,
  .product-fundamental-radar-main,
  .product-fundamental-table-list,
  .product-fundamental-detail-grid,
  .product-fundamental-chart-grid,
  .product-fundamental-lead-metrics,
  .product-fundamental-lead,
  .product-fundamental-dimension-row,
  .product-fundamental-industry-row,
  .product-fundamental-history-list,
  .product-fundamental-dimension-grid {
    grid-template-columns: 1fr;
  }

  .product-report-print-mode {
    padding: 12px 0;
  }

  .product-print-toolbar,
  .product-print-sheet {
    width: 100%;
  }

  .product-print-sheet {
    padding: 0 14px 18px;
  }

  .product-print-banner {
    flex-direction: column;
    align-items: flex-start;
    margin: 0 -14px;
    padding: 18px;
  }

  .product-print-banner > div:last-child {
    text-align: left;
  }

  .product-print-identity,
  .product-print-status,
  .product-print-stat-strip,
  .product-print-fundamental-head,
  .product-print-insider-head,
  .product-print-score-grid,
  .product-print-dimension,
  .product-print-table-row {
    grid-template-columns: 1fr;
  }
}

@page {
  size: A4;
  margin: 10mm;
}

@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html,
  body,
  #root,
  .product-shell {
    display: block !important;
    background: #ffffff !important;
    color: #0f172a !important;
  }

  .product-header,
  .product-sidebar,
  .product-print-toolbar {
    display: none !important;
  }

  .product-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .product-report-print-mode {
    display: block !important;
    min-height: auto !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  .product-print-sheet {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .product-print-banner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 14px !important;
    padding: 18px 24px !important;
    color: #ffffff !important;
    background: #0f2f5f !important;
  }

  .product-print-banner > div:last-child {
    text-align: right !important;
  }

  .product-print-banner strong,
  .product-print-banner span {
    color: inherit !important;
  }

  .product-print-top {
    grid-template-columns: minmax(0, 1.25fr) minmax(210px, 0.45fr) !important;
  }

  .product-print-identity {
    grid-template-columns: minmax(92px, max-content) minmax(0, 1fr) !important;
  }

  .product-print-identity > strong {
    font-size: 42px !important;
  }

  .product-print-identity b {
    font-size: 22px !important;
  }

  .product-print-status {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-print-stat-strip,
  .product-print-insider-head {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .product-print-fundamental-head {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .product-print-stat {
    padding: 10px !important;
  }

  .product-print-stat strong {
    font-size: 17px !important;
  }

  .product-print-grid.two,
  .product-print-score-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-print-score {
    min-height: 112px !important;
    padding: 14px !important;
  }

  .product-print-score strong {
    font-size: 28px !important;
  }

  .product-print-range-track .risk {
    background: #ef4444 !important;
  }

  .product-print-range-track .watch {
    background: #2563eb !important;
  }

  .product-print-range-track .pressure {
    background: #059669 !important;
  }

  .product-print-range-track i {
    border-color: #ffffff !important;
    background: #0f2f5f !important;
  }

  .product-print-dimension {
    grid-template-columns: minmax(78px, 0.5fr) minmax(120px, 1fr) minmax(36px, auto) minmax(110px, 0.75fr) !important;
  }

  .product-print-table-row {
    grid-template-columns: minmax(92px, 0.7fr) minmax(98px, 0.75fr) minmax(0, 1fr) !important;
  }

  .product-print-box,
  .product-print-tags,
  .product-print-stat,
  .product-print-score {
    break-inside: avoid;
  }

  .product-print-simple-table-head,
  .product-print-simple-table-row {
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)) !important;
  }
}
