- CTS clearing module: inward batches (validate/pass/return), outward presentment capture, positive pay, settlement, reconciliation - Outward Clearing merged into one screen: Pending Cheques + Batches tabs (a real clearing session per NPCI submission, either the 2-hourly job or manual send), drill into a batch to settle/dishonour its cheques - Date-range, text, and quick (Today/Yesterday/All) filters with pagination across inward batches, outward presentments, outward batches, and batch detail - NACH clearing module (mandates, batches, transaction decisioning) - Shell/sidenav wiring for both new modules Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
146 lines
2.1 KiB
SCSS
146 lines
2.1 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/.
|
|
*/
|
|
|
|
.container {
|
|
padding: 16px;
|
|
}
|
|
|
|
.page-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.filter-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-bottom: 16px;
|
|
flex-wrap: wrap;
|
|
|
|
button.active {
|
|
background: rgb(25 118 210 / 12%);
|
|
}
|
|
}
|
|
|
|
.add-form {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.form-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
|
gap: 12px 20px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
mat-form-field {
|
|
width: 100%;
|
|
}
|
|
|
|
.form-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 12px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.table-wrapper {
|
|
overflow-x: auto;
|
|
background: #fff;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
}
|
|
|
|
td.num,
|
|
th.num {
|
|
text-align: right;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.muted {
|
|
display: block;
|
|
color: rgb(0 0 0 / 50%);
|
|
font-size: 0.78rem;
|
|
}
|
|
|
|
.pill {
|
|
font-size: 11px;
|
|
padding: 2px 8px;
|
|
border-radius: 6px;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
margin-right: 4px;
|
|
|
|
&.ok {
|
|
background: #dff5e8;
|
|
color: #28c07a;
|
|
}
|
|
|
|
&.bad {
|
|
background: #fde3e3;
|
|
color: #d32f2f;
|
|
}
|
|
|
|
&.neutral {
|
|
background: #e0e0e0;
|
|
color: #757575;
|
|
}
|
|
}
|
|
|
|
.empty-state {
|
|
padding: 24px;
|
|
text-align: center;
|
|
color: rgb(0 0 0 / 50%);
|
|
}
|
|
|
|
.envelope-panel {
|
|
margin: 8px;
|
|
padding: 12px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 6px;
|
|
background: #fafafa;
|
|
|
|
.envelope-head {
|
|
font-weight: 600;
|
|
margin-bottom: 6px;
|
|
}
|
|
}
|
|
|
|
.image-cell {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.cheque-thumb {
|
|
width: 40px;
|
|
height: 28px;
|
|
object-fit: cover;
|
|
border: 1px solid #ddd;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.cts-file {
|
|
font-family: monospace;
|
|
font-size: 0.74rem;
|
|
background: #f5f7fa;
|
|
color: #1a2733;
|
|
border: 1px solid #dfe6ee;
|
|
padding: 10px;
|
|
border-radius: 4px;
|
|
max-height: 360px;
|
|
overflow: auto;
|
|
white-space: pre;
|
|
margin: 4px 0 12px;
|
|
}
|