:root {
  --font-heading: 'Bebas Neue', 'Oswald', sans-serif;
  --font-body: 'Poppins', sans-serif;
  --primary-color: #0B2D4F;
  --secondary-color: #00e800;
  --dark-navy: #000;
  --light-bg:  #1a1a1c;
  --light: #F8FAFC;
  --text: #1e293b;
}

body {
  background: #000;
  font-family: var(--font-heading);
}

/* SIDEBAR */
.sidebar {
  background: var(--light-bg);
  min-height: 100vh;
  padding: 25px;
}

.sidebar-inner {
  width: 100%;
}

.sidebar-logo {
  margin-left: 30px;
  width: 120px;
}

.offcanvas-logo {
  margin-top: 60px;
  margin-left: 35px;
  width: 110px;
}

.logo h3 {
  color: var(--secondary-color);
  margin: 0;
}

.logo span {
  font-size: 12px;
  color: #aaa;
  letter-spacing: 1px;
}

.menu {
  list-style: none;
  padding: 0;
  margin-top: 40px;
}

.menu li {
  padding: 12px 15px;
  border-radius: 12px;
  margin-bottom: 8px;
  cursor: pointer;
  color: #fff;
  transition: 0.3s;
}

.menu li i {
  margin-right: 10px;
}

.menu li.active,
.menu li:hover {
  background: #000;
  color: var(--secondary-color);
}

.menu .logout {
  margin-top: 30px;
}

/* CONTENT */
.content {
  padding: 30px 40px;
  background: #000;
  min-height: 100vh;
}

@media(max-width:991px) {
  .content {
    padding: 20px 15px;
  }
}

.dash-box,
.dash-card {
  padding: 25px;
}


.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  color: #FFF;
}

.menu a {
  text-decoration: none;
  color: inherit;
}

/* BUTTONS */
.btn-outline {
  border: 1px solid var(--secondary-color);
  color: var(--secondary-color);
}

.btn-outline:hover {
  background: var(--secondary-color);
  color: var(--primary-color);

}

/* MOBILE TOPBAR */
.mobile-topbar {
  position: fixed !important;
  top: 0;
  z-index: 2000;
  left: 0;
  width: 100%;
  height: 60px;
  background: var(--dark-navy);
  padding: 10px 15px;
  color: #fff;
  display: flex;
}

/* give space below fixed topbar */
@media (max-width:991.98px) {
  .content {
    margin-top: 50px;
  }
}


.menu-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 22px;
}

/* OFFCANVAS */
.mobile-sidebar {
  width: 270px;
}

/* Make offcanvas full height */
.offcanvas.mobile-sidebar {
  height: 100vh;
}

/* Sidebar flex layout */
.sidebar-inner {
  height: 100%;
}

/* Menu scroll if needed */
.menu {
  overflow-y: auto;
  padding-right: 5px;
}

/* Logout fixed bottom */
.logout-box {
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Optional: nicer scroll */
.menu::-webkit-scrollbar {
  width: 4px;
}

.menu::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
}

/* Logout container */
.logout-box {
  background: var(--dark-navy);
  padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  position: sticky;
  bottom: 0;
  z-index: 10;
}

/* Logout button */
.logout-btn {
  width: 100%;
  background: none;
  border: none;
  color: var(--gold);
  font-size: 16px;
  padding: 12px 15px;
  text-align: left;
  cursor: pointer;
  color: var(--secondary-color);
}

.logout-btn i {
  margin-right: 10px;
  color: var(--secondary-color);
}

.logout-btn:hover {
  border-radius: 10px;
  background: var(--light-bg);
}

.offcanvas {
  z-index: 1050;
}

.offcanvas-backdrop {
  z-index: 1040;
}


/* FORCE offcanvas width on mobile & tablet */
@media (max-width: 991.98px) {
  .offcanvas.mobile-sidebar {
    --bs-offcanvas-width: 240px;
    /* 👈 THIS IS THE KEY */
    width: 240px;
  }
}

/* DESKTOP PERFECT WIDTH FIX */
@media (min-width: 992px) {

  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    width: 240px;
    height: 100vh;
  }

  .content {
    margin-left: 240px;
    width: calc(100% - 240px);
    /* 🔥 KEY FIX */
    max-width: calc(100% - 240px);
    overflow-x: hidden;
    height: 100vh;
    overflow-y: auto;
  }

}


html,
body {
  overflow-x: hidden !important;
  width: 100%;
}

/* Bootstrap row fix */
.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Container fix */
.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden;
}


/* Prevent cards/table causing scroll */
.dash-box,
.dash-card {
  max-width: 100%;
  overflow-x: hidden;
}

/*=======================================================
                  Dashboard Style END
==========================================================*/
/* STAT CARDS */
.stat-card {
  background:#000;
  padding: 22px;
  border-radius: 16px;
  display: flex;
  gap: 15px;
  align-items: center;
  box-shadow: 0 4px 18px rgba(0,0,0,0.04);
  transition: 0.3s;
}

.stat-card:hover{
  transform: translateY(-4px);
}

.stat-card h6{
  margin:0;
  font-size:14px;
  color:#FFF;
}

.stat-card h3{
  margin:3px 0;
  font-weight:500;
  color: #eee;
  font-size: 22px;
  margin-top: 10px;
}

.stat-icon{
  width:50px;
  height:50px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}

.bg-primary-soft{background:#e8f0ff;color:#2563eb;}
.bg-success-soft{background:#e7f9ef;color:#16a34a;}
.bg-warning-soft{background:#fff4e6;color:#f59e0b;}
.bg-danger-soft{background:#ffeaea;color:#ef4444;}

/* DASH CARD */
.dash-card{
  background:var(--light-bg);
  padding:25px;
  border-radius:18px;
  box-shadow:0 4px 18px rgba(0,0,0,0.04);
}

.card-header-custom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:15px;
  color: #FFF;
}

.chart-box{
  height:260px;
  background:var(--light-bg);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ACTIVITY */
.activity-list{
  list-style:none;
  padding:0;
  margin:0;
}

.activity-list li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #eee;
  font-size:14px;
  color: #ddd;
}

.activity-list li span{
  margin-left:auto;
  font-size:12px;
  color:#94a3b8;
}
@media (max-width:768px) {
  .container-fluid{
    margin-top: 10px;
  }
}
/* -------------- admin-manage Units -------------*/

/* PAGE HEADER */
.page-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.page-header h4{
  font-weight:700;
}

.add-btn{
  background: var(--secondary-color);
  border:none;
  color:#fff;
  padding:10px 18px;
  border-radius:10px;
}

.add-btn:hover{
  background:#e56f00;
}

/* ACTION BUTTONS */
.action-btn{
  border:none;
  background:#f1f5f9;
  padding:8px 10px;
  border-radius:8px;
  margin-right:6px;
  transition:0.2s;
}

.action-btn i{
  font-size:14px;
}

.action-btn.edit:hover{
  background:#e0f2fe;
  color:#0284c7;
}

.action-btn.view:hover{
  background:#e8f5e9;
  color:#16a34a;
}

.action-btn.delete:hover{
  background:#ffeaea;
  color:#dc2626;
}

/* TABLE */
.table thead th{
  font-size:13px;
  color:#64748b;
  font-weight:600;
  border-bottom:1px solid #eee;
  background: var(--light-bg);
  color: #FFF;
}

.table tbody td{
  font-size:14px;
  vertical-align:middle;
  background: var(--light-bg);
  color: #FFF;
}
/* ===============================
   MOBILE FIX - MANAGE UNITS HEADER
=================================*/
@media (max-width:525px){

  .page-header{
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }

  .page-header .add-btn{
    width: 55%;
    text-align: center;
    padding: 14px;
    font-size:16px;
    border-radius:12px;
  }

  .page-header h4{
    font-size:24px;
    text-align: center;
  }

  .page-header p{
    font-size:14px;
    text-align: center;
  }

}
@media (max-width:768px){

  .content{
    padding:20px 16px !important;
  }

  .dash-card{
    padding:18px;
    border-radius:16px;
  }

  .form-control,
  .form-select{
    height:48px;
    font-size:15px;
  }

  .btn-dark{
    height:48px;
    border-radius:12px;
  }

}


/*================== User Dashboard ==============*/

/*------------------- User Over view --------------*/

/* USER WELCOME */
.welcome-box{
  background:var(--light-bg);
  padding:25px;
  border-radius:18px;
  box-shadow:0 4px 18px rgba(0,0,0,0.04);
  color: #FFF;
}
.welcome-box p{
  color: #ccc;
}

.unit-box{
  background:var(--light-bg);
  padding:20px;
  border-radius:14px;
  color: #FFF;
}

/* QUICK ACTIONS */
.quick-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:10px;
}

.quick-btn{
  background:#000;
  padding:14px;
  border-radius:12px;
  text-decoration:none;
  color:#DDD;
  font-size:14px;
  display:flex;
  align-items:center;
  gap:8px;
  transition:0.3s;
}

.quick-btn:hover{
  background:var(--secondary-color);
  color:#fff;
}

.dash-card h5,
.dash-card h4{
  color: #FFF !important;
}
.dash-card p{
  color: #ababab;
}
