Files
cbsnexora/src/app/cfcfrms/dashboard/cfcfrms-dashboard.component.scss
T
AdityaandClaude Opus 4.6 b3a4cce0cf feat: add CFCFRMS module, bank menus, mock backend, and dashboard redesign
- CFCFRMS cyber fraud complaint management with dashboard, complaints,
  escalation, report suspect/mule/fraud txn, FMR submission, CFR lookup
- Mock HTTP interceptor with 20 dummy complaints and all endpoints
- Simulator service for I4C/MHA integration testing
- 3-row menu bar with 22 items (7+8+8 layout)
- Mega menus for General Ledger, Sub Ledger, Deposits, Share, Others,
  HRM, RBI with search and grouped columns
- Dropdowns for Cashier, Clearing, NPA, CKYC, Advances, Letter Mgmt,
  Insurance, Digital
- Dashboard redesign with regulatory, financial health, deposits,
  risk/NPA sections using static banking data
- All translations added to en-US.json
- FontAwesome icons registered for all new menu items

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:05:43 +05:30

197 lines
2.9 KiB
SCSS

/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
.cfcfrms-dashboard {
padding: 24px;
max-width: 1400px;
margin: 0 auto;
}
.page-header {
margin-bottom: 24px;
h2 {
margin: 0;
font-size: 24px;
font-weight: 700;
color: #0d1b2a;
}
.subtitle {
margin: 4px 0 0;
color: #64748b;
font-size: 14px;
}
}
.stat-cards {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
margin-bottom: 24px;
@media (max-width: 1280px) {
grid-template-columns: repeat(2, 1fr);
}
}
.stat-card {
border-left: 4px solid;
border-radius: 8px !important;
mat-card-content {
display: flex;
align-items: center;
gap: 16px;
padding: 20px !important;
}
.stat-icon {
width: 56px;
height: 56px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}
.stat-info {
display: flex;
flex-direction: column;
}
.stat-value {
font-size: 28px;
font-weight: 700;
line-height: 1.2;
}
.stat-label {
font-size: 13px;
color: #64748b;
margin-top: 2px;
}
&.stat-total {
border-color: #1e88e5;
.stat-icon {
background: #1e88e5;
}
.stat-value {
color: #1e88e5;
}
}
&.stat-pending {
border-color: #f59e0b;
.stat-icon {
background: #f59e0b;
}
.stat-value {
color: #f59e0b;
}
}
&.stat-lien {
border-color: #eab308;
.stat-icon {
background: #eab308;
}
.stat-value {
color: #92400e;
}
}
&.stat-recovered {
border-color: #10b981;
.stat-icon {
background: #10b981;
}
.stat-value {
color: #10b981;
}
}
}
.charts-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-bottom: 24px;
@media (max-width: 1280px) {
grid-template-columns: 1fr;
}
}
.chart-card {
border-radius: 8px !important;
mat-card-header {
padding: 16px 16px 0;
}
mat-card-content {
padding: 16px !important;
}
}
.chart-container {
height: 280px;
position: relative;
}
.recent-complaints-card {
border-radius: 8px !important;
mat-card-header {
display: flex;
align-items: center;
padding: 16px;
.spacer {
flex: 1;
}
}
mat-card-content {
padding: 0 !important;
}
}
.full-width {
width: 100%;
}
.ticket-link {
color: #1e88e5;
text-decoration: none;
font-weight: 600;
&:hover {
text-decoration: underline;
}
}
.loading-container {
display: flex;
justify-content: center;
padding: 40px;
}
.empty-state {
display: flex;
flex-direction: column;
align-items: center;
padding: 48px;
color: #94a3b8;
p {
margin-top: 12px;
font-size: 14px;
}
}