/* ==========================================================================
   LoanPro Brand Theme
   Lightweight override layer on top of AdminLTE / Bootstrap 4.
   Palette:
     --lp-primary        #143D80  deep finance blue
     --lp-primary-dark   #0B2A5C  darker blue (hover/active)
     --lp-navy           #0B1F3A  sidebar / header navy
     --lp-accent         #00B07A  teal-green (growth, positive amounts)
     --lp-accent-dark    #018F63
   ========================================================================== */

:root {
  --lp-primary: #143D80;
  --lp-primary-dark: #0B2A5C;
  --lp-navy: #0B1F3A;
  --lp-accent: #00B07A;
  --lp-accent-dark: #018F63;
}

body, .content-wrapper {
  font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Brand / primary color overrides */
.bg-primary { background-color: var(--lp-primary) !important; }
.text-primary { color: var(--lp-primary) !important; }
.border-primary { border-color: var(--lp-primary) !important; }

.btn-primary {
  background-color: var(--lp-primary) !important;
  border-color: var(--lp-primary) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--lp-primary-dark) !important;
  border-color: var(--lp-primary-dark) !important;
}
.btn-outline-primary {
  color: var(--lp-primary) !important;
  border-color: var(--lp-primary) !important;
}
.btn-outline-primary:hover {
  background-color: var(--lp-primary) !important;
  color: #fff !important;
}

.badge-primary { background-color: var(--lp-primary) !important; }

.card-primary:not(.card-outline) > .card-header {
  background-color: var(--lp-primary) !important;
}
.card-primary.card-outline {
  border-top-color: var(--lp-primary) !important;
}

/* Growth / teal accent -- used for CTAs and positive money figures */
.bg-accent { background-color: var(--lp-accent) !important; color: #fff !important; }
.text-accent { color: var(--lp-accent) !important; }
.text-money-positive { color: var(--lp-accent-dark) !important; font-weight: 600; }
.text-money-negative { color: #dc3545 !important; font-weight: 600; }

/* Sidebar */
.sidebar-dark-primary .brand-link:not([class*="navbar"]) {
  background-color: var(--lp-navy) !important;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.sidebar-dark-primary,
.sidebar-dark-primary .os-theme-light > .os-scrollbar > .os-scrollbar-track {
  background-color: var(--lp-navy) !important;
}
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item .nav-treeview > .nav-item > .nav-link.active {
  background-color: var(--lp-primary) !important;
  color: #fff !important;
}
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
  background-color: rgba(255,255,255,.06);
}
.nav-header {
  color: var(--lp-accent) !important;
  letter-spacing: .04em;
}

/* Top navbar */
.main-header.navbar-light {
  border-bottom: 1px solid #e9ecef;
}

/* Login / auth pages */
.login-page, .register-page {
  background: linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-primary) 55%, var(--lp-accent-dark) 100%);
}
.login-logo a, .register-logo a { color: #fff; font-weight: 700; letter-spacing: .02em; }
.login-box-msg { color: #4b5563; }

/* Landing page CTA (root index.php uses btn-success / btn-danger) */
.navbar-brand { font-weight: 700; letter-spacing: .01em; }

/* Info boxes / stat tiles - keep bootstrap semantic colors (info/success/danger/warning)
   but nudge purple tiles toward the brand accent for consistency */
.bg-purple { background-color: var(--lp-primary) !important; }

/* Loan status badges (used across loan module pages) */
.badge-loan-pending  { background-color: #f0ad4e; color: #212529; }
.badge-loan-approved { background-color: #17a2b8; color: #fff; }
.badge-loan-disbursed,
.badge-loan-active   { background-color: var(--lp-accent); color: #fff; }
.badge-loan-completed { background-color: var(--lp-primary); color: #fff; }
.badge-loan-rejected,
.badge-loan-defaulted { background-color: #dc3545; color: #fff; }
.badge-loan-overdue  { background-color: #dc3545; color: #fff; }

/* Small footer/version tweak */
.main-footer strong { color: var(--lp-primary); }


/* LoanPro Sidebar UX refinement */
.main-sidebar { box-shadow: 4px 0 24px rgba(8, 24, 48, .12) !important; }
.main-sidebar .brand-link { height: 58px; display: flex; align-items: center; padding: .7rem 1rem; }
.main-sidebar .brand-image { width: 34px; height: 34px; object-fit: contain; margin-left: 0; margin-right: .65rem; }
.main-sidebar .brand-text { font-size: 1.05rem; font-weight: 700 !important; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.main-sidebar .user-panel { margin: 12px 12px 8px !important; padding: 10px !important; border-radius: 10px; border-bottom: 0 !important; background: rgba(255,255,255,.045); align-items: center; }
.main-sidebar .user-panel .image img { width: 34px; height: 34px; object-fit: cover; border-radius: 50%; }
.main-sidebar .user-panel .info { padding-left: 10px; min-width: 0; }
.main-sidebar .user-panel .info a { font-weight: 600; font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.main-sidebar .nav-sidebar { padding: 0 8px 18px; }
.main-sidebar .nav-header { padding: 15px 10px 6px !important; font-size: .64rem !important; font-weight: 800 !important; letter-spacing: .11em !important; opacity: .88; }
.main-sidebar .nav-sidebar > .nav-item { margin-bottom: 2px; }
.main-sidebar .nav-sidebar .nav-link { min-height: 40px; display: flex; align-items: center; border-radius: 8px !important; padding: .52rem .72rem !important; font-size: .87rem; transition: background-color .16s ease, color .16s ease, transform .16s ease; }
.main-sidebar .nav-sidebar .nav-link p { margin-left: 2px; line-height: 1.2; }
.main-sidebar .nav-sidebar .nav-icon { width: 1.45rem !important; margin-right: .45rem !important; font-size: .94rem !important; text-align: center; }
.main-sidebar .nav-sidebar > .nav-item > .nav-link.active { box-shadow: 0 6px 14px rgba(20,61,128,.28); font-weight: 600; }
.main-sidebar .nav-sidebar > .nav-item > .nav-link:hover { transform: translateX(2px); }
.main-sidebar .nav-treeview { padding: 3px 0 5px 10px; }
.main-sidebar .nav-treeview > .nav-item > .nav-link { min-height: 34px; padding: .4rem .62rem !important; font-size: .82rem; color: rgba(255,255,255,.72); }
.main-sidebar .nav-treeview > .nav-item > .nav-link .nav-icon { font-size: .5rem !important; width: 1.2rem !important; }
.main-sidebar .nav-treeview > .nav-item > .nav-link.active { font-weight: 600; }
.main-sidebar .lp-logout-link { margin-top: 4px; color: #ffb4b4 !important; border: 1px solid rgba(220,53,69,.18); }
.main-sidebar .lp-logout-link:hover { background: rgba(220,53,69,.13) !important; color: #fff !important; }
.sidebar-collapse .main-sidebar .nav-header { display: none; }


/* LoanPro premium sidebar brand area */
.loanpro-brand-link {
  min-height: 74px;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}
.loanpro-brand-mark {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 5px 14px rgba(0,0,0,.18);
}
.loanpro-brand-logo {
  display: block;
  max-width: 34px;
  max-height: 34px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.loanpro-brand-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.08;
}
.loanpro-brand-name {
  display: block;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: .015em;
}
.loanpro-brand-tagline {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.64);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sidebar-collapse .loanpro-brand-copy { display: none; }
.sidebar-collapse .loanpro-brand-link { justify-content: center; padding-left: 8px !important; padding-right: 8px !important; }
.sidebar-collapse .loanpro-brand-mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 10px; }
.sidebar-collapse .loanpro-brand-logo { max-width: 29px; max-height: 29px; }
@media (max-width: 991.98px) {
  .loanpro-brand-link { min-height: 68px; }
}

/* LoanPro Modern Command Topbar */
.main-header.loanpro-topbar{min-height:64px;border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 4px 18px rgba(15,23,42,.05);background:rgba(255,255,255,.97)!important;backdrop-filter:blur(12px);padding:.35rem .8rem}
.loanpro-topbar .nav-link{border-radius:10px;margin:0 2px;color:#334155!important}
.loanpro-topbar .nav-link:hover{background:#f1f5f9;color:#0f172a!important}
.lp-topbar-title{display:flex;align-items:center;gap:10px;margin-left:8px;min-width:170px}.lp-topbar-title .lp-kicker{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;line-height:1}.lp-topbar-title .lp-title{font-size:14px;font-weight:700;color:#0f172a;line-height:1.15;margin-top:3px}
.lp-global-search{width:min(360px,32vw);margin-left:18px}.lp-global-search .input-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.lp-global-search input{border:0!important;background:transparent!important;height:38px;box-shadow:none!important;font-size:13px}.lp-global-search .input-group-text,.lp-global-search button{border:0;background:transparent;color:#64748b}.lp-global-search button:hover{color:#0f172a}
.lp-status-chip{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:600;white-space:nowrap}.lp-status-chip strong{font-size:13px;color:#0f172a}.lp-status-chip.lp-danger{background:#fff7f7;border-color:#fee2e2}.lp-status-chip.lp-danger i,.lp-status-chip.lp-danger strong{color:#dc2626}.lp-status-chip.lp-warning{background:#fffaf0;border-color:#fde7bd}.lp-status-chip.lp-warning i,.lp-status-chip.lp-warning strong{color:#b45309}
.lp-quick-btn{display:flex!important;align-items:center;gap:7px;font-size:12px;font-weight:600}.lp-profile{display:flex;align-items:center;gap:9px;padding:4px 8px!important}.lp-profile-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#fff;font-size:12px;font-weight:700}.lp-profile-copy{display:block;line-height:1.05;text-align:left}.lp-profile-copy strong{display:block;font-size:12px;color:#0f172a;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-profile-copy small{font-size:10px;color:#94a3b8}.lp-clock{font-size:11px;color:#64748b;padding:0 7px;white-space:nowrap}.lp-dropdown-header{padding:11px 14px;border-bottom:1px solid #eef2f7}.lp-dropdown-header strong{display:block;font-size:13px;color:#0f172a}.lp-dropdown-header small{color:#94a3b8}.lp-notification-item{white-space:normal;padding:10px 14px!important}.lp-notification-item p{margin:0;font-size:12px;color:#334155}.lp-notification-item small{color:#94a3b8}.lp-topbar-badge{position:absolute;top:4px;right:2px;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:9px}.lp-nav-relative{position:relative}.lp-mobile-search{display:none}
@media(max-width:1100px){.lp-status-chip{display:none}.lp-global-search{width:min(300px,33vw)}}
@media(max-width:767px){.main-header.loanpro-topbar{min-height:58px;padding:.25rem .35rem}.lp-topbar-title,.lp-global-search,.lp-clock,.lp-profile-copy{display:none}.lp-mobile-search{display:block}.loanpro-topbar .navbar-nav.ml-auto{margin-left:auto!important}.lp-profile{padding:4px!important}}

/* ===== LoanPro Finance Suite ===== */
.finance-page .content-header{padding-bottom:8px}.finance-page .content-header h1{font-weight:700;letter-spacing:-.02em}.finance-hero{background:#fff;border:1px solid #e8edf3;border-radius:16px;padding:22px 24px;margin-bottom:18px;box-shadow:0 8px 28px rgba(31,45,61,.05)}.finance-hero .eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#6c757d;margin-bottom:6px}.finance-hero h2{font-size:24px;font-weight:700;margin:0 0 6px;color:#1f2937}.finance-hero p{margin:0;color:#6b7280;max-width:760px}.finance-hero .finance-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.finance-hero .btn{border-radius:9px;font-weight:600}.finance-kpi{background:#fff;border:1px solid #e8edf3;border-radius:14px;padding:17px 18px;height:100%;position:relative;overflow:hidden;box-shadow:0 5px 18px rgba(31,45,61,.04)}.finance-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#007bff}.finance-kpi.success:before{background:#28a745}.finance-kpi.warning:before{background:#f0ad4e}.finance-kpi.danger:before{background:#dc3545}.finance-kpi.info:before{background:#17a2b8}.finance-kpi .kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7b8794;font-weight:700}.finance-kpi .kpi-value{font-size:22px;line-height:1.25;font-weight:750;color:#17202a;margin:6px 0 3px}.finance-kpi .kpi-note{font-size:12px;color:#8a94a0}.finance-card{border:1px solid #e8edf3;border-radius:15px;box-shadow:0 6px 20px rgba(31,45,61,.04);overflow:hidden}.finance-card .card-header{background:#fff;border-bottom:1px solid #edf1f5;padding:16px 18px}.finance-card .card-title{font-size:15px;font-weight:700;color:#29323d}.finance-card .card-body{padding:18px}.finance-form label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5f6b78;font-weight:700}.finance-form .form-control,.finance-form .custom-select{border-radius:9px;border-color:#dce3ea;min-height:42px}.finance-form textarea.form-control{min-height:92px}.finance-form .form-control:focus{border-color:#80bdff;box-shadow:0 0 0 .15rem rgba(0,123,255,.10)}.finance-submit{border-radius:9px;padding:9px 18px;font-weight:700}.finance-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.finance-toolbar .form-control{height:38px;border-radius:8px}.finance-table thead th{border-top:0;border-bottom:1px solid #e6ebf0!important;background:#f8fafc;color:#637083;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;white-space:nowrap}.finance-table td{vertical-align:middle;border-top:1px solid #f0f3f6;color:#303a45}.finance-table .money{font-weight:700;white-space:nowrap}.finance-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef3f8;color:#52606d}.finance-badge.in{background:#e7f7ed;color:#208344}.finance-badge.out{background:#fdecec;color:#b22d37}.finance-badge.warn{background:#fff5df;color:#9b6810}.finance-empty{padding:38px 15px;text-align:center;color:#8a94a0}.finance-empty i{font-size:30px;margin-bottom:9px;display:block;color:#c6ced6}.finance-section-title{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:#7d8895;font-weight:700;margin:0 0 12px}.finance-risk-strip{border-radius:12px;padding:14px 16px;background:#fff8e8;border:1px solid #f5dfac;color:#75551a}.finance-danger-strip{border-radius:12px;padding:14px 16px;background:#fff0f1;border:1px solid #f2c7cb;color:#8c2630}.finance-pill-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.finance-pill-nav a{padding:7px 11px;border-radius:999px;background:#eef3f8;color:#536170;font-size:12px;font-weight:700}.finance-pill-nav a:hover{text-decoration:none;background:#e1e9f1;color:#2f3b47}@media(max-width:767.98px){.finance-hero{padding:18px}.finance-hero .finance-actions{justify-content:flex-start;margin-top:14px}.finance-kpi{margin-bottom:10px}.finance-table{font-size:13px}.finance-toolbar{width:100%}}

/* Finance KPI icons */
.finance-kpi .kpi-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.finance-kpi .kpi-top .kpi-label{margin-bottom:0;flex:1}.finance-kpi .kpi-icon{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:rgba(13,110,253,.09);color:#0d6efd;font-size:15px;flex:0 0 38px}.finance-kpi.success .kpi-icon{background:rgba(40,167,69,.10);color:#28a745}.finance-kpi.warning .kpi-icon{background:rgba(255,193,7,.14);color:#b58100}.finance-kpi.danger .kpi-icon{background:rgba(220,53,69,.10);color:#dc3545}.finance-kpi.info .kpi-icon{background:rgba(23,162,184,.10);color:#17a2b8}
