/* BSN FINANCEMENT Theme Pro - Modern UI overhaul */
:root{
  --primary-color:#0056b3;
  --primary-600:#1d4ed8;
  --primary-700:#1e40af;
  --secondary-color:#7c3aed;
  --success:#10b981;
  --warning:#f59e0b;
  --danger:#ef4444;
  --gray-900:#111827;
  --gray-800:#1f2937;
  --gray-700:#374151;
  --gray-600:#4b5563;
  --gray-500:#6b7280;
  --gray-300:#d1d5db;
  --gray-200:#e5e7eb;
  --gray-100:#f3f4f6;
  --white:#ffffff;
  --radius:14px;
  --shadow-lg:0 20px 60px rgba(17,24,39,0.15);
  --shadow-md:0 10px 30px rgba(17,24,39,0.12);
}

body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--gray-800);}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.container-fluid{width:100%;padding:0 20px;}

.btn{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:10px 16px;border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none;}
.btn-primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600);} 
.btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700);} 
.btn-outline{background:#fff;color:var(--gray-800);border-color:var(--gray-300);} 
.btn-outline:hover{border-color:var(--primary-600);color:var(--primary-600);} 
.btn-secondary{background:var(--gray-800);color:#fff;border-color:var(--gray-800);} 
.btn-sm{padding:8px 12px;font-size:14px;border-radius:8px;}
.btn-xl{padding:14px 22px;font-size:18px;border-radius:12px;}

.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);} 
.card-header{padding:16px 20px;border-bottom:1px solid var(--gray-200);font-weight:700;}
.card-body{padding:20px;}

.table{width:100%;border-collapse:collapse;}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--gray-200);text-align:left;}
.table thead th{font-size:12px;text-transform:uppercase;color:var(--gray-600);}

.site-header,.admin-header{backdrop-filter:saturate(180%) blur(10px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--gray-200);} 
.site-header .header-content,.admin-header .header-content{display:flex;align-items:center;gap:16px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--primary-color);font-weight:800;}
.brand-logo{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 16px rgba(59,130,246,.35);} 

.hero{position:relative;border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden;}
.hero .container{position:relative;z-index:2;}
.hero .hero-content h1{font-weight:800;letter-spacing:-0.02em;}
.hero .hero-content .lead{opacity:.95;}

.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;background:var(--gray-100);color:var(--gray-700);} 
.badge-pending{background:#fef3c7;color:#92400e;}
.badge-completed{background:#d1fae5;color:#065f46;}
.badge-rejected{background:#fee2e2;color:#991b1b;}

.empty-state{padding:36px;text-align:center;color:var(--gray-600);} 

.nav .nav-link{color:var(--gray-700);text-decoration:none;padding:8px 10px;border-radius:8px;}
.nav .nav-link:hover{background:var(--gray-100);color:var(--primary-600);} 

/* Responsive tweaks */
@media (max-width: 768px){
  .site-header .header-content,.admin-header .header-content{padding:10px 0;}
  .btn-xl{font-size:16px;padding:12px 18px;}
}

/* Accent color fallback for form controls */
input[type="range"],
input[type="checkbox"],
input[type="radio"]{
  accent-color: var(--primary-600, var(--primary-color, #0056b3));
}
