/** * 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: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; 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; } .no-address-message { display: flex; align-items: center; gap: 8px; padding: 32px 16px; color: rgb(0 0 0 / 54%); font-size: 14px; mat-icon { color: rgb(0 0 0 / 38%); } } .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; } /* Save & Next button wrapper */ .save-next-wrapper { position: relative; display: inline-flex; flex-direction: column; } .save-next-btn { display: flex !important; align-items: center; gap: 2px; .m-r-6 { margin-right: 6px; font-size: 18px; } } .save-spinner { display: inline-block; } .save-progress-bar { position: absolute; bottom: 0; left: 0; right: 0; height: 3px !important; border-radius: 0 0 4px 4px; ::ng-deep .mdc-linear-progress__bar-inner { border-color: #fff !important; } ::ng-deep .mdc-linear-progress__buffer-bar { background-color: rgb(255 255 255 / 30%) !important; } } .validation-error-bar { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: #fef2f2; border: 1px solid #fecaca; border-left: 4px solid #dc2626; border-radius: 6px; margin-bottom: 12px; font-size: 13px; color: #991b1b; mat-icon { color: #dc2626; font-size: 20px; width: 20px; height: 20px; flex-shrink: 0; } span { flex: 1; } button { flex-shrink: 0; color: #991b1b !important; } }