:root{
  --ef-teal:#1fb5ae;
  --ef-sky:#79d8ec;
  --ef-lime:#dfe800;
  --ef-gold:#f4b443;
  --ef-navy:#0d2b52;
  --ef-ink:#15355f;
  --ef-surface:#f4fbfb;
  --ef-card:#ffffff;
  --ef-line:rgba(13,43,82,.10);
  --ef-shadow:0 20px 45px rgba(13,43,82,.14);
  --ef-shadow-soft:0 12px 28px rgba(13,43,82,.08);
}

body{
  color:var(--ef-ink);
}

.breadcrumbs::before,
.breadcrumbs::after,
.ef-modern-card .card-header::before,
.ef-modern-card .card-header::after{
  content:"";
  display:table;
  clear:both;
}

.left-panel{
  background:
    radial-gradient(circle at top, rgba(121,216,236,.22), transparent 28%),
    linear-gradient(180deg, #0b284f 0%, #103965 58%, #0d2b52 100%) !important;
  border-right:1px solid rgba(121,216,236,.18);
}

.navbar-brand{
  display:flex !important;
  align-items:center;
  gap:12px;
  padding:20px 18px !important;
  font-weight:800;
  letter-spacing:.04em;
  color:#fff !important;
}

.navbar-brand img{
  width:42px !important;
  height:42px !important;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  padding:0;
  object-fit:contain;
}

.left-panel .nav > li > a,
.left-panel .nav > li > a:hover,
.left-panel .nav > li > a:focus{
  color:rgba(255,255,255,.86) !important;
  border-radius:14px;
  margin:4px 10px;
  transition:.25s ease;
}

.left-panel .nav > li.active > a,
.left-panel .nav > li > a:hover{
  background:linear-gradient(135deg, rgba(31,181,174,.24), rgba(121,216,236,.18));
  color:#fff !important;
  transform:translateX(2px);
}

.left-panel .menu-icon{
  color:var(--ef-lime) !important;
}

.header{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(13,43,82,.08);
  box-shadow:0 10px 24px rgba(13,43,82,.05);
}

.header-menu{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.menutoggle{
  width:48px;
  height:48px;
  border-radius:16px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--ef-gold), #e39b27);
  color:#fff !important;
  margin-top:14px;
  box-shadow:0 10px 22px rgba(244,180,67,.28);
}

.user-avatar{
  width:46px !important;
  height:46px !important;
  object-fit:cover;
  border:3px solid rgba(31,181,174,.22) !important;
  box-shadow:0 12px 28px rgba(13,43,82,.16);
}

.ef-topband{
  margin:14px 15px 0;
  padding:18px 22px;
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(223,232,0,.28), transparent 22%),
    linear-gradient(135deg, #0d2b52 0%, #14447b 55%, #1fb5ae 100%);
  box-shadow:var(--ef-shadow);
  color:#fff;
}

.ef-topband-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.ef-topband-brand{
  display:flex;
  align-items:center;
  gap:16px;
}

.ef-topband-brand img{
  width:56px;
  height:56px;
  border-radius:0;
  background:transparent;
  padding:0;
  box-shadow:none;
  object-fit:contain;
}

.for-message > a.btn.dropdown-toggle{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:var(--ef-navy) !important;
  padding:8px 10px !important;
}

.for-message > a.btn.dropdown-toggle:hover,
.for-message > a.btn.dropdown-toggle:focus{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:#123d6a !important;
}

.for-message > a.btn.dropdown-toggle::after{
  display:none;
}

.for-message > a.btn.dropdown-toggle .menu-icon.fa-bell{
  font-size:20px;
  margin:0;
  color:var(--ef-navy) !important;
}

.for-message > a.btn.dropdown-toggle .count{
  top:2px;
  right:2px;
  border:none !important;
  box-shadow:none !important;
}

.ef-topband-kicker{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.72;
  margin:0 0 4px;
}

.ef-topband-title{
  margin:0;
  font-size:24px;
  font-weight:800;
  line-height:1.1;
}

.ef-topband-subtitle{
  margin:6px 0 0;
  opacity:.82;
  font-size:14px;
}

.ef-chipset{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.ef-chip{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;
  font-weight:700;
}

.ef-dashboard-shell{
  padding:6px 15px 24px;
  clear:both;
  width:100%;
  display:block;
}

.ef-dashboard-shell > .col-sm-12,
.ef-dashboard-shell > .content,
.ef-dashboard-shell > .row,
.ef-dashboard-shell .animated,
.ef-dashboard-shell .animated .row,
.ef-dashboard-shell .animated .col-md-12{
  float:none !important;
  width:100%;
  max-width:100%;
}

.ef-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:16px;
  margin:18px 0 20px;
  clear:both;
  width:100%;
}

.ef-stat-card{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,251,251,.94));
  border:1px solid var(--ef-line);
  border-radius:22px;
  padding:18px 18px 16px;
  box-shadow:var(--ef-shadow-soft);
  position:relative;
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease;
}

.ef-stat-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(13,43,82,.12);
}

.ef-stat-card::after{
  content:"";
  position:absolute;
  inset:auto -10px -34px auto;
  width:100px;
  height:100px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(121,216,236,.18), transparent 72%);
}

.ef-stat-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#5f7897;
  margin-bottom:10px;
  font-weight:800;
}

.ef-stat-value{
  font-size:30px;
  line-height:1;
  font-weight:900;
  color:var(--ef-navy);
  margin-bottom:8px;
}

.ef-stat-meta{
  font-size:13px;
  color:#5a7598;
}

.ef-modern-card{
  border:none !important;
  border-radius:26px !important;
  box-shadow:var(--ef-shadow-soft) !important;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,251,.96));
}

.ef-modern-card .card-header{
  background:
    radial-gradient(circle at top right, rgba(223,232,0,.2), transparent 22%),
    linear-gradient(135deg, rgba(13,43,82,.98), rgba(20,68,123,.94), rgba(31,181,174,.92)) !important;
  border:none;
  padding:18px 22px !important;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.ef-modern-card .card-title,
.ef-modern-card strong{
  font-size:18px;
  font-weight:800;
  letter-spacing:.01em;
}

.ef-modern-card .card-body{
  padding:22px;
}

.ef-modern-card .btn-primary{
  border:none;
  background:linear-gradient(135deg, var(--ef-teal), #1584b7);
  box-shadow:0 12px 24px rgba(21,132,183,.22);
}

.ef-modern-card .btn-secondary,
.ef-modern-card .btn-warning{
  border:none;
  box-shadow:0 10px 20px rgba(13,43,82,.10);
}

.ef-filterbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
}

.ef-filterbar .form-control,
.ef-filterbar select,
.ef-filterbar input{
  border-radius:14px !important;
  min-height:44px;
  border:1px solid rgba(13,43,82,.12);
  box-shadow:none !important;
}

.ef-filterbar .btn{
  min-height:44px;
  border-radius:14px;
  font-weight:800;
}

.ef-filterbar .col,
.ef-filterbar [class*="col-"]{
  padding-left:0;
  padding-right:0;
  flex:1 1 180px;
  min-width:160px;
}

.table{
  border-collapse:separate;
  border-spacing:0;
}

.table thead th{
  background:#ecf7f7 !important;
  color:var(--ef-navy);
  border-bottom:1px solid rgba(13,43,82,.08) !important;
}

.table tbody td{
  border-color:rgba(13,43,82,.06) !important;
}

.table tbody tr{
  transition:background-color .2s ease, transform .2s ease;
}

.table tbody tr:hover{
  background:rgba(31,181,174,.08) !important;
}

.table-striped tbody tr:nth-of-type(odd){
  background:rgba(121,216,236,.06);
}

.table-bordered{
  border:1px solid rgba(13,43,82,.08);
  border-radius:18px;
  overflow:hidden;
}

.badge.badge-pill,
.badge{
  border-radius:999px !important;
}

.alert.alert-success{
  border:none;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(223,232,0,.22), rgba(31,181,174,.16));
  color:var(--ef-navy);
  box-shadow:var(--ef-shadow-soft);
}

.menubtn,
.status-icon .btn,
.table .btn{
  border-radius:12px !important;
  transition:transform .2s ease, box-shadow .2s ease;
}

.menubtn:hover,
.status-icon .btn:hover,
.table .btn:hover{
  transform:translateY(-1px);
}

.alert-success{
  background:linear-gradient(135deg, rgba(223,232,0,.22), rgba(121,216,236,.14)) !important;
  border:1px solid rgba(31,181,174,.16) !important;
  color:var(--ef-navy) !important;
  border-radius:18px !important;
  box-shadow:var(--ef-shadow-soft);
}

.btn-primary{
  background:linear-gradient(135deg, #18a7a0, #79d8ec) !important;
  border:none !important;
}

.btn-warning{
  background:linear-gradient(135deg, #f4b443, #e09122) !important;
  border:none !important;
  color:#fff !important;
}

.btn-secondary{
  background:linear-gradient(135deg, #1f4b7d, #355f97) !important;
  border:none !important;
}

.btn-success{
  background:linear-gradient(135deg, #20b5a6, #1bc77f) !important;
  border:none !important;
}

.content{
  margin-top:0 !important;
}

@media (max-width: 991px){
  .ef-topband-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .ef-chipset{
    justify-content:flex-start;
  }

  .ef-modern-card .card-header{
    padding:18px 16px !important;
  }

  .ef-modern-card .card-body{
    padding:16px;
  }

  .ef-filterbar .col,
  .ef-filterbar [class*="col-"]{
    min-width:100%;
    flex-basis:100%;
  }
}

@media (max-width: 767px){
  .ef-topband{
    margin:10px 10px 0;
    padding:16px;
    border-radius:20px;
  }

  .ef-topband-brand{
    align-items:flex-start;
  }

  .ef-topband-brand img{
    width:48px;
    height:48px;
  }

  .ef-topband-title{
    font-size:20px;
  }

  .ef-topband-subtitle{
    font-size:13px;
    line-height:1.6;
  }

  .ef-dashboard-shell{
    padding:8px 10px 18px;
  }

  .ef-stats{
    grid-template-columns:1fr;
    gap:12px;
  }

  .ef-stat-card{
    border-radius:18px;
    padding:16px;
  }

  .ef-stat-value{
    font-size:26px;
  }

  .table-responsive,
  .scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .table{
    min-width:980px;
  }
}
