/* =========================================================
   BM SchoolCare theme
   Colors sampled from the reference application screenshots:
   - Sidebar / header navy      : #3f5b7a
   - Sidebar hover / active     : #33496375
   - Accent light blue (bottom bar) : #a9c9e2
   - Panel border blue          : #4f6f92
   - Page background            : #eef2f6
   ========================================================= */

:root{
  --bm-navy:        #3f5b7a;
  --bm-navy-dark:   #324a63;
  --bm-blue-light:  #a9c9e2;
  --bm-blue-lighter:#d9e6f0;
  --bm-border:      #4f6f92;
  --bm-bg:          #eef2f6;
  --bm-red:         #c0392b;
  --bm-text:        #33404d;
}

body{
  font-family: 'Inter', Arial, sans-serif;
  background: var(--bm-bg);
  color: var(--bm-text);
}

/* ---------- Top brand bar ---------- */
.bm-topbar{
  background:#fff;
  border-bottom:3px solid var(--bm-red);
  padding:.6rem 1.25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.bm-logo{ font-weight:800; font-size:1.4rem; color:var(--bm-navy); letter-spacing:.5px;}
.bm-logo span{ color:var(--bm-red); }
.bm-logo small{ display:block; font-size:.55rem; font-weight:600; color:#8a97a3; letter-spacing:1px; }
.bm-school-logo{ height:44px; width:auto; }
.bm-logo-small{ font-weight:800; font-size:.85rem; color:var(--bm-navy); letter-spacing:.5px; line-height:1; }
.bm-logo-small span{ color:var(--bm-red); }

/* ---------- Sidebar ---------- */
.bm-sidebar{
  background: var(--bm-navy);
  min-height: 100vh;
  color:#dbe6f0;
  padding-top: 1rem;
}
.bm-sidebar .sb-block{
  padding: .75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.bm-sidebar .sb-label{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:#a9bdd0;
  margin-bottom:.15rem;
}
.bm-sidebar .sb-value{
  font-weight:700;
  color:#fff;
  font-size:.95rem;
}
.bm-sidebar .nav-link{
  color:#dbe6f0;
  padding:.6rem 1.25rem;
  border-left:3px solid transparent;
  border-radius:0;
}
.bm-sidebar .nav-link:hover,
.bm-sidebar .nav-link.active{
  background: rgba(255,255,255,.10);
  color:#fff;
  border-left-color: var(--bm-blue-light);
}
.bm-sidebar .nav-link i{ width:20px; text-align:center; margin-right:.5rem;}

.bm-loginas{
  background: var(--bm-blue-light);
  color: var(--bm-navy-dark);
  font-weight:600;
  padding:.5rem 1.25rem;
}

/* ---------- Cards / Panels ---------- */
.bm-card{
  background:#fff;
  border:1px solid #dce4ec;
  border-radius:6px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.bm-card .card-header{
  background: var(--bm-blue-lighter);
  color: var(--bm-navy-dark);
  font-weight:700;
  border-bottom:1px solid #cddbe8;
}
.bm-section-title{
  background: var(--bm-navy);
  color:#fff;
  font-weight:600;
  padding:.5rem 1rem;
  border-radius:4px 4px 0 0;
}

/* ---------- Buttons ---------- */
.btn-bm-primary{
  background: var(--bm-navy);
  border-color: var(--bm-navy);
  color:#fff;
}
.btn-bm-primary:hover{ background: var(--bm-navy-dark); border-color: var(--bm-navy-dark); color:#fff;}
.btn-bm-outline{
  border-color: var(--bm-navy);
  color: var(--bm-navy);
  background:#fff;
}
.btn-bm-outline:hover{ background: var(--bm-navy); color:#fff; }

/* ---------- Tabs (Personal / Admission / Guardian) ---------- */
.nav-tabs .nav-link{ color: var(--bm-navy); font-weight:600; }
.nav-tabs .nav-link.active{
  color:#fff;
  background: var(--bm-navy);
  border-color: var(--bm-navy) var(--bm-navy) #fff;
}

/* ---------- Login page ---------- */
.bm-login-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(160deg, #fdf6ec 0%, #fbe9cf 100%);
}
.bm-login-card{
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.15);
  max-width:900px;
  width:100%;
}
.bm-login-side{
  background: #ffffff;
  color:#33404d;
  padding:3rem 2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right: 3px solid #d4a94f;
}
.bm-login-side h2{ font-weight:800; }
.bm-login-side p{ color:#5c6b7a; }
.bm-login-side hr{ border-color:rgba(212,169,79,.5) !important; }
.bm-login-form-side{
  background: linear-gradient(160deg, #fff6e6 0%, #fde9c8 100%);
}

/* ---------- Tables ---------- */
.table-bm thead{
  background: var(--bm-navy);
  color:#fff;
}
.table-bm tbody tr:hover{ background: var(--bm-blue-lighter); }

.badge-admin{ background: var(--bm-red); }
.badge-teacher{ background: var(--bm-navy); }
.badge-student{ background: #2e8b57; }

.photo-box{
  width:110px;height:130px;border:1px dashed #9db3c6;
  display:flex;align-items:center;justify-content:center;
  color:#9db3c6;font-size:.75rem;text-align:center;background:#f5f8fb;
  border-radius:4px;
}

/* ---------- Collapsible sidebar (Navigation Drawer) ---------- */
html[data-sidebar-collapsed="1"] .bm-sidebar{
  display: none !important;
}
html[data-sidebar-collapsed="1"] .bm-content-col{
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* ---------- Pagination ---------- */
.pagination .page-link{ color: var(--bm-navy); }
.pagination .page-item.active .page-link{
  background: var(--bm-navy);
  border-color: var(--bm-navy);
  color:#fff;
}
.pagination .page-link:hover{ background: var(--bm-blue-lighter); color: var(--bm-navy-dark); }
.pagination .page-item.disabled .page-link{ color:#adb5bd; }
