/* Dashboard Styles */ .dashboardPage { padding: 20px; } .pageTitle { font-size: 24px; font-weight: 600; margin-bottom: 20px; color: #333; } .kpiContainer { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 15px; margin-bottom: 30px; } .kpiCard { padding: 20px; border-radius: 4px; color: white; display: flex; align-items: center; gap: 15px; min-height: 100px; cursor: pointer; transition: filter 0.15s; } .kpiCard:hover { filter: brightness(0.9); } .bg-success { background-color: #28a745; } .bg-primary { background-color: #007bff; } .bg-info { background-color: #17a2b8; } .bg-warning { background-color: #ffc107; color: #333; } .bg-danger { background-color: #dc3545; } .kpiIcon { font-size: 32px; min-width: 50px; } .kpiContent h5 { margin: 0 0 10px 0; font-size: 16px; font-weight: 600; } .kpiContent p { margin: 0; font-size: 14px; opacity: 0.9; } .kpiStat { font-size: 24px; font-weight: bold; } .card { background: white; border: 1px solid #ddd; border-radius: 4px; padding: 0; margin-bottom: 20px; } .mt-4 { margin-top: 30px; } .cardHeader { padding: 20px; border-bottom: 1px solid #ddd; } .cardHeader h3 { margin: 0 0 5px 0; font-size: 18px; color: #333; } .cardHeader p { margin: 0; font-size: 13px; color: #666; } .tableWrapper { padding: 20px; } .dashTable { width: 100%; border-collapse: collapse; font-size: 14px; } .dashTable th { background: #f5f5f5; border: 1px solid #ddd; padding: 12px; text-align: left; font-weight: 600; color: #333; } .dashTable td { border: 1px solid #ddd; padding: 10px 12px; color: #333; } .dashTable tbody tr:hover { background: #f9f9f9; } .text-right { text-align: right; }