/* BAIO Premium Stylesheet */
:root {
  --primary-color: #001F5E;
  --primary-light: rgba(0, 31, 94, 0.08);
  --success-color: #0B7A35;
  --success-light: rgba(11, 122, 53, 0.08);
  --warning-color: #ED7208;
  --warning-light: rgba(237, 114, 8, 0.08);
  --dark-color: #001F5E;
  --slate-color: #6B6B6B;
  --bg-gradient: linear-gradient(135deg, #001F5E, #001033);
  --font-family: 'Poppins', sans-serif;
}

body {
  font-family: var(--font-family);
  background-color: #f8fafc;
  color: #334155;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main-wrapper {
  flex: 1 0 auto;
}

/* Nav styles */
.navbar {
  background-color: rgba(255, 255, 255, 0.8) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #e2e8f0;
  padding: 1rem 0;
  transition: all 0.3s ease;
}

.navbar-brand span {
  font-weight: 800;
  font-size: 1.4rem;
  letter-spacing: -0.5px;
}

.nav-link {
  font-weight: 500;
  color: #64748b !important;
  padding: 0.5rem 1rem !important;
  border-radius: 999px;
  transition: all 0.2s ease;
}

.nav-link:hover, .nav-link.active {
  color: var(--primary-color) !important;
  background-color: var(--primary-light);
}

/* Cards & containers */
.card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.05) !important;
}

/* Gradients */
.text-primary-gradient {
  background: linear-gradient(45deg, #001F5E, #ED7208);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bg-light-gradient {
  background: linear-gradient(185deg, #ffffff, #f8fafc);
}

.btn-primary {
  background: linear-gradient(135deg, #ED7208, #d16104);
  border: none;
  color: #fff;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #d16104, #b55303);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(237, 114, 8, 0.3);
}

.rounded-4 {
  border-radius: 1rem !important;
}

.rounded-5 {
  border-radius: 1.5rem !important;
}

/* Badges */
.bg-primary-light {
  background-color: var(--primary-light) !important;
}
.bg-success-light {
  background-color: var(--success-light) !important;
}
.bg-warning-light {
  background-color: var(--warning-light) !important;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Footer */
footer {
  flex-shrink: 0;
  background-color: var(--dark-color) !important;
}

/* Layout Utilities */
.min-vh-75 {
  min-height: 75vh;
}

.min-vh-75-layout {
  min-height: 75vh;
}

.max-width-600 {
  max-width: 600px;
}

.max-width-600-layout {
  max-width: 600px;
}

/* Decorative blobs */
.blob-shape {
  position: fixed;
  filter: blur(60px);
  z-index: 0;
  opacity: 0.4;
  pointer-events: none;
}
.blob-1 {
  background: #3b82f6;
  width: 300px; height: 300px;
  top: -50px; right: -50px;
  border-radius: 50%;
}
.blob-2 {
  background: #FF8C00;
  width: 250px; height: 250px;
  bottom: 10%; left: -50px;
  border-radius: 50%;
}

/* Glassmorphism Utilities */
.glass-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  border-radius: 1.25rem;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.glass-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  border-color: rgba(255, 255, 255, 0.9);
}

/* Sidebar Collapsed State */
#appSidebar {
  transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
#appSidebar.sidebar-collapsed {
  width: 5rem !important; /* w-20 */
}
#appSidebar.sidebar-collapsed .sidebar-expanded-only {
  display: none !important;
}
#appSidebar.sidebar-collapsed .sidebar-collapsed-only {
  display: flex !important;
}
#appSidebar.sidebar-collapsed .nav-text {
  display: none !important;
}
#appSidebar.sidebar-collapsed .nav-section-title {
  opacity: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
#appSidebar.sidebar-collapsed .nav-link-item {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}
#appSidebar.sidebar-collapsed .nav-link-item i {
  margin-right: 0;
}
