.app-section { min-height: 80vh; }
#appShell.d-none { display: none !important; }
#appNav.d-none { display: none !important; }
#loginScreen { min-height: 100vh; display: flex; align-items: center; }

/* Global look */
body { background: #f5f7fb; padding-bottom: 170px; }
.card { border: 1px solid #e7ecf3; border-radius: 14px; box-shadow: 0 6px 18px rgba(17, 24, 39, 0.06); }
.card.shadow-sm { border-color: #e7ecf3; }
.card h4 { font-weight: 700; }
.card .small { color: #6c757d; }
.form-control, .form-select { border-radius: 10px; border-color: #d9e2ef; }
.btn-primary { background: #0d6efd; border-color: #0d6efd; box-shadow: 0 4px 12px rgba(13,110,253,0.25); }
.btn-outline-primary { border-color: #0d6efd; color: #0d6efd; }

/* Form grouping */
.form-block { background: #eef3fb; border: 1px solid #cfd6e4; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.form-block-title { font-weight: 700; color: #1f2d3d; margin-bottom: 10px; font-size: 0.92rem; letter-spacing: 0.01em; background: #f1f5fb; padding: 8px 10px; border-radius: 8px; display: inline-block; }
.form-block .mb-3 { margin-bottom: 0.65rem !important; }
.form-label { font-weight: 600; margin-bottom: 0.25rem; }

/* Navigation */
.nav-link { color: #444; text-decoration: none; }
.nav-link.active { color: #0d6efd; font-weight: 600; }
.nav-link small { display: block; font-size: 0.75rem; }
.nav-link div { font-size: 1.25rem; line-height: 1.4; }

.sticky-total { position: fixed; left: 0; right: 0; bottom: 72px; background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; padding: 12px 16px; margin: 0 12px; box-shadow: 0 12px 30px rgba(0,0,0,0.08); z-index: 1040; }
.sticky-total .btn { min-width: 110px; }

.chart-card { min-height: 260px; display: flex; flex-direction: column; }
.chart-card h6 { flex: 0 0 auto; }
.chart-card canvas { display: block; flex: 1 1 auto; width: 100% !important; height: 220px !important; }

/* Minimal grouping borders for settings/budgets */
.accordion-body { background: #fdfefe; border: 1px solid #eef2f7; border-radius: 12px; padding: 16px; }
.accordion-item { border: none; }
.accordion-button { background: #f8fafc; border: 1px solid #e7ecf3; border-radius: 12px !important; margin: 6px; padding: 12px 14px; font-weight: 700; color: #1f2d3d; box-shadow: 0 2px 8px rgba(17, 24, 39, 0.04); }
.accordion-button:not(.collapsed) { background: #eef3fb; color: #0d6efd; box-shadow: inset 0 0 0 1px #cfe1ff; }
.accordion-button:focus { box-shadow: 0 0 0 2px rgba(13,110,253,0.2); }
#budgetSystems > div { background: #f8fafc; border: 1px solid #e6edf5; border-radius: 12px; padding: 12px; margin-bottom: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.8); }
#budgetSystems > div .row { margin-top: 4px; }
.sticky-total { border-color: #e6edf5; }
.card.shadow-sm { border-color: #e6edf5; }

#offlineBanner { position: sticky; top: 0; z-index: 1050; }

.select2-container--bootstrap4 .select2-selection--single { height: calc(2.875rem + 2px); padding: 0.5rem 0.75rem; font-size: 1.1rem; }
.select2-container--bootstrap-5-theme .select2-selection--single { min-height: 44px; padding: 0.55rem 0.9rem; border-radius: 10px; border: 1px solid #d9e2ef; }
.select2-container--bootstrap-5-theme .select2-selection__rendered { line-height: 1.35; color: #1f2d3d; }
.select2-container--bootstrap-5-theme .select2-results__option { padding: 10px 12px; border-bottom: 1px solid #eef2f7; font-size: 0.95rem; }
.select2-container--bootstrap-5-theme .select2-results__option:last-child { border-bottom: none; }
.select2-container--bootstrap-5-theme .select2-results__option--highlighted { background: #e7f1ff; color: #0d6efd; }
.select2-container--bootstrap-5-theme .select2-search--dropdown .select2-search__field { border-radius: 8px; border: 1px solid #d9e2ef; padding: 6px 10px; }

.accordion-button { font-weight: 600; }

.badge-status { padding: 0.35rem 0.6rem; border-radius: 999px; }

#offlineQueueList .border-bottom:last-child { border-bottom: 0 !important; }
#recentExpensesList .border-bottom:last-child { border-bottom: 0 !important; }

.card { border: 1px solid #f0f0f0; }
.card .small { color: #6c757d; }

.metric-safe { background: linear-gradient(135deg, #e8f7ef, #ffffff); }
.metric-warn { background: linear-gradient(135deg, #fff4e5, #ffffff); }
.metric-risk { background: linear-gradient(135deg, #fdecea, #ffffff); }

#budgetSystems .border-bottom:last-child { border-bottom: 0 !important; }
#budgetSystems .form-label { font-weight: 600; }
#listUsers .border-bottom:last-child { border-bottom: 0 !important; }
