.dashboard { display: flex; flex-direction: column; gap: 32px; } .title { font-size: 28px; font-weight: bold; color: #111827; margin-bottom: 8px; } .metricsFlex { display: flex; flex-wrap: wrap; gap: 20px; } @media (min-width: 768px) { .metricsFlex { flex-wrap: nowrap; justify-content: space-between; } } @media (min-width: 1024px) { .metricsFlex { flex-wrap: nowrap; justify-content: space-between; } } .metricCard { min-width: 200px; } .chartsGrid { display: grid; grid-template-columns: 1fr; gap: 20px; } @media (min-width: 1024px) { .chartsGrid { grid-template-columns: 1fr 1fr; } } .chartStub { background: #fff; border-radius: 12px; border: 1px solid #e5e7eb; min-height: 220px; display: flex; align-items: center; justify-content: center; color: #6b7280; font-size: 18px; } .tableBlock { background: #fff; border-radius: 12px; border: 1px solid #e5e7eb; margin-top: 16px; padding-bottom: 8px; } .tableTitle { font-size: 18px; font-weight: 500; color: #111827; padding: 24px 24px 0 24px; } .statusPaid { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #d1fae5; color: #065f46; font-size: 13px; font-weight: 600; } .statusPending { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: 13px; font-weight: 600; } @media (max-width: 600px) { .dashboard { gap: 16px; } .metricsFlex { flex-direction: column; gap: 12px; } .chartsGrid { grid-template-columns: 1fr; gap: 12px; } .chartStub { min-height: 140px; font-size: 15px; } .tableTitle { padding: 16px 8px 0 8px; font-size: 16px; } .tableBlock { padding-bottom: 0; } }