/* App Theme: light pastel admin style matching provided design */
:root{
  --bg-page:#F5F7FB;
  --surface:#FFFFFF;
  --primary:#4C8BF5;
  --primary-600:#3578F6;
  --accent-100:#EAF2FF;
  --accent-50:#F5F9FF;
  --text-900:#0F172A;
  --text-700:#334155;
  --text-500:#64748B;
  --border:#E5E7EB;
  --muted:#F1F5F9;
  --success:#22C55E;
  --warning:#F59E0B;
  --danger:#EF4444;

  /* Extended grayscale and semantic scales */
  --gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1f2937;--gray-900:#0f172a;
  --primary-100:#e8f0ff;--primary-200:#cfe0ff;--primary-300:#a7c3ff;--primary-400:#7aa2ff;--primary-500:#4c8bf5;--primary-700:#2f5fd6;--primary-900:#1b3a8a;
  --success-500:#22c55e;--warning-500:#f59f00;--danger-500:#ef4444;--info-500:#06b6d4;

  /* Typography scale */
  --fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-lg:18px;--fs-xl:20px;--fs-xxl:24px;

  /* Gradients */
  --gradient-primary-start:#4c8bf5;--gradient-primary-end:#6a5cf6;
  --gradient-success-start:#34d399;--gradient-success-end:#10b981;
  --gradient-warning-start:#fbbf24;--gradient-warning-end:#f59e0b;
  --gradient-danger-start:#f87171;--gradient-danger-end:#ef4444;
  --gradient-info-start:#22d3ee;--gradient-info-end:#06b6d4;
}

/* Global */
html,body{height:100%;}
body{
  background:var(--bg-page);
  color:var(--text-700);
  font-size:var(--fs-base);
}
a{color:var(--primary);}a:hover{color:var(--primary-600);}

/* Sidebar */
.sidebar{
  background:var(--surface) !important;
  border-right:1px solid var(--border);
  min-height:100vh;
}
.sidebar h5{color:var(--text-900);} 
.sidebar .nav-link{
  color:var(--text-700) !important;
  border-radius:12px;
  margin:4px 0;
  transition:background .2s ease, color .2s ease;
}
.sidebar .nav-link:hover{
  background:var(--muted);
  color:var(--text-900) !important;
}
.sidebar .nav-link.active{
  background:var(--accent-100);
  color:var(--primary) !important;
}
/* icon colors */
.sidebar .nav-link i{color:#94a3b8;transition:color .2s ease;}
.sidebar .nav-link:hover i{color:var(--text-700);} 
.sidebar .nav-link.active i{color:var(--primary);} 

/* Main container */
.main-content{background:transparent;}
@media (min-width:992px){
  /* Leave space for fixed sidebar on desktop */
  .main-content{margin-left:250px;}
}

/* Top navbar */
.navbar{
  background:var(--surface) !important;
  border-bottom:none !important;
  box-shadow:0 8px 20px rgba(17,24,39,.06);
}
.navbar-brand{color:var(--text-900) !important;font-weight:600;}

/* Search pill */
.app-search{max-width:380px;}
.app-search .form-control{
  border-radius:999px;
  background:var(--muted);
  border:1px solid var(--border);
  padding-left:2.25rem;
}
.app-search .form-control::placeholder{color:#94a3b8;}
.app-search .bi-search{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#94a3b8;}

/* Cards */
.card{border:none;border-radius:16px;box-shadow:0 8px 24px rgba(17,24,39,.06);} 
.card-header{background:var(--surface);border-bottom:1px solid var(--border);border-top-left-radius:16px;border-top-right-radius:16px;}

/* Buttons */
.btn-primary{background:var(--primary);border:none;box-shadow:0 6px 16px rgba(76,139,245,.25);} 
.btn-primary:hover{background:var(--primary-600);} 
.btn-outline-primary{color:var(--primary);border-color:var(--primary);} 
.btn-outline-primary:hover{background:var(--accent-100);} 
.btn{border-radius:12px;}
.btn:disabled,.btn.disabled{opacity:.65;box-shadow:none;cursor:not-allowed;}

/* Gradient Buttons (optional highlight) */
.btn-gradient-primary,.btn-gradient-success,.btn-gradient-warning,.btn-gradient-danger,.btn-gradient-info{
  color:#fff !important;border:none;box-shadow:0 6px 14px rgba(17,24,39,.12);
}
.btn-gradient-primary{background:linear-gradient(135deg,var(--gradient-primary-start),var(--gradient-primary-end));}
.btn-gradient-success{background:linear-gradient(135deg,var(--gradient-success-start),var(--gradient-success-end));}
.btn-gradient-warning{background:linear-gradient(135deg,var(--gradient-warning-start),var(--gradient-warning-end));}
.btn-gradient-danger{background:linear-gradient(135deg,var(--gradient-danger-start),var(--gradient-danger-end));}
.btn-gradient-info{background:linear-gradient(135deg,var(--gradient-info-start),var(--gradient-info-end));}
.btn-gradient-primary:hover,.btn-gradient-success:hover,.btn-gradient-warning:hover,.btn-gradient-danger:hover,.btn-gradient-info:hover{filter:brightness(1.02);} 
.btn-gradient-primary:active,.btn-gradient-success:active,.btn-gradient-warning:active,.btn-gradient-danger:active,.btn-gradient-info:active{transform:translateY(1px);} 
.btn-gradient-primary:disabled,.btn-gradient-success:disabled,.btn-gradient-warning:disabled,.btn-gradient-danger:disabled,.btn-gradient-info:disabled{filter:grayscale(.1) brightness(.95);} 

/* Badges (soft) */
.badge{border-radius:10px;padding:.35rem .6rem;font-weight:600;}
.badge-soft-primary{background:var(--accent-100);color:var(--primary);} 
.badge-soft-success{background:#DCFCE7;color:var(--success);} 
.badge-soft-warning{background:#FEF3C7;color:var(--warning);} 
.badge-soft-info{background:#E0F2FE;color:#0EA5E9;} 
.badge-soft-secondary{background:#E5E7EB;color:#374151;} 

/* Spotlight Status Cards (optional highlight) */
.card-spotlight{color:#fff;border:0;overflow:hidden;}
.card-spotlight .card-body{position:relative;color:#fff;}
.card-spotlight::after{content:'';position:absolute;inset:0;background:radial-gradient(800px 200px at top right,rgba(255,255,255,.25),rgba(255,255,255,0));pointer-events:none;}
.card-spotlight-primary{background:linear-gradient(135deg,var(--gradient-primary-start),var(--gradient-primary-end));}
.card-spotlight-success{background:linear-gradient(135deg,var(--gradient-success-start),var(--gradient-success-end));}
.card-spotlight-warning{background:linear-gradient(135deg,var(--gradient-warning-start),var(--gradient-warning-end));}
.card-spotlight-danger{background:linear-gradient(135deg,var(--gradient-danger-start),var(--gradient-danger-end));}
.card-spotlight-info{background:linear-gradient(135deg,var(--gradient-info-start),var(--gradient-info-end));}
.card-spotlight .stat-value{font-size:var(--fs-xxl);font-weight:700;}
.card-spotlight .stat-label{font-size:var(--fs-sm);opacity:.9;}

/* Tables */
.table{--bs-table-striped-bg:var(--accent-50);}
.table thead th{border-bottom:1px solid var(--border);color:var(--text-700);background:var(--accent-50);} 
.table tbody tr{border-color:var(--border);} 
.table-hover tbody tr:hover{background:var(--accent-50);} 
.table-responsive{border-radius:16px;}

/* Table density for mobile & tablet */
@media (max-width:576px){
  .table>:not(caption)>*>*{padding:.5rem .5rem;}
}
@media (max-width:768px){
  .table>:not(caption)>*>*{padding:.6rem .6rem;}
}

/* Forms */
.form-control,.form-select{border-radius:12px;border:1px solid var(--border);background:#FBFDFF;transition:border-color .2s ease, box-shadow .2s ease;} 
.form-control::placeholder{color:#94a3b8;} 
.form-control:focus,.form-select:focus{box-shadow:0 0 0 .25rem rgba(76,139,245,.15);border-color:var(--primary);} 

/* Breadcrumb */
.breadcrumb{margin-bottom:0;background:transparent;}
.breadcrumb .breadcrumb-item+.breadcrumb-item::before{color:#CBD5E1;}

/* Alerts */
.alert-success{background:#E8F9EE !important;border-color:#C8EFD4 !important;color:#166534 !important;}
.alert .btn-close{filter:invert(1) grayscale(100%) brightness(30%);} 

/* Pagination */
.pagination .page-item .page-link{border-radius:10px;border:1px solid var(--border);background:var(--surface);}
.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);} 

/* DataTables quick tweaks */
.dataTables_wrapper .dataTables_filter input{border-radius:999px;border:1px solid var(--border);background:var(--muted);} 
.dataTables_wrapper .dataTables_length select{border-radius:10px;border:1px solid var(--border);} 
/* Cards hover (opt-in) */
.card.hoverable{transition:transform .2s ease, box-shadow .2s ease;}
.card.hoverable:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,24,39,.10);} 

/* Navbar toggler: remove border and shadow */
.navbar .navbar-toggler{border:none !important;box-shadow:none !important;}
.navbar .navbar-toggler:focus{box-shadow:none !important;}
.navbar .navbar-toggler:hover{background-color:transparent;}
