Files
cbsnexora/src/app/current-accounts/current-account-stepper/current-account-details-step/add-related-client-dialog/add-related-client-dialog.component.scss
T

360 lines
7.4 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/.
*/
// ── Tokens ───────────────────────────────────────────────────────────────────
$primary: #2563eb;
$primary-light: #eff6ff;
$primary-border: #bfdbfe;
$success: #16a34a;
$success-light: #f0fdf4;
$success-border: #bbf7d0;
$border: #e5e7eb;
$text: #111827;
$text-muted: #6b7280;
$radius: 10px;
// ── Dialog wrapper ────────────────────────────────────────────────────────────
mifosx-add-related-client-dialog {
display: block;
}
// ── Header ────────────────────────────────────────────────────────────────────
.arc-header {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 20px 20px 14px;
border-bottom: 1px solid $border;
&__icon {
width: 40px;
height: 40px;
border-radius: 10px;
background: $primary-light;
border: 1px solid $primary-border;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
mat-icon {
color: $primary;
font-size: 20px;
width: 20px;
height: 20px;
}
}
&__text {
flex: 1;
}
&__title {
margin: 0;
font-size: 15px;
font-weight: 700;
color: $text;
line-height: 1.3;
}
&__sub {
margin: 3px 0 0;
font-size: 12px;
color: $text-muted;
}
&__close {
margin-top: -4px;
margin-right: -8px;
color: $text-muted;
}
}
// ── Dialog content ────────────────────────────────────────────────────────────
.arc-dialog-form {
display: flex;
flex-direction: column;
gap: 0;
width: 440px;
max-width: 100%;
padding-top: 4px;
}
// ── Step labels ───────────────────────────────────────────────────────────────
.arc-step-label {
display: flex;
align-items: center;
gap: 8px;
margin: 16px 0 10px;
font-size: 12px;
font-weight: 700;
color: $text-muted;
text-transform: uppercase;
letter-spacing: 0.04em;
&--mt {
margin-top: 20px;
}
}
.arc-step-badge {
width: 20px;
height: 20px;
border-radius: 50%;
background: $primary;
color: #fff;
font-size: 11px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
// ── Search ────────────────────────────────────────────────────────────────────
.arc-full-width {
width: 100%;
}
.arc-search-section {
position: relative;
}
.arc-search-icon {
font-size: 18px;
width: 18px;
height: 18px;
color: $text-muted;
margin-right: 4px;
}
.arc-search-results {
position: absolute;
z-index: 200;
top: calc(100% - 8px);
left: 0;
right: 0;
background: #fff;
border: 1px solid $border;
border-radius: $radius;
box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
max-height: 240px;
overflow-y: auto;
}
.arc-search-result-item {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 14px;
cursor: pointer;
border-bottom: 1px solid #f3f4f6;
transition: background 0.12s;
&:last-child {
border-bottom: none;
}
&:hover {
background: $primary-light;
.arc-result-arrow {
opacity: 1;
transform: translateX(2px);
}
}
}
.arc-result-avatar {
width: 34px;
height: 34px;
border-radius: 50%;
background: linear-gradient(135deg, #6366f1, #2563eb);
color: #fff;
font-size: 13px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.arc-result-body {
flex: 1;
display: flex;
flex-direction: column;
gap: 3px;
}
.arc-result-name {
font-size: 13px;
font-weight: 600;
color: $text;
}
.arc-result-meta {
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.arc-chip {
font-size: 10px;
padding: 1px 7px;
border-radius: 999px;
background: #f3f4f6;
color: $text-muted;
font-weight: 500;
&--status {
background: #fef3c7;
color: #92400e;
}
&--active {
background: #dcfce7;
color: #166534;
}
}
.arc-result-arrow {
font-size: 18px;
width: 18px;
height: 18px;
color: $primary;
opacity: 0;
transition:
opacity 0.12s,
transform 0.12s;
}
// ── Selected client ───────────────────────────────────────────────────────────
.arc-selected-client {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 14px;
background: $success-light;
border: 1.5px solid $success-border;
border-radius: $radius;
margin-top: 6px;
}
.arc-selected-avatar {
width: 38px;
height: 38px;
border-radius: 50%;
background: linear-gradient(135deg, #22c55e, #16a34a);
color: #fff;
font-size: 14px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.arc-client-info {
flex: 1;
display: flex;
flex-direction: column;
gap: 2px;
}
.arc-client-name {
font-size: 13px;
font-weight: 700;
color: #166534;
}
.arc-client-sub {
font-size: 11px;
color: #15803d;
}
.arc-selected-badge {
font-size: 10px;
font-weight: 700;
padding: 3px 10px;
border-radius: 999px;
background: $success;
color: #fff;
text-transform: uppercase;
letter-spacing: 0.05em;
}
// ── Share percentage ──────────────────────────────────────────────────────────
.arc-share-row {
display: flex;
align-items: flex-start;
gap: 12px;
}
.arc-share-field {
flex: 0 0 160px;
}
.arc-percent-suffix {
font-size: 15px;
font-weight: 600;
color: $text-muted;
margin-right: 4px;
}
.arc-share-hints {
display: flex;
flex-wrap: wrap;
gap: 6px;
padding-top: 10px;
}
.arc-hint-chip {
padding: 5px 12px;
border-radius: 8px;
border: 1.5px solid $border;
background: #fff;
font-size: 12px;
font-weight: 600;
color: $text-muted;
cursor: pointer;
transition:
border-color 0.12s,
background 0.12s,
color 0.12s;
&:hover {
border-color: $primary;
background: $primary-light;
color: $primary;
}
}
// ── Actions ───────────────────────────────────────────────────────────────────
.arc-actions {
padding: 12px 20px 16px !important;
border-top: 1px solid $border;
gap: 10px;
justify-content: flex-end !important;
}
.arc-btn-cancel {
border-radius: 8px !important;
}
.arc-btn-add {
border-radius: 8px !important;
padding: 0 18px !important;
gap: 4px;
mat-icon {
font-size: 18px;
width: 18px;
height: 18px;
}
}