.analytics-v2 { --analytics-space: 16px; --muted: var(--ink-2); min-width: 0; max-width: 1440px; margin-inline: auto; }
.analytics-v2, .analytics-v2 * { box-sizing: border-box; }
.analytics-v2 p { line-height: 1.55; }
.analytics-v2-heading, .analytics-v2-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.analytics-v2-heading { margin-block-end: 16px; }
.analytics-v2-heading p, .analytics-v2-card-head p { color: var(--muted); margin: 6px 0 0; font-size: 14px; }
.analytics-v2-heading h1 { margin: 0; font-size: 32px; line-height: 1.15; }
.analytics-v2-actions, .analytics-v2-analysis-controls, .analytics-v2-segment { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.analytics-v2-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; min-height: 36px; padding: 7px 11px; background: var(--card); color: var(--ink); font: inherit; font-size: 14px; cursor: pointer; }
.analytics-v2-button:disabled { opacity: .55; cursor: default; }
.analytics-v2-button[aria-pressed=true] { border-color: var(--ink); background: var(--bg-2); color: var(--ink); }
.analytics-v2 :is(button, select, input, a, summary, [tabindex]):focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.analytics-v2-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-block-end: 16px; padding-block-end: 8px; border-block-end: 1px solid var(--line); }
.analytics-v2-tabs .analytics-v2-button { color: var(--muted); background: transparent; border-color: transparent; font-weight: 600; }
.analytics-v2-tabs [aria-selected=true] { font-weight: 700; color: var(--ink); border-color: var(--line); background: var(--card); box-shadow: inset 0 -2px var(--accent); }
.analytics-v2-tabs-hint { display: none; }
.analytics-v2-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.analytics-v2-field { display: grid; gap: 5px; min-width: 0; max-width: 260px; flex: 1 1 130px; color: var(--muted); font-size: 12px; }
.analytics-v2-field select { width: 100%; min-width: 0; min-height: 36px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--card); color: var(--ink); font: inherit; font-size: 14px; }
.analytics-v2-slice { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 12px 0 14px; color: var(--muted); font-size: 12px; }
.analytics-v2-status { display: inline-flex; align-items: center; padding: 2px 6px; border-radius: 6px; background: var(--bg-2); color: var(--muted); font-size: 12px; line-height: 1.4; font-weight: 400; }
.analytics-v2-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-block-end: 16px; }
.analytics-v2-metric { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); text-align: start; font: inherit; cursor: pointer; }
.analytics-v2-metric[aria-pressed=true] { border-color: var(--ink); box-shadow: inset 0 3px var(--accent); }
.analytics-v2-metric-title { display: flex; align-items: center; gap: 7px; font-size: 14px; line-height: 1.4; }
.analytics-v2-metric-title > span { min-width: 0; overflow-wrap: anywhere; }
.analytics-v2-metric-title svg { color: var(--ink-2); }
.analytics-v2-metric-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-block-start: auto; }
.analytics-v2-metric strong { font-size: 26px; font-weight: 650; line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.analytics-v2-metric small { color: var(--muted); font-size: 12px; }
.analytics-v2-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); margin-block-end: 16px; }
.analytics-v2-card h2 { font-size: 19px; line-height: 1.35; margin: 0; }
.analytics-v2-card-head { margin-block-end: 16px; }
.analytics-v2-card-head > div { min-width: 0; }
.analytics-v2-card-head > button { flex-shrink: 0; }
.analytics-v2-analysis-controls { margin-block-end: 16px; gap: 10px; }
.analytics-v2-analysis-controls .analytics-v2-field { flex: 1 1 130px; }
.analytics-v2-analysis-controls .analytics-v2-field:first-child { flex-basis: 220px; }
.analytics-v2-segment { gap: 0; border: 1px solid var(--line); border-radius: 9px; padding: 3px; }
.analytics-v2-segment .analytics-v2-button { border-color: transparent; padding: 7px 10px; min-height: 34px; font-size: 13px; }
.analytics-v2-note, .analytics-v2-notice { font-size: 13px; color: var(--muted); }
.analytics-v2-notice { border-inline-start: 3px solid var(--accent); padding: 12px 16px; background: var(--bg-2); border-radius: 0 10px 10px 0; margin-block: 16px; }
.analytics-v2-notice > p { margin-block-end: 0; }
.analytics-v2-empty { padding: 20px 12px; color: var(--muted); text-align: center; }
.analytics-v2-empty h3 { color: var(--ink); font-size: 17px; margin: 0; }
.analytics-v2-empty p { max-width: 560px; margin: 10px auto 16px; font-size: 14px; }
.analytics-v2-bars { display: grid; gap: 8px; padding-block: 4px; max-width: 960px; }
.analytics-v2-bar-row { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(90px, 1.5fr) minmax(40px, auto); gap: 12px; align-items: center; }
.analytics-v2-link { display: inline-flex; align-items: center; gap: 7px; padding: 5px 0; min-height: 32px; color: var(--ink); background: transparent; border: 0; font: inherit; font-size: 14px; text-align: start; overflow-wrap: anywhere; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.analytics-v2-link:disabled { text-decoration: none; color: var(--muted); cursor: default; }
.analytics-v2-bar-track { background: var(--bg-2); border-radius: 4px; height: 8px; overflow: hidden; }
.analytics-v2-bar-track span { display: block; height: 100%; background: var(--ink-2); border-radius: inherit; }
.analytics-v2-number { font-variant-numeric: tabular-nums; text-align: end; font-size: 14px; }
.analytics-v2-table-scroll { width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; border-radius: 8px; }
.analytics-v2-table-scroll table { width: 100%; border-collapse: collapse; font-size: 14px; }
.analytics-v2-table-scroll caption { text-align: start; color: var(--muted); font-size: 12px; padding-block-end: 12px; }
.analytics-v2-table-scroll th, .analytics-v2-table-scroll td { padding: 9px 12px; border-block-end: 1px solid var(--line); vertical-align: top; text-align: start; min-width: 110px; }
.analytics-v2-table-scroll thead th { font-size: 12px; color: var(--muted); font-weight: 500; }
.analytics-v2-table-scroll tbody th { font-weight: 500; }
.analytics-v2-table-scroll .analytics-v2-number { text-align: end; }
.analytics-v2-passport { border-block-start: 1px solid var(--line); padding-block-start: 10px; margin-block-start: 16px; font-size: 13px; }
.analytics-v2 summary { cursor: pointer; min-height: 32px; font-size: 14px; line-height: 1.5; }
.analytics-v2-summary-label { display: inline-flex; align-items: center; gap: 7px; vertical-align: middle; max-width: calc(100% - 18px); }
.analytics-v2-card.analytics-v2-disclosure { padding: 0; margin-block-end: 10px; }
.analytics-v2-disclosure > summary { padding: 11px 16px; min-height: 44px; }
.analytics-v2-disclosure[open] { padding-block-end: 14px; }
.analytics-v2-disclosure > :not(summary) { margin-inline: 16px; }
.analytics-v2-passport dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.analytics-v2-passport dt, .analytics-v2-finance dt { color: var(--muted); }
.analytics-v2-passport dd { margin: 4px 0 0; }
.analytics-v2-source { display: grid; grid-template-columns: 1fr auto; gap: 6px 14px; padding-block: 10px; border-block-start: 1px solid var(--line); font-size: 14px; }
.analytics-v2-source:first-of-type { margin-block-start: 12px; }
.analytics-v2-source p { grid-column: 1 / -1; color: var(--muted); margin: 0; font-size: 13px; }
.analytics-v2-finance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-block: 16px; }
.analytics-v2-finance > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.analytics-v2-finance dd { font-size: 28px; margin: 12px 0; }
.analytics-v2-finance small { color: var(--muted); font-size: 12px; }
.analytics-v2-error { padding: 24px; border: 1px solid var(--danger); border-radius: 12px; background: var(--card); margin-block-end: 24px; }
.analytics-v2-library-list { display: grid; gap: 10px; margin-block: 16px; }
.analytics-v2-library-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-block-end: 10px; border-block-end: 1px solid var(--line); }
.analytics-v2-library-row > :first-child { flex: 1 1 180px; }
.analytics-v2-library-row small { display: block; color: var(--muted); font-size: 12px; margin-block-start: 4px; }
.analytics-v2 .analytics-analysis-workspace { margin: 16px 0 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
.analytics-v2 .analytics-analysis-workspace > header { display: none; }
.analytics-v2 .analytics-analysis-report-head { flex-wrap: wrap; }
.analytics-v2 .analytics-analysis-history { flex-wrap: wrap; }
@media (hover: hover) { .analytics-v2-button:not(:disabled):hover, .analytics-v2-metric:hover { background: var(--bg-2); } .analytics-v2-link:not(:disabled):hover { color: var(--ink); } }
@media (max-width: 65rem) { .analytics-v2-heading { flex-wrap: wrap; gap: 16px; } .analytics-v2-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) {
  .analytics-v2-card { padding: 16px; border-radius: 12px; }
  .analytics-v2-heading { margin-block-end: 16px; }
  .analytics-v2-heading .screen-title { font-size: 26px; }
  .analytics-v2-actions { width: 100%; }
  .analytics-v2-actions .analytics-v2-button { flex: 1 1 auto; }
  .analytics-v2-actions .analytics-v2-button > span { overflow-wrap: normal; }
  .analytics-v2-tabs { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; gap: 4px; }
  .analytics-v2-tabs .analytics-v2-button { flex-shrink: 0; white-space: nowrap; }
  .analytics-v2-tabs-hint { display: flex; align-items: center; gap: 3px; color: var(--ink-2); font-size: 12px; margin-block: -8px 12px; }
  .analytics-v2-tabs .analytics-v2-button { padding: 8px 10px; font-size: 13px; }
  .analytics-v2-filters { gap: 10px; }
  .analytics-v2-field { flex-basis: calc(50% - 10px); max-width: none; }
  .analytics-v2-field select { font-size: 16px; min-height: 44px; }
  .analytics-v2-button { min-height: 44px; }
  .analytics-v2-metric { padding: 12px; gap: 7px; }
  .analytics-v2-metric-title { font-size: 13px; align-items: flex-start; }
  .analytics-v2-metrics { gap: 10px; margin-block-end: 16px; }
  .analytics-v2-card-head { flex-wrap: wrap; gap: 12px; }
  .analytics-v2-card-head > button { width: 100%; }
  .analytics-v2-card h2 { font-size: 18px; }
  .analytics-v2-analysis-controls .analytics-v2-field { max-width: none; flex-basis: calc(50% - 12px); }
  .analytics-v2-analysis-controls .analytics-v2-field:first-child { flex-basis: 100%; }
  .analytics-v2-segment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .analytics-v2-segment .analytics-v2-button { min-height: 54px; padding: 6px 4px; font-size: 12px; flex-direction: column; gap: 2px; }
  .analytics-v2-segment .analytics-v2-button > span { white-space: nowrap; overflow-wrap: normal; }
  .analytics-v2-bar-row { grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; }
  .analytics-v2-bar-row .analytics-v2-link { grid-column: 1; }
  .analytics-v2-bar-track { grid-column: 1; grid-row: 2; }
  .analytics-v2-bar-row strong { grid-column: 2; grid-row: 1 / 3; }
  .analytics-v2-passport dl, .analytics-v2-finance { grid-template-columns: 1fr; }
  .analytics-v2-source { grid-template-columns: 1fr; }
  .analytics-v2-source p { grid-column: 1; }
  .analytics-v2-table-scroll th, .analytics-v2-table-scroll td { padding: 10px; }
}
@media (forced-colors: active) { .analytics-v2 :focus-visible { outline-color: Highlight; } .analytics-v2-bar-track span { background: Highlight; forced-color-adjust: none; } .analytics-v2-metric[aria-pressed=true], .analytics-v2-tabs [aria-selected=true] { border: 2px solid Highlight; } }

.analytics-v2-project-field { flex: 2 1 220px; max-width: 360px; }
.analytics-v2-selection { display: grid; gap: 6px; margin-block-start: 10px; color: var(--ink-2); font-size: 13px; }
.analytics-v2-selection > span { display: flex; align-items: flex-start; gap: 7px; min-width: 0; }
.analytics-v2-selection > span > span { min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }
.analytics-v2-selection strong { color: var(--ink); font-weight: 500; }
.analytics-v2-single-group { padding-block: 6px; max-width: 720px; }
.analytics-v2-single-group > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.analytics-v2-single-label { min-width: 0; display: grid; gap: 2px; }
.analytics-v2-single-label > small { color: var(--ink-2); font-size: 12px; }
.analytics-v2-single-group .analytics-v2-number { flex-shrink: 0; font-size: 22px; font-weight: 600; }
.analytics-v2-heading p, .analytics-v2-card-head p { max-width: 75ch; text-wrap: pretty; }
.analytics-v2-button > span, .analytics-v2-link > span { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 40rem) {
  .analytics-v2-project-field { flex-basis: 100%; max-width: none; }
  .analytics-v2-analysis-controls .analytics-v2-segment { flex-basis: 100%; }
  .analytics-v2-disclosure > summary { padding: 10px 12px; }
  .analytics-v2-disclosure > :not(summary) { margin-inline: 12px; }
  .analytics-v2-metric-meta { gap: 3px 5px; }
  .analytics-v2-tabs { column-gap: 4px; }
}
