/* Insights page — extends dashboard shell */

/* Avoid cross-document snapshots exposing an incomplete workspace. */
@view-transition {
  navigation: none;
}

:root {
  --ins-purple: var(--color-cosmos-accent);
  --ins-purple-soft: var(--dash-surface-hover);
  --ins-card-elevated: var(--dash-elevated);
  --ins-border: var(--color-border-secondary);
  --ins-text: var(--dash-text, #f4f4f5);
  --ins-blue: #3b82f6;
  --ins-blue-soft: rgba(59, 130, 246, 0.14);
  --ins-amber: #f59e0b;
  --ins-amber-soft: rgba(245, 158, 11, 0.14);
  --ins-right-w: 320px;
  --ins-content-pad-bottom: calc(var(--dash-gap, 24px) + var(--dash-content-pad-bottom, 0px));
}

body.ins-page {
  --dash-purple: var(--ins-purple);
  --dash-purple-soft: var(--ins-purple-soft);
  --ins-chart-purple: var(--dash-chart-violet);
  --ins-chart-blue: var(--dash-chart-blue);
  --ins-chart-green: var(--dash-chart-green);
  --ins-chart-orange: var(--dash-chart-orange);
  --ins-chart-neutral-strong: color-mix(in srgb, var(--dash-chart-blue) 28%, transparent);
  --ins-chart-neutral-muted: color-mix(in srgb, var(--dash-chart-blue) 16%, transparent);
  --ins-chart-negative: var(--dash-chart-red);
}

.ins-page .dash-new-btn,
.ins-page .dash-pro__btn,
.ins-page .ins-cta__btn--primary {
  background: var(--ins-purple);
}

.ins-page .dash-search input:focus {
  border-color: var(--dash-border-strong);
  box-shadow: 0 0 0 3px var(--dash-surface-hover);
}

.ins-content {
  width: min(100%, var(--dash-content-max));
  margin: 0 auto;
  padding: var(--dash-gap) var(--dash-content-pad-x) var(--ins-content-pad-bottom);
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--dash-island-gap);
  container: ins-content / inline-size;
}

body.ins-page .dash-main > .ins-content {
  padding-block-end: var(--spacing-5xl);
}

.ins-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, var(--ins-right-w));
  gap: var(--dash-island-gap);
  align-items: start;
}

body.ins-page .ins-main {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  container: ins-main / inline-size;
  container-name: ins-main dash-page-main;
}

.ins-main > section:not(:last-child) {
  margin-block-end: var(--spacing-5xl);
}

.ins-aside {
  display: flex;
  flex-direction: column;
  gap: var(--dash-island-gap);
  position: sticky;
  top: var(--dash-gap);
  margin-top: 0;
  min-width: 0;
}

.ins-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.ins-title {
  margin: 0;
  font-family: "Instrument Serif", ui-serif, Georgia, "Times New Roman", serif;
  font-size-adjust: from-font;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: var(--ins-text);
}

.ins-toolbar,
.ins-filters {
  min-width: 0;
}

.ins-filters {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.ins-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.ins-filter,
.ins-period,
.ins-chart-period,
.ins-panel-filter {
  position: relative;
  flex: 0 0 auto;
}

.ins-filter summary,
.ins-period summary,
.ins-chart-period summary,
.ins-panel-filter summary {
  list-style: none;
}

.ins-filter summary::-webkit-details-marker,
.ins-period summary::-webkit-details-marker,
.ins-chart-period summary::-webkit-details-marker,
.ins-panel-filter summary::-webkit-details-marker {
  display: none;
}

.ins-filter__trigger,
.ins-period__trigger,
.ins-chart-period__trigger,
.ins-panel-filter__trigger {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border-radius: 999px;
  border: 0;
  background: var(--color-well);
  color: var(--dash-text);
  font: inherit;
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-subhead-weight);
  cursor: pointer;
  user-select: none;
  transition: background 150ms ease, color 150ms ease;
}

.ins-filter__trigger:hover,
.ins-period__trigger:hover,
.ins-chart-period__trigger:hover,
.ins-panel-filter__trigger:hover,
.ins-filter[open] > .ins-filter__trigger,
.ins-period[open] > .ins-period__trigger,
.ins-chart-period[open] > .ins-chart-period__trigger,
.ins-panel-filter[open] > .ins-panel-filter__trigger {
  background: var(--color-well-hover);
  color: var(--dash-text);
}

.ins-period__icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  opacity: 0.72;
}

.ins-filter__value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ins-filter__chev {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  opacity: 0.62;
  transition: transform 150ms ease;
}

.ins-filter[open] .ins-filter__chev,
.ins-period[open] .ins-filter__chev,
.ins-chart-period[open] .ins-filter__chev,
.ins-panel-filter[open] .ins-filter__chev {
  transform: rotate(180deg);
}

.ins-filter__menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  min-width: max(100%, 178px);
  padding: 6px;
  border-radius: 14px;
  background: var(--dash-popover-bg);
  border: var(--dash-island-border);
  box-shadow: var(--dash-popover-shadow, 0 18px 42px rgba(0, 0, 0, 0.12));
}

.ins-period__menu,
.ins-chart-period__menu,
.ins-panel-filter__menu {
  right: 0;
  left: auto;
}

.ins-filter__option {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--dash-text-muted);
  font: inherit;
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-subhead-weight);
  text-align: left;
  cursor: pointer;
}

.ins-filter__option:hover,
.ins-filter__option.is-active {
  background: var(--color-well-hover);
  color: var(--dash-text);
}

.ins-filter__option.is-active::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--dash-accent);
  flex: 0 0 auto;
}

/* KPI — separate islands with 4px gap */
.ins-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

/* Chart card */
.ins-chart-card {
  --chart-dot-stroke: var(--dash-card);
  background: var(--dash-card);
  border: none;
  border-radius: var(--dash-radius-card, var(--radius-3xl, 24px));
  box-shadow: none;
  padding: 0;
  overflow: hidden;
}

.ins-chart-card:hover {
  box-shadow: none;
}

.ins-chart-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 0;
  margin-bottom: 0;
}

.ins-chart-card__title {
  margin: 0;
  font-size: var(--nv-type-headline-size);
  letter-spacing: var(--nv-type-headline-tracking);
  font-weight: var(--nv-type-headline-weight);
  min-width: 0;
}

.ins-chart-card__sub {
  margin: 6px 0 0;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  line-height: var(--nv-type-footnote-line);
  color: var(--dash-text-subtle);
}

.ins-chart-card .dash-chart-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.ins-chart-period__trigger {
  min-height: 32px;
  background: var(--dash-surface-hover);
  color: var(--dash-text);
}

.ins-chart-wrap.is-hovering .ins-chart__line--prev {
  opacity: 0.35;
}

.ins-chart__plot {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  border-radius: inherit;
  overflow: hidden;
}

.ins-chart-wrap svg,
.ins-chart__svg {
  width: 100%;
  height: 100%;
  display: block;
}

.ins-chart__grid-line {
  stroke: rgba(255, 255, 255, 0.04);
  stroke-width: 1;
}

.ins-chart__line {
  fill: none;
  transition: opacity 150ms ease;
}

.ins-chart__line--prev {
  stroke: var(--dash-chart-violet);
  stroke-width: 1.5;
  stroke-dasharray: 6 4;
}

.ins-chart__line--current {
  stroke: var(--chart-line-primary);
  stroke-width: var(--chart-line-width, 2);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ins-chart__crosshair {
  stroke: rgba(238, 238, 238, 0.24);
  stroke-width: 1;
  stroke-dasharray: 4 4;
  pointer-events: none;
}

.ins-chart__dot {
  pointer-events: none;
  transition: cx 120ms ease, cy 120ms ease, opacity 150ms ease;
}

.ins-chart__dot--current {
  fill: var(--chart-dot-fill);
  stroke: var(--chart-dot-stroke, var(--dash-card));
  stroke-width: 2;
}

.ins-chart__dot--prev {
  fill: rgba(161, 161, 170, 0.85);
  stroke: var(--dash-card, #111113);
  stroke-width: 1.5;
}

.ins-chart__hit {
  cursor: crosshair;
}

.ins-chart-tooltip__val {
  margin: 0;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
  color: var(--dash-text);
}

.ins-chart-tooltip__meta {
  margin: 8px 0 0;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  color: var(--color-number-primary, var(--ins-text));
  font-weight: var(--nv-type-weight-medium);
}

/* Performance table */
.ins-table-card {
  background: var(--dash-card);
  border: none;
  border-radius: 20px;
  box-shadow: none;
  overflow: hidden;
  transition: background 150ms ease;
}

.ins-table-card:hover {
  box-shadow: none;
}

.ins-table-card__head {
  padding: 20px 24px 0;
}

.ins-table-card__title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.ins-table-wrap { overflow-x: auto; }

.ins-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.ins-table thead th {
  padding: 14px 24px;
  text-align: left;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-medium);
  color: var(--dash-text-subtle);
  border-bottom: 1px solid var(--ins-border);
}

.ins-table tbody tr {
  transition: background 150ms ease;
}

.ins-table tbody tr:hover {
  background: var(--color-well);
}

.ins-table tbody td {
  padding: 16px 24px;
  border-bottom: 1px solid var(--color-border-secondary);
  vertical-align: middle;
}

.ins-method {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ins-method__icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.ins-method__icon--bank { background: var(--ins-purple-soft); color: var(--ins-purple); }
.ins-method__icon--card { background: var(--ins-blue-soft); color: var(--ins-blue); }
.ins-method__icon--crypto { background: var(--ins-amber-soft); color: var(--ins-amber); }
.ins-method__icon--wallet { background: var(--dash-green-soft); color: var(--dash-green); }
.ins-method__icon--other { background: var(--color-well); color: var(--dash-text); }

.ins-method__name {
  margin: 0;
  font-size: var(--nv-type-headline-size);
  letter-spacing: var(--nv-type-headline-tracking);
  font-weight: var(--nv-type-weight-medium);
}

.ins-cell {
  font-size: var(--nv-type-body-size);
  letter-spacing: var(--nv-type-body-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-cell--muted {
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-subhead-weight);
  color: var(--dash-text-muted);
}

.ins-growth {
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-growth--up,
.ins-growth--down { color: var(--color-number-primary, var(--ins-text)); }

.ins-table-footer {
  padding: 16px 24px;
}

.ins-link-btn {
  border: none;
  background: transparent;
  color: var(--ins-purple);
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-weight-semibold);
  cursor: pointer;
  padding: 0;
}

.ins-link-btn:hover { filter: brightness(1.1); }

/* Reports grid */
.ins-reports-head {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 600;
}

.ins-reports-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.ins-report-card {
  background: var(--dash-card);
  border: var(--dash-island-border);
  border-radius: 20px;
  padding: 20px;
  box-shadow: none;
  transition: background 150ms ease, border-color 150ms ease;
}

.ins-report-card:hover {
  background: var(--dash-surface-hover);
  box-shadow: none;
}

.ins-report-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
}

.ins-report-card__icon--pl { background: var(--ins-purple-soft); color: var(--ins-purple); }
.ins-report-card__icon--cf { background: var(--dash-green-soft); color: var(--dash-green); }
.ins-report-card__icon--tx { background: var(--ins-blue-soft); color: var(--ins-blue); }
.ins-report-card__icon--cust { background: var(--ins-amber-soft); color: var(--ins-amber); }
.ins-report-card__icon--meth { background: rgba(236, 72, 153, 0.14); color: #ec4899; }

.ins-report-card__title {
  margin: 0 0 6px;
  font-size: var(--nv-type-body-size);
  letter-spacing: var(--nv-type-body-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-report-card__desc {
  margin: 0 0 14px;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  color: var(--dash-text-subtle);
  line-height: var(--nv-type-footnote-line);
  min-height: 34px;
}

.ins-report-card__btn {
  border: none;
  background: transparent;
  color: var(--ins-purple);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
  cursor: pointer;
  padding: 0;
}

.ins-report-card__btn:hover { filter: brightness(1.1); }

/* Bottom CTA */
.ins-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  background: var(--dash-card);
  border: var(--dash-island-border);
  border-radius: 20px;
  box-shadow: none;
}

.ins-cta__title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 600;
}

.ins-cta__desc {
  margin: 0;
  font-size: var(--nv-type-callout-size);
  letter-spacing: var(--nv-type-callout-tracking);
  color: var(--dash-text-subtle);
}

.ins-cta__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.ins-cta__btn {
  height: 44px;
  padding: 0 18px;
  border-radius: 14px;
  font-size: var(--nv-type-body-size);
  letter-spacing: var(--nv-type-body-tracking);
  font-weight: var(--nv-type-weight-semibold);
  cursor: pointer;
  transition: filter 150ms ease, background 150ms ease;
}

.ins-cta__btn--ghost {
  border: none;
  background: transparent;
  color: var(--ins-text);
}

.ins-cta__btn--ghost:hover {
  background: var(--color-well);
}

.ins-cta__btn--secondary {
  border: none;
  background: var(--dash-surface);
  color: var(--ins-text);
}

.ins-cta__btn--secondary:hover {
  background: var(--dash-surface-hover);
}

.ins-cta__btn--primary {
  border: none;
  color: #fff;
}

.ins-cta__btn--primary:hover {
  filter: brightness(1.08);
}

/* Right panel */
.ins-panel {
  background: var(--dash-card);
  border: none;
  border-radius: var(--dash-radius-card, var(--radius-3xl, 24px));
  padding: 16px;
  box-shadow: none;
  overflow: hidden;
  transition: background 150ms ease;
}

.ins-panel:hover {
  box-shadow: none;
}

.ins-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.ins-panel__title {
  margin: 0;
  font-size: var(--nv-type-body-size);
  letter-spacing: var(--nv-type-body-tracking);
  font-weight: var(--nv-type-weight-semibold);
  min-width: 0;
}

.ins-panel__head .dash-chart-segment {
  flex-shrink: 0;
}

.ins-panel__link {
  border: none;
  background: transparent;
  color: var(--ins-purple);
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-subhead-weight);
  cursor: pointer;
  padding: 0;
}

/* Counterparties */
.ins-counterparty {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 4px 12px;
  padding: 10px 0;
  border-bottom: none;
}

.ins-counterparty + .ins-counterparty {
  border-top: 1px solid var(--dash-border);
}

.ins-counterparty:first-of-type { padding-top: 0; }
.ins-counterparty:last-of-type { padding-bottom: 0; }

.ins-counterparty__avatar {
  width: 34px;
  height: 34px;
  border-radius: var(--radius-circle, 50%);
  display: grid;
  place-items: center;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-bold);
}

.ins-counterparty__name {
  margin: 0;
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-subhead-weight);
}

.ins-counterparty__vol {
  margin: 0;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  color: var(--dash-text-subtle);
}

.ins-counterparty__growth {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: var(--nv-type-subhead-size);
  letter-spacing: var(--nv-type-subhead-tracking);
  font-weight: var(--nv-type-weight-semibold);
  color: var(--dash-green);
}

/* Funnel */
.ins-funnel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ins-funnel__stage {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ins-funnel__bar-wrap {
  flex: 1;
  height: 28px;
  border-radius: 999px;
  box-sizing: border-box;
}

.ins-funnel__bar {
  height: 100%;
  border-radius: 999px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  font-weight: var(--nv-type-weight-semibold);
  color: var(--dash-accent-text, #0a0a0a);
  min-width: 48px;
}

.ins-funnel__bar--init {
  background: var(--ins-chart-neutral-strong);
  color: var(--dash-text);
  width: 100%;
}

.ins-funnel__bar--proc {
  background: var(--ins-chart-neutral-muted);
  color: var(--dash-text);
  width: 78%;
}

.ins-funnel__bar--done {
  background: var(--ins-chart-green);
  color: #fff;
  width: 65%;
}

.ins-funnel__bar--fail {
  background: var(--ins-chart-negative);
  color: #fff;
  width: 12%;
}

.ins-funnel__label {
  width: 72px;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  color: var(--dash-text-muted);
  flex-shrink: 0;
}

.ins-funnel__pct {
  width: 36px;
  text-align: right;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  color: var(--dash-text-subtle);
  flex-shrink: 0;
}

/* AI summary */
.ins-ai__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ins-purple);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  font-weight: var(--nv-type-weight-semibold);
  margin-bottom: 12px;
}

.ins-ai__text {
  margin: 0 0 10px;
  font-size: var(--nv-type-callout-size);
  letter-spacing: var(--nv-type-callout-tracking);
  color: var(--dash-text-muted);
  line-height: var(--nv-type-callout-line);
}

.ins-ai__text:last-of-type {
  margin-bottom: 16px;
}

.ins-ai__text strong {
  color: var(--ins-text);
  font-weight: 500;
}

/* Weekly briefing — current Insights shell */
body[data-ins-view="brief"] .ins-layout {
  grid-template-columns: minmax(0, 1fr);
}

body[data-ins-view="journal"] .ins-layout {
  grid-template-columns: minmax(0, 1fr);
}

body[data-ins-view="brief"] .ins-main > :not(.ins-briefing),
body[data-ins-view="brief"] .ins-aside,
body[data-ins-view="journal"] .ins-main > :not(.ins-journal),
body[data-ins-view="journal"] .ins-aside {
  display: none;
}

.ins-briefing {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}

.ins-briefing[hidden] {
  display: none;
}

.ins-briefing__hero,
.ins-briefing__summary,
.ins-briefing__delivery {
  background: var(--dash-card);
  border-radius: var(--dash-radius-card, var(--radius-3xl, 24px));
}

.ins-briefing__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--spacing-2xl);
  padding: var(--spacing-4xl);
  min-width: 0;
}

.ins-briefing__hero-copy {
  min-width: 0;
}

.ins-briefing__eyebrow,
.ins-briefing__section-kicker {
  margin: 0 0 var(--spacing-sm);
  color: var(--dash-text-subtle);
  font-size: var(--nv-type-caption-size);
  font-weight: var(--nv-type-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ins-briefing__title {
  margin: 0;
  max-width: 22ch;
  color: var(--ins-text);
  font-family: "Instrument Serif", ui-serif, Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 400;
  line-height: 0.98;
}

.ins-briefing__intro {
  margin: var(--spacing-md) 0 0;
  max-width: 60ch;
  color: var(--dash-text-muted);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  line-height: var(--nv-type-footnote-line);
}

.ins-briefing__week,
.ins-briefing__state {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding-inline: var(--spacing-md);
  border-radius: var(--radius-full);
  background: var(--dash-surface);
  color: var(--dash-text-muted);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  font-weight: var(--nv-type-weight-semibold);
  white-space: nowrap;
}

.ins-briefing__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
  gap: var(--dash-gap);
  align-items: start;
}

.ins-briefing__summary,
.ins-briefing__delivery {
  padding: var(--spacing-3xl);
  min-width: 0;
}

.ins-briefing__section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-lg);
}

.ins-briefing__section-title {
  margin: 0;
  color: var(--ins-text);
  font-size: var(--nv-type-title-3-size);
  letter-spacing: var(--nv-type-title-3-tracking);
  font-weight: var(--nv-type-title-3-weight);
}

.ins-briefing__loading {
  display: grid;
  gap: var(--spacing-md);
  margin-block-start: var(--spacing-2xl);
}

.ins-briefing__loading[hidden] {
  display: none;
}

.ins-briefing__loading span {
  display: block;
  width: 100%;
  height: 54px;
  border-radius: var(--radius-lg);
  background: var(--dash-surface);
}

.ins-briefing__loading span:nth-child(2) {
  width: 86%;
}

.ins-briefing__loading span:nth-child(3) {
  width: 72%;
}

.ins-briefing__highlights {
  display: grid;
  gap: var(--spacing-sm);
  margin: var(--spacing-2xl) 0 0;
  padding: 0;
  list-style: none;
}

.ins-briefing__highlights[hidden] {
  display: none;
}

.ins-briefing__highlights li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--spacing-md);
  min-height: 54px;
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--radius-lg);
  background: var(--dash-surface);
  color: var(--dash-text);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  line-height: var(--nv-type-footnote-line);
}

.ins-briefing__highlight-marker {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background: var(--dash-accent);
}

.ins-briefing__empty {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--spacing-lg);
  align-items: start;
  margin-block-start: var(--spacing-2xl);
  padding: var(--spacing-xl);
  border-radius: var(--radius-xl);
  background: var(--dash-surface);
}

.ins-briefing__empty[hidden] {
  display: none;
}

.ins-briefing__empty-icon,
.ins-briefing__delivery-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--dash-text);
  background: var(--dash-surface-hover);
}

.ins-briefing__empty-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-lg);
}

.ins-briefing__empty h4 {
  margin: 0;
  color: var(--ins-text);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-briefing__empty p {
  margin: var(--spacing-xs) 0 0;
  max-width: 56ch;
  color: var(--dash-text-muted);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  line-height: var(--nv-type-footnote-line);
}

.ins-briefing__empty-link {
  display: inline-flex;
  margin-block-start: var(--spacing-md);
  color: var(--dash-text);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
  text-underline-offset: 0.2em;
}

.ins-briefing__delivery-list {
  display: grid;
  gap: var(--spacing-sm);
  margin-block-start: var(--spacing-2xl);
}

.ins-briefing__delivery-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--spacing-md);
  align-items: center;
  padding: var(--spacing-lg);
  border-radius: var(--radius-xl);
  background: var(--dash-surface);
}

.ins-briefing__delivery-icon {
  width: 38px;
  height: 38px;
  border-radius: var(--radius-lg);
}

.ins-briefing__delivery-copy {
  min-width: 0;
}

.ins-briefing__delivery-title,
.ins-briefing__delivery-hint {
  margin: 0;
}

.ins-briefing__delivery-title {
  color: var(--ins-text);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-briefing__delivery-hint {
  margin-block-start: var(--spacing-xs);
  color: var(--dash-text-muted);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  line-height: var(--nv-type-caption-line);
}

.ins-briefing__action {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  min-height: 42px;
  width: 100%;
  padding-inline: var(--spacing-lg);
  border: 0;
  border-radius: var(--radius-full);
  background: var(--dash-elevated);
  color: var(--dash-text);
  font: inherit;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
  cursor: pointer;
  transition:
    background 150ms ease,
    color 150ms ease,
    scale 120ms ease;
}

.ins-briefing__action:hover:not(:disabled) {
  background: var(--dash-surface-hover);
}

.ins-briefing__action:active:not(:disabled) {
  scale: 0.96;
}

.ins-briefing__action:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.ins-briefing__action:focus-visible,
.ins-briefing__empty-link:focus-visible {
  outline: 2px solid var(--dash-text);
  outline-offset: 3px;
}

.ins-briefing__spinner {
  width: 14px;
  height: 14px;
  border: 2px solid color-mix(in srgb, currentColor 24%, transparent);
  border-block-start-color: currentColor;
  border-radius: var(--radius-full);
  animation: ins-briefing-spin 700ms linear infinite;
}

.ins-briefing__spinner[hidden] {
  display: none;
}

.ins-briefing__status {
  min-height: 1.4em;
  margin: var(--spacing-md) 0 0;
  color: var(--dash-text-muted);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  line-height: var(--nv-type-caption-line);
}

/* Trade journal — current Insights shell */
.ins-journal {
  display: flex;
  flex-direction: column;
  gap: var(--dash-gap);
}

.ins-journal[hidden] {
  display: none;
}

.ins-journal__hero,
.ins-journal__composer,
.ins-journal__ledger,
.ins-journal__kpi {
  background: var(--dash-card);
  border-radius: var(--dash-radius-card, var(--radius-3xl, 24px));
}

.ins-journal__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--spacing-2xl);
  padding: var(--spacing-4xl);
}

.ins-journal__eyebrow,
.ins-journal__section-kicker {
  margin: 0 0 var(--spacing-sm);
  color: var(--dash-text-subtle);
  font-size: var(--nv-type-caption-size);
  font-weight: var(--nv-type-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ins-journal__title {
  margin: 0;
  color: var(--ins-text);
  font-family: "Instrument Serif", ui-serif, Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 400;
  line-height: 0.98;
}

.ins-journal__intro {
  max-width: 62ch;
  margin: var(--spacing-md) 0 0;
  color: var(--dash-text-muted);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  line-height: var(--nv-type-footnote-line);
}

.ins-journal__identity,
.ins-journal__count {
  flex: 0 0 auto;
  color: var(--dash-text-muted);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  font-weight: var(--nv-type-weight-semibold);
  white-space: nowrap;
}

.ins-journal__identity {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding-inline: var(--spacing-md);
  border-radius: var(--radius-full);
  background: var(--dash-surface);
}

.ins-journal__kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-md);
}

.ins-journal__kpi {
  display: grid;
  gap: var(--spacing-sm);
  padding: var(--spacing-xl);
}

.ins-journal__kpi-label {
  color: var(--dash-text-subtle);
  font-size: var(--nv-type-caption-size);
  font-weight: var(--nv-type-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ins-journal__kpi strong {
  color: var(--ins-text);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.ins-journal__kpi strong.is-positive,
.ins-journal__result.is-positive {
  color: var(--color-number-primary, var(--ins-text));
}

.ins-journal__kpi strong.is-negative,
.ins-journal__result.is-negative {
  color: var(--color-number-primary, var(--ins-text));
}

.ins-journal__workspace {
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
  gap: var(--dash-gap);
  align-items: start;
}

.ins-journal__composer,
.ins-journal__ledger {
  min-width: 0;
  padding: var(--spacing-3xl);
}

.ins-journal__section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-lg);
  margin-block-end: var(--spacing-2xl);
}

.ins-journal__section-head h3 {
  margin: 0;
  color: var(--ins-text);
  font-size: var(--nv-type-title-3-size);
  letter-spacing: var(--nv-type-title-3-tracking);
  font-weight: var(--nv-type-title-3-weight);
}

.ins-journal__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-lg);
}

.ins-journal__field {
  display: grid;
  gap: var(--spacing-sm);
  min-width: 0;
}

.ins-journal__field--wide,
.ins-journal__checklist,
.ins-journal__submit {
  grid-column: 1 / -1;
}

.ins-journal__field label,
.ins-journal__checklist legend {
  color: var(--dash-text-muted);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-journal__field input,
.ins-journal__field select,
.ins-journal__field textarea,
.ins-journal__close input {
  width: 100%;
  min-width: 0;
  border: none;
  border-radius: var(--radius-lg);
  background: var(--color-well, var(--dash-surface));
  color: var(--dash-text);
  font: inherit;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
}

.ins-journal__field input,
.ins-journal__field select {
  min-height: 44px;
  padding-inline: var(--spacing-md);
}

.ins-journal__field textarea {
  min-height: 88px;
  padding: var(--spacing-md);
  resize: vertical;
}

.ins-journal__field input::placeholder,
.ins-journal__field textarea::placeholder,
.ins-journal__close input::placeholder {
  color: var(--dash-text-subtle);
}

.ins-journal__field input:focus-visible,
.ins-journal__field select:focus-visible,
.ins-journal__field textarea:focus-visible,
.ins-journal__checklist input:focus-visible,
.ins-journal__submit:focus-visible,
.ins-journal__close input:focus-visible,
.ins-journal__close button:focus-visible {
  outline: 2px solid var(--dash-text);
  outline-offset: 3px;
}

.ins-journal__checklist {
  display: grid;
  gap: var(--spacing-sm);
  margin: 0;
  padding: var(--spacing-lg);
  border: 0;
  border-radius: var(--radius-xl);
  background: var(--dash-surface);
}

.ins-journal__checklist label {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  color: var(--dash-text-muted);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
}

.ins-journal__checklist input {
  width: 16px;
  height: 16px;
  accent-color: var(--dash-accent);
}

.ins-journal__submit,
.ins-journal__close button {
  border: 0;
  border-radius: var(--radius-full);
  background: var(--dash-elevated);
  color: var(--dash-text);
  font: inherit;
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
  font-weight: var(--nv-type-weight-semibold);
  cursor: pointer;
  transition:
    background 150ms ease,
    scale 120ms ease;
}

.ins-journal__submit {
  min-height: 44px;
  padding-inline: var(--spacing-xl);
}

.ins-journal__submit:hover,
.ins-journal__close button:hover {
  background: var(--dash-surface-hover);
}

.ins-journal__submit:active,
.ins-journal__close button:active {
  scale: 0.97;
}

.ins-journal__table-wrap {
  position: relative;
  overflow-x: auto;
}

.ins-journal__table {
  width: 100%;
  border-collapse: collapse;
  color: var(--dash-text);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
}

.ins-journal__table th {
  padding: 0 var(--spacing-md) var(--spacing-md);
  color: var(--dash-text-subtle);
  font-size: var(--nv-type-caption-size);
  font-weight: var(--nv-type-weight-semibold);
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ins-journal__table td {
  min-width: 7.5rem;
  padding: var(--spacing-lg) var(--spacing-md);
  border-block-start: 1px solid var(--dash-border);
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

.ins-journal__table td:first-child {
  min-width: 9rem;
}

.ins-journal__table td:first-child strong,
.ins-journal__table td:first-child span {
  display: block;
}

.ins-journal__table td:first-child span {
  margin-block-start: var(--spacing-xs);
  color: var(--dash-text-subtle);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  text-transform: capitalize;
}

.ins-journal__table td[data-ins-journal-emotion] {
  text-transform: capitalize;
}

.ins-journal__result {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding-inline: var(--spacing-sm);
  border-radius: var(--radius-full);
  background: var(--dash-surface);
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
  font-weight: var(--nv-type-weight-semibold);
}

.ins-journal__close {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  min-width: 12rem;
}

.ins-journal__close input {
  min-height: 38px;
  padding-inline: var(--spacing-sm);
}

.ins-journal__close button {
  min-height: 38px;
  padding-inline: var(--spacing-md);
}

.ins-journal__empty {
  display: grid;
  justify-items: center;
  gap: var(--spacing-xs);
  padding: var(--spacing-4xl) var(--spacing-xl);
  border-block-start: 1px solid var(--dash-border);
  color: var(--dash-text-muted);
  text-align: center;
}

.ins-journal__empty[hidden] {
  display: none;
}

.ins-journal__empty strong {
  color: var(--dash-text);
  font-size: var(--nv-type-footnote-size);
  letter-spacing: var(--nv-type-footnote-tracking);
}

.ins-journal__empty span,
.ins-journal__status {
  font-size: var(--nv-type-caption-size);
  letter-spacing: var(--nv-type-caption-tracking);
}

.ins-journal__status {
  min-height: 1.4em;
  margin: 0;
  color: var(--dash-text-muted);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@keyframes ins-briefing-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ins-briefing__action,
  .ins-journal__submit,
  .ins-journal__close button {
    transition: none;
  }

  .ins-briefing__action:active:not(:disabled),
  .ins-journal__submit:active,
  .ins-journal__close button:active {
    scale: 1;
  }

  .ins-briefing__spinner {
    animation: none;
  }
}

@container ins-content (max-width: 1120px) {
  .ins-layout {
    grid-template-columns: 1fr;
  }

  .ins-aside {
    position: static;
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ins-briefing__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ins-journal__workspace {
    grid-template-columns: minmax(0, 1fr);
  }
}

@container ins-main (max-width: 860px) {
  .ins-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .ins-cta {
    align-items: stretch;
    flex-direction: column;
  }
}

@container ins-content (max-width: 640px) {
  .ins-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .ins-filters::-webkit-scrollbar {
    display: none;
  }
}

@container ins-main (max-width: 640px) {
  .ins-chart-card__head {
    align-items: stretch;
    flex-direction: column;
  }

  .ins-chart-card .dash-chart-controls {
    justify-content: space-between;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .ins-chart-card .dash-chart-controls::-webkit-scrollbar {
    display: none;
  }

  .ins-chart-wrap {
    height: 210px;
    margin-inline: 12px;
  }

  .ins-chart-card__head,
  .ins-chart-legend,
  .ins-chart-axis {
    padding-inline: 12px;
  }

  .ins-briefing__hero {
    align-items: flex-start;
    flex-direction: column;
    padding: var(--spacing-2xl);
  }

  .ins-briefing__summary,
  .ins-briefing__delivery {
    padding: var(--spacing-xl);
  }

  .ins-journal__hero {
    align-items: flex-start;
    flex-direction: column;
    padding: var(--spacing-2xl);
  }

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

  .ins-journal__composer,
  .ins-journal__ledger {
    padding: var(--spacing-xl);
  }
}

@container ins-main (max-width: 520px) {
  .ins-summary,
  .ins-reports-grid {
    grid-template-columns: 1fr;
  }

  .ins-cta__actions {
    flex-direction: column;
  }

  .ins-journal__form,
  .ins-journal__kpis {
    grid-template-columns: 1fr;
  }
}

@container ins-content (max-width: 520px) {
  .ins-aside {
    grid-template-columns: 1fr;
  }
}

html.light-theme .ins-chart__grid-line,
html.light .ins-chart__grid-line {
  stroke: color-mix(in srgb, var(--color-cosmos-mist) 18%, #ffffff);
}
