/** * 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; } }