Files
cbsnexora/src/app/system/system.component.scss
T
AdityaandClaude Opus 4.6 d72e969dc3 feat: Client & CKYC UI improvements — filters, KYC management, image crop+merge
- Clients list: CKYC icon, CKYC Number column, status/legal form/CKYC filters
- CKYC: SFTP upload logs, date formatting, modal z-index fix, non-dismissible dialogs
- KYC Management: new standalone module with alert dashboard, notification scheduler, audit inventory, account status
- Image cropper: ngx-image-cropper integration for front+back document merge into single PNG
- Sidebar: KYC Management menu entry after CKYC

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 13:51:11 +05:30

173 lines
3.5 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/.
*/
$border: #e2e8f0;
$gray-50: #f8fafc;
$gray-400: #94a3b8;
$gray-500: #64748b;
$gray-700: #334155;
$gray-900: #0f172a;
// ── Container ──
.sys-container {
max-width: 1100px;
margin: 0 auto;
padding: 24px 20px;
}
// ── Page Header ──
.sys-header {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 28px;
&__icon {
width: 44px;
height: 44px;
border-radius: 10px;
background: linear-gradient(135deg, #0d3d78, #1a5276);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 18px;
flex-shrink: 0;
}
&__title {
font-size: 20px;
font-weight: 700;
color: $gray-900;
margin: 0;
letter-spacing: -0.3px;
}
&__sub {
font-size: 13px;
color: $gray-500;
margin: 2px 0 0;
}
}
// ── Card Grid ──
.sys-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
@media (width <= 768px) {
grid-template-columns: 1fr;
}
}
// ── Individual Card ──
.sys-card {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 16px;
background: #fff;
border: 1px solid $border;
border-radius: 10px;
text-decoration: none;
cursor: pointer;
transition: all 0.15s ease;
&:hover {
border-color: #cbd5e1;
background: $gray-50;
box-shadow: 0 2px 8px rgb(0 0 0 / 4%);
.sys-card__arrow {
color: $gray-700;
transform: translateX(2px);
}
}
&--disabled {
pointer-events: none;
opacity: 0.5;
}
&__icon {
width: 40px;
height: 40px;
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
flex-shrink: 0;
&--blue { background: rgb(59 130 246 / 10%); color: #2563eb; }
&--amber { background: rgb(245 158 11 / 10%); color: #d97706; }
&--green { background: rgb(34 197 94 / 10%); color: #16a34a; }
&--emerald { background: rgb(16 185 129 / 10%); color: #059669; }
&--purple { background: rgb(139 92 246 / 10%); color: #7c3aed; }
&--indigo { background: rgb(99 102 241 / 10%); color: #4f46e5; }
&--slate { background: rgb(100 116 139 / 10%); color: #475569; }
&--orange { background: rgb(249 115 22 / 10%); color: #ea580c; }
&--teal { background: rgb(20 184 166 / 10%); color: #0d9488; }
&--cyan { background: rgb(6 182 212 / 10%); color: #0891b2; }
&--rose { background: rgb(244 63 94 / 10%); color: #e11d48; }
}
&__body {
flex: 1;
min-width: 0;
}
&__title {
font-size: 13.5px;
font-weight: 600;
color: $gray-900;
margin: 0;
line-height: 1.3;
}
&__desc {
font-size: 11.5px;
color: $gray-400;
margin: 3px 0 0;
line-height: 1.35;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
&__arrow {
font-size: 11px;
color: #cbd5e1;
flex-shrink: 0;
transition: all 0.15s ease;
}
}
// ── Dark mode ──
:host-context(.dark-theme) {
.sys-header {
&__title { color: #e2e8f0; }
&__sub { color: #94a3b8; }
}
.sys-card {
background: #1e1e1e;
border-color: #333;
&:hover {
background: #262626;
border-color: #444;
}
&__title { color: #e2e8f0; }
&__desc { color: #64748b; }
&__arrow { color: #444; }
}
}