.public-page-analytics { min-width: 0; max-width: none; }
.public-page-analytics .analytics-body { min-width: 0; }
.public-page-analytics .analytics-periods { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.public-page-analytics .analytics-periods .active { background: #2563eb; color: white; }
.public-page-analytics .analytics-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.public-page-analytics .analytics-kpi { display: grid; grid-template-columns: 1fr auto; gap: 10px; text-align: left; padding: 16px; border: 1px solid #d7dee8; border-top: 3px solid var(--metric-color); border-radius: 12px; background: white; color: #17243b; min-width: 0; }
.public-page-analytics .analytics-kpi span { grid-column: 1 / -1; font-size: 13px; overflow-wrap: anywhere; }
.public-page-analytics .analytics-kpi strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.public-page-analytics .analytics-kpi small { align-self: center; }
.public-page-analytics .analytics-kpi.is-selected { outline: 2px solid var(--metric-color); outline-offset: 2px; }
.public-page-analytics .analytics-chart-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin-top: 22px; }
.public-page-analytics .analytics-chart-heading h3 { margin: 0; }
.public-page-analytics .analytics-chart-heading span, .public-page-analytics .analytics-note { color: #64748b; font-size: 12px; }
.public-page-analytics .analytics-legend { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 14px 0; }
.public-page-analytics .analytics-legend label { display: flex; gap: 8px; align-items: center; font-size: 13px; cursor: pointer; }
.public-page-analytics .analytics-legend input { width: 18px; height: 18px; margin: 0; accent-color: var(--metric-color); }
.public-page-analytics .analytics-chart { width: 100%; min-width: 0; background: #f8fafc; border-radius: 12px; padding: 8px; box-sizing: border-box; }
.public-page-analytics .analytics-chart svg { width: 100%; display: block; height: auto; }
.public-page-analytics .analytics-chart text { fill: #64748b; font-size: 11px; }
.public-page-analytics .analytics-gridline { stroke: #e2e8f0; stroke-width: 1; }
.public-page-analytics .analytics-chart-empty { padding: 32px 12px; text-align: center; }
.public-page-analytics .analytics-ratios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.public-page-analytics .analytics-ratios > div { display: grid; gap: 8px; padding: 12px; border: 1px solid #d7dee8; border-radius: 10px; }
.public-page-analytics .analytics-ratios span { font-size: 12px; overflow-wrap: anywhere; }
.public-page-analytics .analytics-ratios strong { font-size: 22px; }
.public-page-analytics button:focus-visible, .public-page-analytics input:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
@media (max-width: 1024px) { .public-page-analytics .analytics-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .public-page-analytics .analytics-ratios { grid-template-columns: 1fr; } .public-page-analytics .analytics-kpi { padding: 12px; } }
