/** * 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/. */ @use 'theme/mifosx-theme'; @use 'theme/material-web' as *; @use 'theme/pictonblue-yellowgreen' as *; @use 'theme/indigo-pink' as *; @use 'theme/pink-bluegrey' as *; @use 'theme/deeppurple-amber' as *; @use 'theme/purple-green.scss' as *; @use 'assets/styles/helper'; @use 'lightgallery/scss/lightgallery' as *; @use 'lightgallery/scss/lg-thumbnail' as *; @use 'lightgallery/scss/lg-zoom' as *; @use 'lightgallery/scss/lg-fullscreen' as *; @use 'app/core/error-handler/error-handler.component'; // Global Imports /* You can add global styles to this file, and also import other style files */ .custom-snackbar-top-right { top: 48px !important; right: 24px !important; left: auto !important; transform: none !important; position: fixed !important; z-index: 9999; } // ===== Sub-menu Mega Panels (rendered in CDK overlay) ===== .deposits-mega-panel, .hrm-mega-panel { max-width: 700px !important; } .share-mega-panel, .others-mega-panel { max-width: 850px !important; } .share-grid, .others-grid { grid-template-columns: repeat(4, 1fr) !important; } .others-grid, .npa-grid { grid-template-columns: repeat(3, 1fr) !important; } .npa-mega-panel, .advances-mega-panel { max-width: 800px !important; } .advances-grid { grid-template-columns: repeat(3, 1fr) !important; } .letter-mega-panel { max-width: 850px !important; } .letter-grid { grid-template-columns: repeat(4, 1fr) !important; } // ===== Material Select Panel Styles (Material Design 3) ===== .mat-mdc-select-panel { background: var(--md-sys-color-surface-container, #fff); border-radius: 8px; box-shadow: 0 2px 4px #00000014, 0 4px 12px #0000000f, 0 8px 24px #00000014; .mat-mdc-option { font-size: 0.875rem; min-height: 48px; padding: 0 16px; color: var(--md-sys-color-on-surface, #1a1c1e); transition: background-color 0.2s ease; &:hover { background-color: #1074b914; } &.mat-mdc-option-active { background-color: #1074b91f; } &.mdc-list-item--selected { background-color: #1074b91f; color: var(--md-sys-color-primary, #1074b9); font-weight: 500; } .mdc-list-item__primary-text { color: inherit; } } } // Dark theme select panel .dark-theme .mat-mdc-select-panel { background: var(--md-sys-color-surface-container, #2c2f36); .mat-mdc-option { color: var(--md-sys-color-on-surface, #e2e2e5); &:hover { background-color: #5ba2ec14; } &.mat-mdc-option-active { background-color: #5ba2ec1f; } &.mdc-list-item--selected { background-color: #5ba2ec1f; color: var(--md-sys-color-primary, #5ba2ec); font-weight: 500; } } } .scrollbar-styling { scrollbar-width: thin; scrollbar-color: #889 #f1f1f1; } ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #889; &:hover { background: #555; } } /* === Global Layout Utilities === */ .layout-row-wrap { display: flex; flex-flow: row wrap; } .layout-column { display: flex; flex-direction: column; } .layout-row { display: flex; flex-direction: row; } .align-flex-end { justify-content: flex-end; } .flex-align-center { display: flex; align-items: center; justify-content: center; } .flex-center { display: flex; justify-content: center; align-items: center; } .responsive-column { @media (width <=768px) { flex-direction: column; } } .gap-2px { gap: 2%; } .gap-5px { gap: 5px; } .gap-20px { gap: 20px; } .gap-25px { gap: 25px; } .gap-32px { gap: 32px; } .gap-40px { gap: 40px; } .align-start { justify-content: flex-start; } .align-end { justify-content: flex-end; } .align-center-start { justify-content: flex-start; align-items: center; } .align-center { justify-content: center; } .align-center-center { justify-content: center; align-items: center; } .align-between { justify-content: space-between; } .align-items-center { align-items: center; } .align-start-baseline { align-items: baseline; justify-content: flex-start; } .layout-align-end { display: flex; justify-content: flex-end; align-items: center; } .align-start-center { display: flex; justify-content: flex-start; align-items: center; } .align-start-start { display: flex; justify-content: flex-start; align-items: flex-start; } .layout-align-center { align-items: center; justify-content: center; } .layout-gt-sm-row { @media (width >=600px) { flex-direction: row; } } .align-gt-sm-start-center { @media (width >=600px) { justify-content: flex-start; align-items: center; } } .flex-auto { flex: 0.1 0 auto; } .flex-3-auto { flex: 3 0 auto; } .flex-4 { flex: 0 0 4%; } .flex-5 { flex: 0 0 5%; } .flex-8 { flex: 0 0 8%; } .flex-9 { flex: 0 0 9%; } .flex-10 { flex: 0 0 10%; } .flex-13 { flex: 0 0 13%; } .flex-14 { flex: 0 0 12%; } .flex-15 { flex: 0 0 15%; } .flex-16 { flex: 0 0 16%; } .flex-18 { flex: 0 0 18%; } .flex-20 { flex: 0 0 20%; } .flex-23 { flex: 0 0 23%; } .flex-24 { flex: 0 0 24%; } .flex-25 { flex: 0 0 25%; } .flex-28 { flex: 0 0 28%; } .flex-29 { flex: 0 0 29%; } .flex-30 { flex: 0 0 30%; } .flex-31 { flex: 0 0 31%; } .flex-32 { flex: 0 0 32%; } .flex-33 { flex: 0 0 33%; } .flex-34 { flex: 0 0 34%; } .flex-38 { flex: 0 0 38%; } .flex-40 { //flex: 0 0 40%; flex: 1; width: 40%; } .flex-43 { flex: 0 0 43%; } .flex-45 { flex: 0 0 45%; } .flex-46 { flex: 0 0 46%; } .flex-47 { flex: 0 0 47%; } .flex-48 { flex: 0 0 48%; } @media (width <=768px) { .hide-lt-md { display: none !important; } } .flex-49 { flex: 0 0 49%; } .flex-50 { flex: 0 0 50%; margin-bottom: 1rem; } .flex-53 { flex: 0 0 53%; } .flex-60 { // flex: 0 0 60%; flex: 1; width: 60%; } .flex-63 { flex: 0 0 63%; } .flex-65 { flex: 0 0 65%; } .flex-67 { flex: 0 0 67%; } .flex-68 { flex: 0 0 68%; } .flex-70 { flex: 0 0 70%; } .flex-73 { flex: 0 0 73%; } .flex-75 { flex: 0 0 75%; } .flex-83 { flex: 0 0 83%; } .flex-90 { flex: 0 0 90%; } .flex-94 { flex: 0 0 94%; } .flex-95 { flex: 0 0 95%; } .flex-96 { flex: 0 0 96%; } @media screen and (width <=599px) { .flex-xs-15 { flex: 0 0 15%; max-width: 15%; } } @media screen and (width >=600px) and (width <=959px) { .flex-sm-10 { flex: 0 0 10%; max-width: 10%; } } @media screen and (width >=960px) and (width <=1279px) { .flex-md-5 { flex: 0 0 5%; max-width: 5%; } } .hide-lt-sm { @media (width <=599px) { display: none !important; } } .flex-98 { flex: 0 0 98%; } .flex-100 { flex: 0 0 100%; width: 100%; } .flex-contents { display: contents; flex: 1; } .flex-fill { display: flex; flex: 1 1 auto; min-width: 0; min-height: 0; } .gap-8px { gap: 8px; } .gap-10px { gap: 10px; } .gap-12px { gap: 12px; } .gap-1percent { gap: 1%; } .gap-2percent { gap: 2%; } .gap-3percent { gap: 3%; } .gap-4percent { gap: 4%; } .gap-5percent { gap: 5%; } .gap-15percent { gap: 15%; } .gap-20percent { gap: 20%; } .gap-25percent { gap: 25%; } .gap-70percent { gap: 70%; } .flex { flex: 1 1 0%; } .layout-row-reverse { display: flex; flex-direction: row-reverse; } .flex-gt-sm-30 { @media (width >=600px) { flex: 1 0 30%; } } @media (width <=1199px) { .hide-lt-lg { display: none !important; } } @media (width <=768px) { .flex-25 { flex: 0 0 50%; } } @media (width <=599px) { .layout-xs-column { flex-direction: column; } } .flex-50-minus-25px { flex: 1 1 calc(50% - 25px); } .flex-85-minus-20px { flex: 1 1 calc(85% - 20px); } .flex-90-minus-20px { flex: 1 1 calc(90% - 20px); } .layout-lt-md-column { @media (width <=768px) { flex-direction: column; } } .layout-column.lt-md { @media (width <=599px) { flex-direction: column !important; } } .responsive-flex-full { @media (width <=768px) { flex: 0 0 100% !important; } } .align-space-evenly-center { justify-content: space-evenly; align-items: center; } .mat-mdc-form-field { margin-bottom: 16px; .mat-mdc-input-element::placeholder { font-size: 14px !important; color: #999 !important; } .mdc-floating-label { font-size: 14px !important; } } mat-stepper { ::ng-deep .mat-vertical-content { padding: 16px; } ::ng-deep .mat-vertical-stepper-content { padding-top: 16px; } } @media (width <=768px) { .flex-lt-md-50 { flex: 0 0 50%; } } @media (width <=768px) { .flex-50-lt-md { flex: 0 0 50%; } } @media (width <=599px) { .layout-column-xs { flex-direction: column !important; } } .menu-explanation { font-size: 14px; margin: 0; word-wrap: break-word; overflow-wrap: break-word; } .menu-list-item-content { display: flex; width: 100%; overflow: hidden; } .menu-left-section { display: flex; align-items: center; width: 100%; gap: 10px; min-width: 0; flex: 1; overflow: hidden; } .menu-right-section fa-icon { z-index: 1000; } .menu-right-section { margin-left: auto; display: flex; gap: 4px; margin-right: 10px; flex-shrink: 0; } mat-nav-list { overflow: hidden; mat-list-item { overflow: hidden; .mat-list-item-content { overflow: hidden; } } } .content { display: contents; flex: 1; } mifosx-notifications-page td { text-align: center; padding: 16px; color: #999; } .red { color: red; } // ===== Global Delete/Trash Icon Styling ===== // Makes standalone delete icons red, but keeps them white inside warn (red) buttons .fa-trash { color: #f44336 !important; } .mat-mdc-raised-button.mat-warn .fa-trash { color: inherit !important; } // ===== Global Button Icon Alignment ===== // Handles the span + mat-icon pattern used throughout the application .mat-mdc-button, .mat-mdc-raised-button, .mat-mdc-outlined-button { span { display: inline-flex; align-items: center; gap: 8px; mat-icon { display: inline-flex; align-items: center; justify-content: center; } } } .full-width-flex { display: flex; justify-content: flex-start; width: 100%; } /* Global overflow helpers to avoid repeated component overrides */ .overflow-hidden { overflow: hidden; } mat-card { overflow: hidden; } .layout-row.responsive-column { overflow: hidden; > [class] { overflow: hidden; } } .dark-theme { .tox.tox-tinymce { border-color: #444 !important; } .tox .tox-editor-header, .tox .tox-toolbar-overlord, .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { background-color: #303135 !important; } .tox .tox-tbtn { background-color: transparent !important; color: rgb(255 255 255 / 87%) !important; svg { fill: rgb(255 255 255 / 87%) !important; } &:hover { background-color: rgb(255 255 255 / 12%) !important; } &:focus { background-color: rgb(255 255 255 / 8%) !important; } } .tox .tox-tbtn--bevel { background: transparent !important; } .tox .tox-tbtn--select { background-color: transparent !important; } .tox .tox-split-button { background-color: transparent !important; &:hover { box-shadow: none !important; } } .tox .tox-edit-area { background-color: #303135 !important; iframe { background-color: transparent !important; } } .tox .tox-sidebar-wrap { background-color: #303135 !important; } .tox .tox-menubar { background-color: #303135 !important; } .tox .tox-menu { background-color: #303135 !important; border-color: #444 !important; } .tox .tox-collection__item { color: rgb(255 255 255 / 87%) !important; &:hover { background-color: rgb(255 255 255 / 8%) !important; } } .tox .tox-statusbar { background-color: #303135 !important; border-color: #444 !important; color: rgb(255 255 255 / 60%) !important; } } .app-sidenav { .mat-mdc-nav-list .mat-mdc-list-item { .mdc-list-item__primary-text { display: flex; align-items: center; gap: 8px; } [matlisticon] { flex-shrink: 0; width: 24px; min-width: 24px; display: inline-flex; align-items: center; justify-content: center; fa-icon { display: inline-flex; align-items: center; justify-content: center; } .fa { display: inline-block; width: 1em; text-align: center; } } } } /* Print styles — hide app shell, show only receipt content */ @media print { mat-sidenav, mifosx-toolbar, mifosx-breadcrumb, mifosx-footer, .sidebar-panel, .mat-mdc-tab-header, .mat-stepper-vertical-line, .mat-step-header { display: none !important; } mat-sidenav-content.sidenav { margin-left: 0 !important; } body, html { background: #fff !important; } @page { /* stylelint-disable-next-line unit-allowed-list */ margin: 1.5cm; } } /* ─── Ensure mat-menu overlays appear above header ─── */ .cdk-overlay-container { z-index: 1001 !important; } /* ─── CRR/SLR Dialog Panel ─── */ .crr-slr-dialog-panel { .mat-mdc-dialog-container { padding: 0; border-radius: 16px; overflow: hidden; } .mat-mdc-dialog-surface { padding: 0 !important; border-radius: 16px !important; } } /* ─── Add Beneficiary Dialog Panel ─── */ .abd-dialog-panel { .mat-mdc-dialog-container { padding: 0; border-radius: 14px; overflow: hidden; } .mat-mdc-dialog-surface { padding: 0 !important; border-radius: 14px !important; } .mat-mdc-dialog-content { padding: 0 20px !important; max-height: 72vh; } .mat-mdc-dialog-actions { padding: 0 !important; margin: 0 !important; } } /* ─── Add Related Client Dialog Panel ─── */ .arc-dialog-panel { .mat-mdc-dialog-container { padding: 0; border-radius: 14px; overflow: hidden; } .mat-mdc-dialog-surface { padding: 0 !important; border-radius: 14px !important; } .mat-mdc-dialog-content { padding: 0 20px !important; max-height: 70vh; } .mat-mdc-dialog-actions { padding: 0 !important; margin: 0 !important; } }