/** * 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 '../../../shared/styles/list-layout' as *; $brand: #1353a0; $border: #e2e8f0; $text: #0f172a; $text-muted: #64748b; .cv-tab-content { padding: 16px 0; } // Action bar .cv-action-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; } .cv-search-field { flex: 1; min-width: 200px; max-width: 320px; ::ng-deep { .mat-mdc-form-field-flex { height: 36px; } .mat-mdc-form-field-infix { padding: 6px 0; min-height: 36px; } .mat-mdc-form-field-subscript-wrapper { height: 0; min-height: 0; } .mdc-notched-outline { .mdc-notched-outline__leading { border-radius: 8px 0 0 8px; } .mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; } } .mat-mdc-form-field-icon-prefix { padding: 0 6px 0 8px; color: $text-muted; font-size: 16px; } input { font-size: 13px; } } } .cv-toggle-btn { width: 32px; height: 32px; line-height: 32px; border: 1px solid $border; border-radius: 8px; color: $text-muted; background: #fff; ::ng-deep .mat-mdc-button-persistent-ripple { border-radius: 8px; } } .cv-action-buttons { display: flex; gap: 8px; margin-left: auto; flex-shrink: 0; } .cv-btn { font-size: 12px; font-weight: 600; border-radius: 8px !important; height: 36px; padding: 0 16px; font-family: 'DM Sans', Roboto, sans-serif; fa-icon { margin-right: 4px; font-size: 11px; } } .cv-btn-approve { border-color: #16a34a; color: #16a34a; &:hover { background: #f0fdf4; } } .cv-btn-delete { border-color: #dc2626; color: #dc2626; &:hover { background: #fef2f2; } } .cv-btn-reject { border-color: #64748b; color: #64748b; &:hover { background: #f8fafc; } } .cv-btn-search { height: 36px; border-radius: 8px; font-size: 13px; font-weight: 500; align-self: center; } // Advanced search .cv-advanced-search { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; padding: 16px; background: #f8fafc; border: 1px solid $border; border-radius: 10px; .cv-adv-field { width: 100%; ::ng-deep { .mat-mdc-form-field-subscript-wrapper { height: 0; min-height: 0; } .mat-mdc-form-field-infix { padding: 6px 0; min-height: 36px; } .mdc-notched-outline { .mdc-notched-outline__leading { border-radius: 8px 0 0 8px; } .mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; } } input, .mat-mdc-select-trigger { font-size: 13px; } } } .cv-btn-search { grid-column: 1 / -1; justify-self: start; } } // Responsive @media (width <= 768px) { .cv-action-bar { flex-direction: column; align-items: stretch; } .cv-search-field { max-width: 100%; } .cv-action-buttons { margin-left: 0; justify-content: stretch; .cv-btn { flex: 1; } } .cv-advanced-search { grid-template-columns: 1fr; } } /* Empty state — shown when the inbox has no items at all (search/action bar is hidden in that case) or when the current search has no matches. */ .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 24px; background: #fff; border: 1px dashed #e2e8f0; border-radius: 14px; text-align: center; margin: 16px 0; .empty-icon { font-size: 42px; color: #cbd5e1; margin-bottom: 14px; } .empty-title { margin: 0 0 4px; font-size: 15px; font-weight: 700; color: #0d1b2a; } .empty-text { margin: 0; font-size: 12.5px; color: #64748b; max-width: 380px; line-height: 1.5; } &--filter { background: #f8fafc; border-style: solid; } }