/* BestFilings ERP — brand theme (matches bestfilings.com) */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&display=swap');

:root{
  --bf-green:#03b072;
  --bf-green-dark:#029862;
  --bf-green-darker:#027a52;
  --bf-green-soft:#e6f7f0;
}

body, .navbar-brand, h1,h2,h3,h4,h5,h6, .btn, .form-control, .form-select{
  font-family:'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
body{ background:#f5f9f7 !important; }

/* ---- Buttons / links ---- */
.btn{ border-radius:9px; font-weight:500; }
.btn-primary{
  --bs-btn-bg:var(--bf-green); --bs-btn-border-color:var(--bf-green);
  --bs-btn-hover-bg:var(--bf-green-dark); --bs-btn-hover-border-color:var(--bf-green-dark);
  --bs-btn-active-bg:var(--bf-green-darker); --bs-btn-active-border-color:var(--bf-green-darker);
  --bs-btn-disabled-bg:var(--bf-green); --bs-btn-disabled-border-color:var(--bf-green);
  box-shadow:0 4px 12px rgba(3,176,114,.25);
}
.btn-outline-primary{
  --bs-btn-color:var(--bf-green); --bs-btn-border-color:var(--bf-green);
  --bs-btn-hover-bg:var(--bf-green); --bs-btn-hover-border-color:var(--bf-green);
  --bs-btn-active-bg:var(--bf-green);
}
.btn-success{ --bs-btn-bg:var(--bf-green); --bs-btn-border-color:var(--bf-green);
  --bs-btn-hover-bg:var(--bf-green-dark); --bs-btn-hover-border-color:var(--bf-green-dark); }
a{ color:var(--bf-green); } a:hover{ color:var(--bf-green-dark); }
.text-primary{ color:var(--bf-green)!important; }
.bg-primary,.badge.bg-primary{ background-color:var(--bf-green)!important; }
.form-control:focus,.form-select:focus{ border-color:var(--bf-green); box-shadow:0 0 0 .2rem rgba(3,176,114,.18); }

/* ---- Sidebar: deep-green gradient ---- */
.bf-sidebar{
  background:linear-gradient(180deg,#0a6b47 0%,#05502f 100%)!important;
  color:#e2f6ec!important; border-right:none!important;
  box-shadow:2px 0 14px rgba(6,60,40,.10)!important;
}
.bf-sidebar-brand{ border-bottom:1px solid rgba(255,255,255,.12)!important; padding-top:14px!important; padding-bottom:14px!important; }
.bf-sidenav .nav-category{ color:rgba(255,255,255,.55)!important; letter-spacing:.07em; font-size:11px; }
.bf-sidenav .nav-link{
  color:#d3efe0!important; border-radius:9px; margin:2px 10px; padding:9px 12px!important; transition:all .15s;
}
.bf-sidenav .nav-link:hover{ background:rgba(255,255,255,.10)!important; color:#fff!important; }
.bf-sidenav .nav-link.active{
  background:rgba(255,255,255,.16)!important; color:#fff!important; font-weight:600;
  box-shadow:inset 3px 0 0 #8ff0c4;
}
.bf-sidenav .nav-link i{ color:inherit!important; }

/* ---- Topbar: gradient + soft shadow ---- */
.bf-topnav{
  background:linear-gradient(90deg,#03b072 0%,#04a468 100%)!important;
  box-shadow:0 2px 12px rgba(3,176,114,.22)!important;
}
.bf-avatar-sm.bg-warning{ background:#ffffff!important; color:var(--bf-green)!important; }

/* ---- Cards: rounded, soft shadow, hover lift ---- */
.bf-card,.card,.stat-card,.bf-stat-card{
  border:1px solid #eef2f0!important; border-radius:14px!important;
  box-shadow:0 2px 12px rgba(16,40,30,.05)!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.bf-card:hover,.card:hover,.stat-card:hover,.bf-stat-card:hover{
  transform:translateY(-2px); box-shadow:0 10px 26px rgba(3,176,114,.10)!important;
}
.bf-card-header{ color:var(--bf-green-darker); font-weight:600; }

/* ---- Headings ---- */
.bf-page-title, h1.h3, h2, h5.fw-bold.text-navy{ color:#0b6b46; }

/* ---- Tables ---- */
.table thead th{ background:#f1faf5!important; color:#0b6b46!important; border-bottom:2px solid #d8efe4!important; font-weight:600; }
.table-hover tbody tr:hover{ background:#f3fbf7!important; }

/* ---- Login pages ---- */
.bf-login-body{ background:linear-gradient(135deg,#e9f9f1 0%,#f5f9f7 60%)!important; min-height:100vh; margin:0; }
.bf-login-wrapper{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.bf-login-card{ max-width:420px; width:100%; margin:auto; padding:32px; background:#fff; }
.bf-login-logo{ text-align:center; }
.bf-login-card{ border-radius:18px!important; box-shadow:0 18px 50px rgba(3,110,70,.14)!important; border:none!important; }
.btn-bf-primary{ background:var(--bf-green)!important; border-color:var(--bf-green)!important; color:#fff!important; }
.btn-bf-primary:hover{ background:var(--bf-green-dark)!important; }
.bf-login-header, .bf-login-brand{ background:transparent!important; }

/* nav active accents */
.nav-link.active,.dropdown-item.active{ color:var(--bf-green)!important; }
