.page { max-width: 1000px; margin: 0 auto; padding: 2rem 1rem; } .title { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.5rem; color: var(--text-primary, #e2e8f0); } /* ── Summary Cards ─────────────────────────────────────── */ .summaryGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 2rem; } .card { background: var(--color-surface, #1a1a2e); border: 1px solid var(--color-border, #2d2d3d); border-radius: 8px; padding: 1.25rem; } .cardLabel { display: block; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-secondary, #828291); margin-bottom: 0.5rem; } .cardValue { display: block; font-size: 1.5rem; font-weight: 700; color: var(--text-primary, #e2e8f0); font-variant-numeric: tabular-nums; } .cardSub { display: block; font-size: 0.8rem; color: var(--text-secondary, #828291); margin-top: 0.25rem; font-variant-numeric: tabular-nums; } /* ── Section ───────────────────────────────────────────── */ .section { margin-bottom: 2rem; } .sectionTitle { font-size: 1.1rem; font-weight: 600; color: var(--text-primary, #e2e8f0); margin-bottom: 1rem; } /* ── Tables ────────────────────────────────────────────── */ .table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } .table th { text-align: left; padding: 0.6rem 0.75rem; border-bottom: 2px solid var(--color-border, #2d2d3d); color: var(--text-secondary, #828291); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; } .table td { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--color-border, #2d2d3d); color: var(--text-primary, #e2e8f0); font-variant-numeric: tabular-nums; } .numCell { text-align: right; } /* ── Bar Chart ─────────────────────────────────────────── */ .chartContainer { display: flex; align-items: flex-end; gap: 0.5rem; height: 120px; padding-top: 0.5rem; } .barColumn { display: flex; flex-direction: column; align-items: center; flex: 1; height: 100%; justify-content: flex-end; } .bar { width: 100%; max-width: 48px; background: var(--color-accent, #22d3ee); border-radius: 4px 4px 0 0; min-height: 2px; transition: height 300ms ease; } .barLabel { font-size: 0.7rem; color: var(--text-secondary, #828291); margin-top: 0.35rem; text-align: center; white-space: nowrap; } .barValue { font-size: 0.7rem; color: var(--text-primary, #e2e8f0); margin-bottom: 0.25rem; font-variant-numeric: tabular-nums; } /* ── States ────────────────────────────────────────────── */ .loading, .error, .empty { text-align: center; padding: 3rem 1rem; color: var(--text-secondary, #828291); } .error { color: #ef4444; } /* ── Responsive ────────────────────────────────────────── */ @media (max-width: 600px) { .summaryGrid { grid-template-columns: 1fr; } .table th:nth-child(3), .table td:nth-child(3) { display: none; } }