/* =====================================================================
   MFMS - Microfinance Deposit & Payment Management System
   Theme: Light, Blue / White / Dark-grey financial UI
   ===================================================================== */

:root {
  --mf-primary: #1050a0;
  --mf-primary-dark: #0b3a75;
  --mf-primary-light: #e8f0fb;
  --mf-navy: #0d2b4e;
  --mf-grey-900: #212529;
  --mf-grey-600: #6c757d;
  --mf-grey-100: #f4f6f9;
  --mf-success: #1e8e5a;
  --mf-danger: #c22a3e;
  --mf-warning: #d98c14;
  --mf-sidebar-w: 250px;
  --mf-topbar-h: 62px;
  --mf-radius: 10px;
}

body {
  background: var(--mf-grey-100);
  font-family: 'Inter', -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--mf-grey-900);
  font-size: 14.5px;
}

a { text-decoration: none; }

/* ---------- Layout shell ---------- */
.mf-wrapper { display: flex; min-height: 100vh; }

.mf-sidebar {
  width: var(--mf-sidebar-w);
  background: var(--mf-navy);
  color: #cfe0f5;
  position: fixed;
  top: 0; bottom: 0; left: 0;
  overflow-y: auto;
  z-index: 1030;
  transition: transform .25s ease;
}
.mf-sidebar .brand {
  display: flex; align-items: center; gap: .6rem;
  padding: 1.1rem 1.2rem;
  color: #fff; font-weight: 700; font-size: 1.05rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.mf-sidebar .brand i { color: #5fa8ff; }
.mf-sidebar .nav-section-label {
  font-size: .7rem; text-transform: uppercase; letter-spacing: .06em;
  color: #7f9cc0; padding: .9rem 1.2rem .3rem;
}
.mf-sidebar .nav-link {
  color: #cfe0f5; padding: .55rem 1.2rem; font-size: .89rem;
  display: flex; align-items: center; gap: .7rem; border-radius: 0;
}
.mf-sidebar .nav-link i { width: 18px; text-align: center; opacity: .85; }
.mf-sidebar .nav-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.mf-sidebar .nav-link.active {
  background: var(--mf-primary); color: #fff;
  border-left: 3px solid #5fa8ff;
}

.mf-main { margin-left: var(--mf-sidebar-w); width: calc(100% - var(--mf-sidebar-w)); }

.mf-topbar {
  height: var(--mf-topbar-h);
  background: #fff;
  border-bottom: 1px solid #e6e9ee;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 1.25rem;
  position: sticky; top: 0; z-index: 1020;
}
.mf-topbar .user-chip {
  display: flex; align-items: center; gap: .6rem; cursor: pointer;
}
.mf-topbar .user-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--mf-primary-light); color: var(--mf-primary);
  display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.mf-content { padding: 1.5rem; }

.mf-sidebar-toggle { display: none; }

@media (max-width: 991px) {
  .mf-sidebar { transform: translateX(-100%); }
  .mf-sidebar.show { transform: translateX(0); }
  .mf-main { margin-left: 0; width: 100%; }
  .mf-sidebar-toggle { display: inline-flex; }
}

/* ---------- Cards ---------- */
.mf-card {
  background: #fff; border: 1px solid #eceff3; border-radius: var(--mf-radius);
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
}
.mf-stat-card { padding: 1.1rem 1.25rem; border-radius: var(--mf-radius); position: relative; overflow: hidden; }
.mf-stat-card .stat-icon {
  width: 42px; height: 42px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; margin-bottom: .6rem;
}
.mf-stat-card .stat-value { font-size: 1.5rem; font-weight: 700; color: var(--mf-grey-900); }
.mf-stat-card .stat-label { font-size: .8rem; color: var(--mf-grey-600); }

.stat-blue .stat-icon   { background: #e8f0fb; color: var(--mf-primary); }
.stat-green .stat-icon  { background: #e7f6ef; color: var(--mf-success); }
.stat-amber .stat-icon  { background: #fdf1de; color: var(--mf-warning); }
.stat-red .stat-icon    { background: #fbe9eb; color: var(--mf-danger); }

/* ---------- Tables ---------- */
.table thead th {
  background: var(--mf-grey-100); font-size: .78rem; text-transform: uppercase;
  letter-spacing: .04em; color: var(--mf-grey-600); border-bottom: none; font-weight: 600;
}
.table td, .table th { vertical-align: middle; }

.badge-status { font-weight: 600; font-size: .72rem; padding: .35em .65em; }

/* ---------- Buttons ---------- */
.btn-primary { background: var(--mf-primary); border-color: var(--mf-primary); }
.btn-primary:hover { background: var(--mf-primary-dark); border-color: var(--mf-primary-dark); }

/* ---------- Login page ---------- */
.mf-auth-wrap {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--mf-navy), var(--mf-primary));
}
.mf-auth-card { width: 100%; max-width: 400px; border-radius: 14px; }

/* ---------- Empty state ---------- */
.mf-empty { text-align: center; padding: 3rem 1rem; color: var(--mf-grey-600); }
.mf-empty i { font-size: 2.4rem; opacity: .35; margin-bottom: .75rem; display: block; }

/* ---------- Receipts (screen preview) ---------- */
.receipt-box {
  width: 380px; margin: 0 auto; background: #fff; padding: 1.25rem;
  border: 1px dashed #c7cdd6; font-size: .85rem;
}
.receipt-box .receipt-title { text-align: center; font-weight: 700; font-size: 1rem; }
.receipt-box hr { border-top: 1px dashed #c7cdd6; }
.receipt-box table { width: 100%; font-size: .82rem; }

@media print {
  .no-print { display: none !important; }
  .receipt-box { border: none; width: 100%; }
}


/* ---------- Finance module ---------- */
.mf-nav-parent { justify-content: space-between; }
.mf-nav-parent > span { display:flex; align-items:center; gap:.7rem; }
.mf-menu-arrow { width:auto !important; font-size:.7rem; transition:transform .2s ease; }
.mf-nav-parent[aria-expanded="true"] .mf-menu-arrow { transform:rotate(180deg); }
.mf-sub-link { padding-left:2.9rem !important; font-size:.84rem !important; background:rgba(255,255,255,.018); }
.finance-hero { background:#0e1a31; color:#fff; border-radius:14px; padding:1.35rem 1.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; box-shadow:0 8px 24px rgba(14,26,49,.13); }
.finance-hero h3 { margin:.2rem 0 .45rem; font-weight:750; }
.finance-hero p { color:#b8c7df; margin:0; font-size:.84rem; }
.finance-kicker { color:#5fa8ff; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.btn-dark-soft { background:#1d2a42; color:#fff; border:1px solid #33415a; }
.btn-dark-soft:hover { background:#2b3b58; color:#fff; }
.finance-total { border-radius:13px; padding:1rem 1.2rem; border:1px solid; background:#fff; }
.finance-total span { display:block; text-transform:uppercase; letter-spacing:.05em; font-size:.7rem; font-weight:700; margin-bottom:.25rem; }
.finance-total strong { display:block; font-size:1.45rem; }
.total-cash { background:#eef6ff; border-color:#acd0ff; color:#0967f2; }
.total-bank { background:#f5f1ff; border-color:#cbb5ff; color:#7938f5; }
.total-grand { background:#edfff4; border-color:#87e8ad; color:#14854a; }
.account-card { background:#fff; border:1px solid #d9e5f5; border-radius:14px; padding:1.15rem; height:100%; box-shadow:0 2px 5px rgba(16,24,40,.025); }
.cash-card { border-color:#7be6a5; }
.account-card h5 { font-size:.95rem; margin:0 0 .2rem; font-weight:750; }
.account-card small { color:#8494ad; }
.account-icon { width:46px; height:46px; border-radius:12px; background:#edf4ff; color:#1557d5; display:flex; align-items:center; justify-content:center; font-size:1.15rem; }
.cash-card .account-icon { background:#effcf4; color:#13a454; }
.account-balance { font-size:1.65rem; font-weight:800; color:#184ccf; margin-top:1rem; }
.cash-card .account-balance { color:#13a454; }
.account-meta { color:#8a99af; font-size:.74rem; }
.overview-stat { color:#fff; border-radius:14px; padding:1.15rem 1.25rem; min-height:150px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.overview-stat .overview-icon { position:absolute; top:1rem; left:1.2rem; width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; }
.overview-stat span { text-transform:uppercase; letter-spacing:.05em; font-size:.68rem; font-weight:700; opacity:.8; }
.overview-stat strong { font-size:1.55rem; line-height:1.2; margin:.2rem 0; }
.overview-stat small { opacity:.75; }
.stat-income { background:linear-gradient(135deg,#1f4fbd,#2d65e5); }
.stat-expense { background:linear-gradient(135deg,#b51e28,#e4272e); }
.stat-net { background:linear-gradient(135deg,#0781a8,#11a0c5); }
.stat-position { background:linear-gradient(135deg,#0e7d3c,#17954b); }
@media(max-width:767px){.finance-hero{align-items:flex-start;flex-direction:column}.finance-hero>div:last-child{width:100%}.finance-hero .btn{flex:1}.mf-content{padding:1rem}}
@media print {.mf-sidebar,.mf-topbar,.finance-hero .btn{display:none!important}.mf-main{margin:0;width:100%}.mf-content{padding:0}}

/* ---------- Premium dashboard ---------- */
.dashboard-hero{background:linear-gradient(135deg,#0b1b3a 0%,#12366e 58%,#1050a0 100%);border-radius:18px;padding:1.5rem 1.65rem;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 14px 32px rgba(15,45,90,.18)}
.dashboard-hero h2{font-weight:700;font-size:1.55rem}.dashboard-hero p{color:#bfd2ee}.dashboard-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#80b5ff;font-weight:700;margin-bottom:.45rem}.dashboard-hero .btn{border:0;font-weight:600;border-radius:9px}
.dashboard-kpi{min-height:154px;border-radius:15px;padding:1.15rem 1.25rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.08);display:flex;flex-direction:column;justify-content:flex-end}.dashboard-kpi:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.09);right:-35px;top:-38px}.dashboard-kpi .kpi-icon{position:absolute;top:1rem;left:1.2rem;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:1.1rem}.dashboard-kpi .kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.82}.dashboard-kpi strong{font-size:1.55rem;line-height:1.25;margin:.18rem 0}.dashboard-kpi small{opacity:.78}.kpi-blue{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.kpi-green{background:linear-gradient(135deg,#047857,#16a34a)}.kpi-amber{background:linear-gradient(135deg,#b45309,#f59e0b)}.kpi-red{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.dashboard-mini{background:#fff;border:1px solid #e8edf4;border-radius:13px;padding:1rem 1.1rem;display:flex;align-items:center;gap:.9rem;height:100%;box-shadow:0 2px 7px rgba(15,23,42,.035)}.dashboard-mini>i{width:40px;height:40px;border-radius:11px;background:#f1f5f9;display:grid;place-items:center;font-size:1rem}.dashboard-mini div{display:flex;flex-direction:column}.dashboard-mini span{font-size:.76rem;color:#64748b}.dashboard-mini strong{font-size:1.08rem;color:#0f172a}
.dashboard-panel{padding:0;overflow:hidden;border-radius:15px}.panel-heading{padding:1rem 1.15rem;border-bottom:1px solid #eef2f6;display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-heading h6{margin:0;font-weight:700;color:#0f172a}.panel-heading span{font-size:.73rem;color:#8492a6}.panel-heading a{font-size:.77rem;font-weight:600}.chart-wrap{height:330px;padding:1rem 1.1rem 1.25rem}.chart-wrap-doughnut{height:330px;padding:1.2rem}
.finance-total-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;padding:1rem 1.1rem}.finance-total-row>div{background:#f8fafc;border:1px solid #edf1f5;border-radius:10px;padding:.75rem}.finance-total-row span{display:block;font-size:.7rem;color:#64748b}.finance-total-row strong{display:block;margin-top:.15rem}.finance-total-row .grand{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.account-balance-list{padding:0 1.1rem 1rem}.account-balance-list a{display:flex;align-items:center;gap:.75rem;padding:.7rem .1rem;border-bottom:1px solid #eef2f6;color:#1e293b}.account-balance-list a:last-child{border-bottom:0}.account-symbol{width:34px;height:34px;border-radius:9px;background:#eaf2ff;color:#1d4ed8;display:grid;place-items:center}.account-name{flex:1;font-size:.8rem;font-weight:600}.account-name small{display:block;color:#94a3b8;font-weight:400}.account-balance-list strong{font-size:.82rem;color:#047857}
.dashboard-table thead th{background:#f8fafc}.dashboard-table td{padding:.75rem 1rem}.dashboard-table td strong,.dashboard-table td small{display:block}.dashboard-table td small{font-size:.7rem;color:#94a3b8}.activity-list{padding:.35rem 1rem .75rem}.activity-item{display:flex;align-items:center;gap:.7rem;padding:.75rem .1rem;border-bottom:1px solid #eef2f6}.activity-item:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.activity-icon.success{background:#eaf8f0;color:#16a34a}.activity-icon.primary{background:#eaf2ff;color:#2563eb}.activity-icon.danger{background:#feecec;color:#dc2626}.activity-item div{flex:1;min-width:0}.activity-item strong,.activity-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item strong{font-size:.8rem}.activity-item small{font-size:.69rem;color:#94a3b8}.activity-item b{font-size:.78rem;color:#047857;white-space:nowrap}.dashboard-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#94a3b8;padding:1rem}.dashboard-empty i{font-size:1.5rem;margin-bottom:.55rem}.dashboard-empty p{margin:0;font-size:.8rem}.dashboard-empty.compact{min-height:90px}
@media(max-width:767px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero h2{font-size:1.25rem}.dashboard-kpi{min-height:142px;padding:1rem}.dashboard-kpi strong{font-size:1.18rem}.chart-wrap,.chart-wrap-doughnut{height:285px}.finance-total-row{grid-template-columns:1fr}.mf-content{padding:1rem}}


/* ---------- Company branding ---------- */
.mf-sidebar .brand { min-height: 72px; }
.mf-sidebar-logo {
  width: 42px; height: 42px; object-fit: contain; flex: 0 0 42px;
  padding: 3px; border-radius: 9px; background: #fff;
}
.mf-sidebar-logo-fallback {
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.08); color: #5fa8ff;
}
.mf-brand-name { line-height: 1.2; overflow-wrap: anywhere; }
.mf-print-branding { display: none; }

@media print {
  @page { margin: 12mm; }
  body { background: #fff !important; color: #111 !important; }
  .mf-sidebar, .mf-topbar, .no-print, .btn, .dataTables_filter,
  .dataTables_length, .dataTables_paginate, .dataTables_info { display: none !important; }
  .mf-main { margin-left: 0 !important; width: 100% !important; }
  .mf-content { padding: 0 !important; }
  .mf-print-branding {
    display: block !important; text-align: center; margin: 0 0 18px;
    padding-bottom: 12px; border-bottom: 2px solid #222; font-size: 11px;
  }
  .mf-print-branding img { max-width: 90px; max-height: 62px; object-fit: contain; margin-bottom: 5px; }
  .mf-print-company-name { font-size: 18px; font-weight: 700; line-height: 1.2; }
  .mf-print-document-title { margin-top: 7px; font-size: 14px; font-weight: 700; text-transform: uppercase; }
  .mf-card { box-shadow: none !important; border-color: #bbb !important; }
  a { color: #111 !important; text-decoration: none !important; }
}

/* ---------- Reporting center ---------- */
.reports-hero{background:linear-gradient(135deg,#0d2b4e,#1050a0);color:#fff;border-radius:16px;padding:1.6rem 1.75rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 12px 30px rgba(13,43,78,.18)}
.reports-kicker{font-size:.68rem;letter-spacing:.14em;font-weight:700;color:#a9d1ff}.report-link{display:block}.report-card{position:relative;padding:1.15rem;display:flex;gap:1rem;align-items:center;transition:.2s ease;border-color:#e7ecf3}.report-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,80,160,.12);border-color:#bcd2ef}.report-card-featured{background:linear-gradient(145deg,#f6faff,#edf5ff);border-color:#bcd2ef}.report-icon{width:46px;height:46px;min-width:46px;border-radius:13px;background:#e8f0fb;color:#1050a0;display:flex;align-items:center;justify-content:center;font-size:1.05rem}.report-arrow{margin-left:auto;color:#9aa8ba}.report-summary-card{padding:1rem 1.15rem;border-left:4px solid var(--mf-primary)}.report-period{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e8ecf1;padding-bottom:.75rem}.report-table{font-size:.82rem}.report-table th{white-space:nowrap}.report-table td{white-space:nowrap}
@media(max-width:767px){.reports-hero{align-items:flex-start;flex-direction:column}.reports-hero .btn{width:100%}.report-period{flex-direction:column}}
@media print{.reports-hero,.report-link,.no-print{display:none!important}.report-page .mf-card{box-shadow:none!important;border:0!important}.report-summary-card{border:1px solid #ddd!important}.report-table{font-size:9.5px}.report-table th,.report-table td{padding:4px!important}.mf-content{padding:0!important}}

/* =====================================================================
   MFMS UNIFIED REPORT-STYLE UI SYSTEM
   Applies the Reporting Center visual language across the full project.
   ===================================================================== */
:root{
  --mf-primary:#1050a0;--mf-primary-dark:#0a3975;--mf-primary-soft:#edf5ff;
  --mf-navy:#0b203b;--mf-surface:#ffffff;--mf-bg:#f3f6fb;--mf-border:#e4eaf2;
  --mf-text:#172033;--mf-muted:#718096;--mf-radius:16px;--mf-shadow:0 10px 30px rgba(24,52,91,.07);
}
body{background:linear-gradient(180deg,#f7f9fc 0,#f2f5fa 100%);color:var(--mf-text)}
.mf-sidebar{background:linear-gradient(180deg,#091d35 0%,#0d2b4e 55%,#0a2340 100%);box-shadow:8px 0 30px rgba(8,29,53,.12)}
.mf-sidebar .brand{padding:1rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}
.mf-sidebar .nav-section-label{padding:1.05rem 1.25rem .4rem;color:#7898bd;font-size:.65rem;letter-spacing:.13em;font-weight:700}
.mf-sidebar .nav-link{margin:2px 10px;padding:.68rem .85rem;border-radius:10px;border-left:0;color:#c8d8eb;transition:.18s ease}
.mf-sidebar .nav-link:hover{background:rgba(255,255,255,.075);transform:translateX(2px)}
.mf-sidebar .nav-link.active{background:linear-gradient(135deg,#135fb8,#0f4e98);box-shadow:0 7px 17px rgba(8,55,110,.35);border-left:0}
.mf-sidebar .nav-link i{width:20px}.mf-sub-link{margin-left:18px!important;padding-left:1rem!important;border-left:1px solid rgba(255,255,255,.12)!important;border-radius:0 9px 9px 0!important}
.mf-topbar{height:68px;padding:0 1.65rem;border-bottom:1px solid var(--mf-border);box-shadow:0 4px 18px rgba(21,45,80,.045);backdrop-filter:blur(10px)}
.mf-topbar h6{color:#1f2a44!important;font-size:.94rem}.mf-topbar .user-chip{padding:.38rem .55rem;border-radius:12px;transition:.2s}.mf-topbar .user-chip:hover{background:#f4f7fb}.mf-topbar .user-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#eaf3ff,#dbeaff)}
.mf-content{padding:1.65rem;max-width:1680px;margin:0 auto;width:100%}
.mf-content>h1,.mf-content>h2,.mf-content>h3,.mf-content>h4{font-weight:750;color:#17223a;letter-spacing:-.02em}
.mf-content>.d-flex:first-child,.mf-content>.row:first-child{position:relative}
.mf-card,.card{border:1px solid var(--mf-border)!important;border-radius:var(--mf-radius)!important;box-shadow:var(--mf-shadow)!important;background:rgba(255,255,255,.98)}
.card-header,.mf-card-header{background:#fff!important;border-bottom:1px solid #edf1f6!important;padding:1rem 1.2rem!important;border-radius:16px 16px 0 0!important}
.card-body{padding:1.2rem}.card-footer{background:#fbfcfe;border-top:1px solid #edf1f6}
.table-responsive{border-radius:13px}.table{margin-bottom:0}.table thead th{background:#f6f8fc!important;color:#65738a!important;padding:.78rem .9rem!important;border-bottom:1px solid #e7edf4!important;font-size:.69rem!important;letter-spacing:.075em}.table tbody td{padding:.82rem .9rem;border-color:#edf1f5;color:#334155}.table tbody tr{transition:.15s}.table tbody tr:hover{background:#f8fbff}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#fbfcfe}
.form-label{font-size:.75rem;font-weight:700;color:#526077;margin-bottom:.42rem}.form-control,.form-select{border:1px solid #dbe3ee;border-radius:10px;min-height:42px;padding:.58rem .78rem;background:#fff;color:#263248;box-shadow:0 1px 2px rgba(16,24,40,.02);transition:.18s}.form-control:focus,.form-select:focus{border-color:#72a7e4;box-shadow:0 0 0 .22rem rgba(16,80,160,.12)}textarea.form-control{min-height:105px}.input-group-text{border-color:#dbe3ee;background:#f7f9fc;color:#66758c}
.btn{border-radius:10px;font-weight:600;padding:.56rem .9rem;box-shadow:none}.btn-sm{border-radius:8px;padding:.38rem .65rem}.btn-primary{background:linear-gradient(135deg,#1261b8,#104f9d);border-color:#1050a0;box-shadow:0 5px 13px rgba(16,80,160,.2)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(16,80,160,.26)}.btn-success{background:linear-gradient(135deg,#198754,#149263);border-color:#198754}.btn-danger{background:linear-gradient(135deg,#c83243,#b82739)}.btn-outline-secondary{border-color:#d7dfeb;color:#536176}.btn-outline-secondary:hover{background:#edf2f8;color:#243149;border-color:#ccd7e5}
.alert{border:0;border-radius:12px;box-shadow:0 7px 18px rgba(16,24,40,.055)}.alert-success{background:#eafaf1;color:#12673d}.alert-danger{background:#fff0f1;color:#9c2534}.alert-warning{background:#fff8e8;color:#8b5b08}.alert-info{background:#edf7ff;color:#195f92}
.badge{border-radius:999px;padding:.45em .72em;font-weight:650}.pagination .page-link{border-color:#e3e9f1;color:#3f5f83}.pagination .page-item.active .page-link{background:#1050a0;border-color:#1050a0}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #dbe3ee!important;border-radius:9px;padding:.42rem .6rem;background:#fff}.dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:8px!important;border:0!important}.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:#1050a0!important;color:#fff!important;border:0!important}
.modal-content{border:0;border-radius:18px;box-shadow:0 25px 60px rgba(10,32,60,.22)}.modal-header{border-bottom:1px solid #edf1f6}.modal-footer{border-top:1px solid #edf1f6}
.dropdown-menu{border:1px solid #e4eaf2;border-radius:12px;box-shadow:0 16px 35px rgba(22,42,72,.13);padding:.45rem}.dropdown-item{border-radius:8px;padding:.55rem .7rem}
.mf-stat-card{border:1px solid #e4eaf2;background:#fff;box-shadow:var(--mf-shadow);padding:1.2rem}.mf-stat-card .stat-icon{border-radius:13px}.mf-stat-card .stat-value{color:#17223a}.mf-stat-card .stat-label{text-transform:uppercase;letter-spacing:.05em;font-weight:650;font-size:.69rem}
.receipt-box{border:1px solid #dce4ee;border-radius:16px;box-shadow:var(--mf-shadow);padding:1.5rem}.mf-empty{background:#fafcff;border:1px dashed #cfdaea;border-radius:14px;margin:.8rem}
.nav-tabs{border-bottom:1px solid #e2e8f0}.nav-tabs .nav-link{border:0;color:#65748a;font-weight:600;padding:.75rem 1rem}.nav-tabs .nav-link.active{color:#1050a0;border-bottom:2px solid #1050a0;background:transparent}
.auth-card,.mf-auth-card{box-shadow:0 28px 70px rgba(5,24,50,.28)!important;border:0!important}.mf-auth-wrap{background:radial-gradient(circle at 20% 20%,#1f65ad 0,transparent 35%),linear-gradient(135deg,#071a31,#0d3b70)}
@media(max-width:991px){.mf-topbar{padding:0 1rem}.mf-content{padding:1.1rem}.mf-sidebar{box-shadow:15px 0 40px rgba(4,20,38,.3)}}
@media(max-width:575px){.mf-content{padding:.85rem}.card-body{padding:1rem}.table thead th,.table tbody td{padding:.68rem .7rem!important}.btn{padding:.5rem .72rem}.reports-hero,.finance-hero,.dashboard-hero{border-radius:14px}}

/* Password visibility and reset screens */
.password-field .form-control { border-right: 0; }
.password-field .password-toggle {
  min-width: 46px;
  border-color: #dbe2ea;
  background: #fff;
  color: #64748b;
}
.password-field .password-toggle:hover,
.password-field .password-toggle:focus {
  background: #f8fafc;
  color: var(--mf-primary);
  box-shadow: none;
}
.auth-icon-circle {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mf-primary-light);
  color: var(--mf-primary);
  font-size: 1.25rem;
}


/* Settings-managed login background and browser branding */
.mf-auth-wrap.has-custom-background {
  position: relative;
  background-image: linear-gradient(135deg, rgba(5, 24, 50, .82), rgba(13, 59, 112, .66)), var(--mf-login-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.mf-auth-wrap.has-custom-background::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 18%, rgba(55, 145, 255, .20), transparent 38%);
  pointer-events: none;
}
.mf-auth-wrap.has-custom-background .mf-auth-card { position: relative; z-index: 1; }
.mf-auth-logo { max-width: 120px; max-height: 72px; object-fit: contain; }
.mf-setting-image-preview {
  width: 100%;
  height: 150px;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.mf-setting-icon-preview {
  width: 48px;
  height: 48px;
  object-fit: contain;
  padding: 5px;
  border: 1px solid #dbe3ee;
  border-radius: 10px;
  background: #fff;
}

/* Full debit / credit transaction ledger */
.ledger-summary { border-left: 4px solid var(--mf-primary); }
.ledger-table th { white-space: nowrap; }
.ledger-account-row td {
  background: #eaf1fb !important;
  color: var(--mf-navy);
  font-weight: 700;
  border-top: 2px solid #cbdaf0;
}
.ledger-table tfoot th { background: #f1f5f9; border-top: 2px solid #cbd5e1; }
@media print {
  .ledger-legend, .no-print { display: none !important; }
  .ledger-table { font-size: 10px; }
  .ledger-account-row td { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
