Files
cbsnexora/src/app/cfcfrms/complaint-detail/complaint-detail.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

285 lines
3.8 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/.
*/
.complaint-detail-page {
padding: 24px;
max-width: 1400px;
margin: 0 auto;
}
.page-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 24px;
h2 {
margin: 0;
font-size: 24px;
font-weight: 700;
color: #0d1b2a;
}
.subtitle {
margin: 2px 0 0;
color: #64748b;
font-size: 14px;
}
}
.loading-container {
display: flex;
justify-content: center;
padding: 80px;
}
.error-card {
text-align: center;
padding: 48px;
color: #94a3b8;
p {
margin: 12px 0;
}
}
.detail-layout {
display: grid;
grid-template-columns: 1fr 420px;
gap: 24px;
align-items: start;
@media (max-width: 1280px) {
grid-template-columns: 1fr;
}
}
.detail-left,
.detail-right {
display: flex;
flex-direction: column;
gap: 20px;
}
.info-card,
.action-card,
.timeline-card {
border-radius: 8px !important;
}
.info-card {
mat-card-header {
display: flex;
align-items: center;
padding: 16px 20px;
.spacer {
flex: 1;
}
}
mat-card-content {
padding: 0 20px 20px !important;
}
}
.info-grid {
mat-divider {
margin: 16px 0;
}
}
.info-section {
h4 {
margin: 0 0 12px;
font-size: 14px;
font-weight: 700;
color: #0d1b2a;
text-transform: uppercase;
letter-spacing: 0.5px;
}
}
.info-row {
display: flex;
padding: 6px 0;
.info-label {
flex: 0 0 160px;
font-size: 13px;
color: #64748b;
}
.info-value {
font-size: 14px;
color: #1e293b;
word-break: break-word;
&.amount {
font-weight: 700;
color: #0d1b2a;
font-size: 16px;
}
&.mono {
font-family: 'Courier New', monospace;
}
}
}
.mono {
font-family: 'Courier New', monospace;
}
.action-card {
mat-card-header {
padding: 16px 20px 0;
}
mat-card-content {
padding: 16px 20px 20px !important;
}
}
.terminal-state {
text-align: center;
padding: 24px;
color: #64748b;
p {
margin-top: 12px;
font-size: 14px;
}
}
.current-status {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
padding: 12px;
background: #f8fafc;
border-radius: 8px;
.label {
font-size: 13px;
color: #64748b;
}
}
.full-width {
width: 100%;
}
.submit-btn {
margin-top: 8px;
height: 44px;
}
.inline-spinner {
display: inline-block;
}
.mr-05 {
margin-right: 4px;
}
.timeline-card {
mat-card-header {
padding: 16px 20px 0;
}
mat-card-content {
padding: 16px 20px 20px !important;
}
}
.empty-timeline {
text-align: center;
padding: 32px;
color: #94a3b8;
p {
margin-top: 8px;
font-size: 14px;
}
}
.timeline {
position: relative;
&::before {
content: '';
position: absolute;
left: 16px;
top: 0;
bottom: 0;
width: 2px;
background: #e2e8f0;
}
}
.timeline-item {
display: flex;
gap: 16px;
position: relative;
padding-bottom: 20px;
&:last-child {
padding-bottom: 0;
}
}
.timeline-marker {
width: 34px;
height: 34px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
flex-shrink: 0;
z-index: 1;
}
.timeline-content {
flex: 1;
padding-top: 4px;
}
.timeline-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 4px;
strong {
font-size: 14px;
color: #0d1b2a;
}
}
.timeline-time {
font-size: 12px;
color: #94a3b8;
}
.timeline-desc {
margin: 4px 0;
font-size: 13px;
color: #475569;
}
.timeline-actor {
font-size: 12px;
color: #94a3b8;
display: flex;
align-items: center;
gap: 4px;
}