/** * 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/. */ .create-client-container { max-width: 960px; margin: 0 auto; padding: 24px 16px; } .client-header { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; .header-icon { font-size: 20px; color: var(--md-sys-color-primary, #1074b9); } h2 { margin: 0; font-size: 22px; font-weight: 500; } } .client-id-chip { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 5px 14px; background: #eff6ff; color: #1074b9; border: 1px solid #bfdbfe; border-radius: 8px; font-size: 13px; font-weight: 600; font-family: 'Roboto Mono', monospace; } .client-tabs { background: var(--md-sys-color-surface, #fff); border-radius: 8px; box-shadow: 0 2px 8px rgb(0 0 0 / 8%); ::ng-deep { .mat-mdc-tab-header { border-bottom: 1px solid rgb(0 0 0 / 8%); } .mat-mdc-tab { min-width: 160px; padding: 0 24px; height: 52px; } .mat-mdc-tab-body-wrapper { min-height: 200px; } .mat-mdc-tab-body { overflow: visible !important; } .mat-mdc-tab-body-content { overflow: visible !important; } } } .tab-icon { margin-right: 8px; } .tab-content { padding: 24px 16px; } .tab-section { margin-bottom: 16px; } .section-divider { margin: 24px 0; } .action-bar { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; padding: 16px 0; border-top: 1px solid rgb(0 0 0 / 8%); } .action-bar-right { display: flex; gap: 12px; } .cancel-btn { color: rgb(0 0 0 / 60%); } /* ─── Read-only tab state ─── */ .tab-content--readonly { background: #f9fafb; border-radius: 8px; } /* ─── Tab mode toolbar ─── */ .tab-mode-bar { display: flex; justify-content: flex-end; padding: 8px 0 0; } .tab-mode-btn { display: inline-flex !important; align-items: center; gap: 6px; font-size: 13px !important; font-weight: 500 !important; height: 34px !important; border-radius: 8px !important; padding: 0 14px !important; .mat-icon { font-size: 18px; width: 18px; height: 18px; } } .tab-mode-btn--edit { background: #1074b9 !important; color: #fff !important; } .tab-mode-btn--cancel { background: #fff !important; color: #ef4444 !important; border: 1px solid #fca5a5 !important; } /* ─── Dual-OTP "Verify Contact Change" panel ─── */ .contact-verify-panel { margin-top: 20px; padding: 16px 18px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; &__header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; color: #1074b9; mat-icon { margin-top: 1px; flex-shrink: 0; } } &__header-text { display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; line-height: 1.5; color: #1e3a5f; strong { font-size: 14px; font-weight: 700; } } &__field-group { &:not(:last-child) { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px dashed #bfdbfe; } } &__field-title { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #1e3a5f; mat-icon { font-size: 17px; width: 17px; height: 17px; color: #1074b9; } } &__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; } } /* ─── Pending Edit Approval Banner ─── */ .pending-edit-banner { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin: 0 0 16px; background: #eff6ff; border: 1px solid #93c5fd; border-radius: 8px; color: #1e40af; font-size: 13px; font-weight: 500; mat-icon { color: #2563eb; flex-shrink: 0; } } /* ─── Re-KYC Alert Banner ─── */ .rekyc-alert { display: flex; align-items: flex-start; gap: 12px; padding: 14px 18px; margin: 0 0 16px; background: #fef3c7; border: 1px solid #f59e0b; border-radius: 8px; color: #92400e; &__icon { color: #f59e0b; font-size: 22px; width: 22px; height: 22px; margin-top: 1px; flex-shrink: 0; } &__text { font-size: 13.5px; line-height: 1.5; strong { font-weight: 600; } } }