/* Easygrab theme overrides (AdminLTE) */
:root{
  --eg-navy-950:#061428;
  --eg-navy-900:#0b1d34;
  --eg-navy-800:#102847;
  --eg-navy-700:#17335d;
  --eg-red-600:#e11d2e;
  --eg-red-700:#be1726;
  --eg-text:#0f172a;
  --eg-muted:#64748b;
  --eg-card:#ffffff;
  --eg-bg:#f6f8fc;
  --eg-border: rgba(15,23,42,.08);
  --eg-ring: rgba(225,29,46,.22);
}

body{
  background: var(--eg-bg);
  color: var(--eg-text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Layout polish */
.content-wrapper{
  background: transparent !important;
}
.content-wrapper .content{
  padding-top: 1rem;
}
.container-fluid{
  max-width: 1400px;
}

/* Sidebar: navy dominant */
.main-sidebar{
  background: linear-gradient(180deg,var(--eg-navy-950),var(--eg-navy-900)) !important;
}
.main-sidebar .user-panel .info a,
.main-sidebar .nav-sidebar>.nav-item>.nav-link,
.main-sidebar .nav-sidebar .nav-header{
  color: rgba(255,255,255,.92) !important;
}
.main-sidebar .nav-sidebar>.nav-item>.nav-link:hover{
  background: rgba(255,255,255,.08) !important;
}
.main-sidebar .nav-sidebar>.nav-item>.nav-link.active{
  background: rgba(225,29,46,.18) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 var(--eg-red-600);
}
.main-sidebar .brand-link{
  border-bottom-color: rgba(255,255,255,.08) !important;
  padding: .9rem 1rem;
}
.main-sidebar .brand-link img{
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.20));
}
.main-sidebar .user-panel{
  border-bottom-color: rgba(255,255,255,.08) !important;
}
.main-sidebar .nav-sidebar>.nav-item{
  margin: .15rem .5rem;
}
.main-sidebar .nav-sidebar>.nav-item>.nav-link{
  border-radius: 12px;
  padding: .6rem .75rem;
}
.main-sidebar .nav-sidebar>.nav-item>.nav-link .nav-icon{
  opacity: .9;
}

/* Navbar trims */
.main-header.navbar{
  background: #fff;
  border-bottom: 1px solid var(--eg-border);
  backdrop-filter: saturate(120%) blur(6px);
}

/* Primary actions: navy */
.btn-primary,
.btn-primary:focus{
  background-color: var(--eg-navy-900) !important;
  border-color: var(--eg-navy-900) !important;
}
.btn-primary:hover{
  background-color: var(--eg-navy-800) !important;
  border-color: var(--eg-navy-800) !important;
}

/* Danger / accents: red trims */
.btn-danger,
.badge-danger,
.bg-danger{
  background-color: var(--eg-red-600) !important;
  border-color: var(--eg-red-600) !important;
}
.btn-danger:hover{
  background-color: var(--eg-red-700) !important;
  border-color: var(--eg-red-700) !important;
}

.btn-outline-danger{
  color: var(--eg-red-600) !important;
  border-color: rgba(225,29,46,.35) !important;
  background: transparent !important;
}
.btn-outline-danger:hover{
  color:#fff !important;
  background: var(--eg-red-600) !important;
  border-color: var(--eg-red-600) !important;
}

.btn{
  border-radius: 12px;
}
.btn-sm{
  border-radius: 10px;
}
.btn:focus{
  box-shadow: 0 0 0 .2rem var(--eg-ring) !important;
}

/* Links */
a{
  color: var(--eg-navy-800);
}
a:hover{
  color: var(--eg-red-600);
}

/* Cards: slightly crisper */
.card{
  border-radius: 14px;
  border-color: var(--eg-border);
  box-shadow: 0 12px 34px rgba(2,6,23,.07);
}
.card-header{
  background: #fff;
  border-bottom: 1px solid var(--eg-border);
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.card-title{
  font-weight: 650;
}

/* Tables */
.table{
  color: var(--eg-text);
}
.table thead th{
  border-bottom: 1px solid var(--eg-border) !important;
  border-top: 0;
  font-weight: 650;
  color: rgba(15,23,42,.72);
}
.table td, .table th{
  border-top: 1px solid rgba(15,23,42,.06);
}
.table-hover tbody tr:hover{
  background: rgba(2,6,23,.03);
}

/* DataTables polish */
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate{
  color: rgba(15,23,42,.72) !important;
  font-weight: 550;
}
.dataTables_wrapper .dataTables_filter input{
  border-radius: 999px !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  padding: .45rem .75rem !important;
  outline: none;
}
.dataTables_wrapper .dataTables_filter input:focus{
  border-color: rgba(225,29,46,.35) !important;
  box-shadow: 0 0 0 .2rem var(--eg-ring) !important;
}
.dataTables_wrapper .dataTables_length select{
  border-radius: 999px !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  padding: .3rem .6rem !important;
  background: #fff;
}
.dataTables_wrapper .dt-buttons .btn{
  border-radius: 999px !important;
  padding: .35rem .75rem !important;
  border-color: rgba(15,23,42,.12) !important;
  background: #fff !important;
  color: rgba(15,23,42,.78) !important;
}
.dataTables_wrapper .dt-buttons .btn:hover{
  border-color: rgba(225,29,46,.28) !important;
  color: var(--eg-red-600) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button{
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  margin: 0 .15rem !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
  background: rgba(2,6,23,.03) !important;
  border-color: rgba(15,23,42,.10) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background: rgba(225,29,46,.14) !important;
  border-color: rgba(225,29,46,.28) !important;
  color: var(--eg-red-600) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  background: rgba(225,29,46,.18) !important;
}
.table.dataTable{
  border-collapse: separate !important;
  border-spacing: 0;
}
.table.dataTable tbody td{
  vertical-align: middle;
}
.table.dataTable thead th{
  background: rgba(2,6,23,.015);
}

/* Forms */
.form-control, .custom-select, .select2-container--default .select2-selection--single{
  border-radius: 12px !important;
  border-color: rgba(15,23,42,.12) !important;
}
.form-control:focus, .custom-select:focus{
  border-color: rgba(225,29,46,.35) !important;
  box-shadow: 0 0 0 .2rem var(--eg-ring) !important;
}
.input-group-text{
  border-radius: 12px;
  border-color: rgba(15,23,42,.12);
  background: rgba(2,6,23,.02);
}
.select2-container--default .select2-selection--single{
  height: calc(2.25rem + 2px) !important;
}

/* Alerts / toast */
.alert{
  border-radius: 14px;
  border-color: rgba(15,23,42,.10);
}

/* Footer */
.main-footer{
  border-top: 1px solid var(--eg-border);
  background: #fff !important;
}

/* Dashboard (modern cards like reference UI) */
.eg-dashboard-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: .25rem 0 .75rem;
}
.eg-dashboard-title{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.eg-dashboard-title .eg-subtitle{
  color: rgba(15,23,42,.62);
  font-weight: 600;
  font-size: .95rem;
}
.eg-dashboard-title h1{
  font-size: 1.65rem;
  margin: 0;
  font-weight: 750;
  letter-spacing: -.02em;
}
.eg-pillbar{
  background: #fff;
  border: 1px solid var(--eg-border);
  border-radius: 999px;
  padding: .25rem;
  display:flex;
  gap:.25rem;
  box-shadow: 0 10px 24px rgba(2,6,23,.06);
}
.eg-pillbar .btn{
  border-radius: 999px !important;
  padding: .35rem .8rem;
  border: 0 !important;
  font-weight: 650;
  color: rgba(15,23,42,.72) !important;
  background: transparent !important;
}
.eg-pillbar .btn.active{
  background: var(--eg-navy-900) !important;
  color: #fff !important;
}
.eg-search{
  min-width: 260px;
  flex: 1 1 320px;
  max-width: 520px;
}
.eg-search .input-group{
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.12);
  background: #fff;
  box-shadow: 0 10px 24px rgba(2,6,23,.06);
}
.eg-search .input-group-text{
  border: 0;
  background: transparent;
}
.eg-search .form-control{
  border: 0 !important;
  border-radius: 999px !important;
}
.eg-kpi{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
}
.eg-kpi .eg-kpi-label{
  color: rgba(15,23,42,.64);
  font-weight: 650;
  font-size: .95rem;
}
.eg-kpi .eg-kpi-value{
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.eg-chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(2,6,23,.02);
  color: rgba(15,23,42,.74);
  font-weight: 650;
  font-size: .82rem;
}
.eg-chip.positive{ border-color: rgba(34,197,94,.25); background: rgba(34,197,94,.08); color: rgba(21,128,61,.95); }
.eg-chip.negative{ border-color: rgba(225,29,46,.22); background: rgba(225,29,46,.08); color: var(--eg-red-600); }
.eg-soft-card{
  border-radius: 18px;
  border: 1px solid var(--eg-border);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(8px) saturate(120%);
  box-shadow: 0 14px 40px rgba(2,6,23,.08);
}
.eg-soft-card .card-header{
  border-bottom: 0;
  background: transparent;
  padding: 1rem 1.1rem .25rem;
}
.eg-soft-card .card-title{
  font-weight: 750;
}
.eg-soft-card .card-body{
  padding: 1rem 1.1rem 1.1rem;
}
.eg-soft-card canvas{
  max-width: 100%;
}
.eg-soft-card .card-body canvas{
  width: 100% !important;
  height: 100% !important;
}
.eg-chart-wrap{
  position: relative;
  width: 100%;
  min-height: 220px;
}
.eg-donut-wrap{
  position: relative;
  width: 100%;
  min-height: 210px;
}
.eg-soft-card .btn{
  box-shadow: none;
}
.eg-soft-card .btn-outline-danger{
  background: #fff !important;
}
.eg-soft-card .btn-outline-danger:hover{
  background: var(--eg-red-600) !important;
}
.eg-soft-card .btn-primary{
  box-shadow: 0 10px 20px rgba(11,29,52,.12);
}
.eg-dashboard-header{
  margin-bottom: .25rem;
}

/* Color accents per card (more lively dashboard) */
.eg-accent{
  position: relative;
  overflow: hidden;
}
.eg-accent::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(15,23,42,.18), rgba(15,23,42,0));
}
.eg-accent::after{
  content: "";
  position: absolute;
  inset: -40% -35% auto auto;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  filter: blur(0);
  opacity: .10;
  pointer-events: none;
  background: radial-gradient(circle at 30% 30%, rgba(225,29,46,.65), rgba(225,29,46,0) 60%);
}
.eg-accent-income::before{ background: linear-gradient(90deg, rgba(59,130,246,.65), rgba(59,130,246,0)); }
.eg-accent-income::after{ background: radial-gradient(circle at 30% 30%, rgba(59,130,246,.65), rgba(59,130,246,0) 60%); }
.eg-accent-tests::before{ background: linear-gradient(90deg, rgba(225,29,46,.70), rgba(225,29,46,0)); }
.eg-accent-tests::after{ background: radial-gradient(circle at 30% 30%, rgba(225,29,46,.75), rgba(225,29,46,0) 60%); }
.eg-accent-cultures::before{ background: linear-gradient(90deg, rgba(16,185,129,.70), rgba(16,185,129,0)); }
.eg-accent-cultures::after{ background: radial-gradient(circle at 30% 30%, rgba(16,185,129,.75), rgba(16,185,129,0) 60%); }
.eg-accent-trends::before{ background: linear-gradient(90deg, rgba(99,102,241,.70), rgba(99,102,241,0)); }
.eg-accent-trends::after{ background: radial-gradient(circle at 30% 30%, rgba(99,102,241,.75), rgba(99,102,241,0) 60%); }
.eg-accent-top::before{ background: linear-gradient(90deg, rgba(245,158,11,.75), rgba(245,158,11,0)); }
.eg-accent-top::after{ background: radial-gradient(circle at 30% 30%, rgba(245,158,11,.85), rgba(245,158,11,0) 60%); }
.eg-accent-stats::before{ background: linear-gradient(90deg, rgba(14,165,233,.75), rgba(14,165,233,0)); }
.eg-accent-stats::after{ background: radial-gradient(circle at 30% 30%, rgba(14,165,233,.85), rgba(14,165,233,0) 60%); }
.eg-accent-dues::before{ background: linear-gradient(90deg, rgba(225,29,46,.75), rgba(225,29,46,0)); }
.eg-accent-activity::before{ background: linear-gradient(90deg, rgba(168,85,247,.75), rgba(168,85,247,0)); }

/* Auth pages */
.eg-auth{
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 3rem 0;
  position: relative;
}
.eg-auth-bg{
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(1200px 600px at 15% 20%, rgba(99,102,241,.18), rgba(99,102,241,0) 60%),
    radial-gradient(900px 520px at 85% 35%, rgba(225,29,46,.14), rgba(225,29,46,0) 58%),
    radial-gradient(700px 500px at 70% 85%, rgba(16,185,129,.12), rgba(16,185,129,0) 55%),
    linear-gradient(180deg, rgba(246,248,252,1) 0%, rgba(245,247,255,1) 100%);
}
.eg-auth-card{
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(10px) saturate(130%);
  box-shadow: 0 28px 70px rgba(2,6,23,.12);
  overflow: hidden;
}
.eg-auth-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--eg-navy-900), var(--eg-red-600), #6366f1);
}
.eg-auth-logo{
  filter: drop-shadow(0 14px 26px rgba(2,6,23,.12));
}
.eg-auth .login100-form-title{
  margin: 0;
  padding: 0 !important;
}
.eg-auth .wrap-input100{
  margin-bottom: 14px;
}
.eg-auth .input100{
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.12);
  padding: .6rem .9rem;
  background: rgba(255,255,255,.92);
}
.eg-auth .input100:focus{
  outline: none;
  border-color: rgba(225,29,46,.35);
  box-shadow: 0 0 0 .2rem var(--eg-ring);
}
.eg-auth .label-input100{
  color: rgba(15,23,42,.62);
  font-weight: 650;
}
.eg-auth .login100-form-btn{
  border-radius: 14px;
  height: 46px;
  background: var(--eg-navy-900);
  box-shadow: 0 14px 34px rgba(11,29,52,.18);
}
.eg-auth .login100-form-btn:hover{
  background: var(--eg-navy-800);
}
.eg-auth .txt1{
  font-weight: 650;
}
.eg-auth-foot small{
  font-weight: 650;
  color: rgba(15,23,42,.55);
}

.eg-soft-muted{
  color: rgba(15,23,42,.62);
}
.eg-mini-list{
  margin:0;
  padding:0;
  list-style:none;
}
.eg-mini-list li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 1rem;
  padding: .65rem .2rem;
  border-top: 1px solid rgba(15,23,42,.06);
}
.eg-mini-list li:first-child{ border-top: 0; }
.eg-soft-card .eg-mini-list li{
  padding: .75rem 1.1rem;
}
.eg-soft-card .card-body.p-0{
  padding: 0 !important;
  overflow: auto;
  max-height: 410px;
}
.eg-soft-card .card-body.p-0 .eg-mini-list{
  padding: .15rem 0;
}
.eg-mini-list .title{
  font-weight: 700;
}
.eg-mini-list .meta{
  color: rgba(15,23,42,.56);
  font-weight: 600;
  font-size: .9rem;
}
.eg-divider{
  height: 1px;
  background: rgba(15,23,42,.06);
  margin: .75rem 0;
}

