/* ==========================================================================
   BMAD Design System - Core CSS Variables & Tokens
   ========================================================================== */

   :root {
       /* Colors - Core Palette (Teal & Indigo) */
       --color-primary: #10b981; /* Emerald Green */
       --color-primary-light: #34d399;
       --color-primary-dark: #059669;
       --color-secondary: #6366f1; /* Indigo */
       --color-secondary-light: #818cf8;
       --color-secondary-dark: #4f46e5;
       
       /* Gradients */
       --gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
       --gradient-ocean: linear-gradient(135deg, #4CA6A8, #2d7a7b);
       --gradient-purple: linear-gradient(135deg, #667eea, #764ba2);
       --gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.1));
       
       /* Backgrounds */
       --bg-body: #f3f4f6;
       --bg-surface: #ffffff;
       
       /* Text */
       --text-main: #1f2937;
       --text-muted: #6b7280;
       
       /* Shadows */
       --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
       --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
       --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
       --shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
       
       /* Typography */
       --font-family-sans: 'Nunito', sans-serif;
       
       /* Radii */
       --radius-md: 8px;
       --radius-lg: 16px;
       --radius-xl: 24px;
       --radius-pill: 9999px;
   }
   
   /* ==========================================================================
      Global Resets & Overrides
      ========================================================================== */
   
   body {
       background-color: var(--bg-body);
       color: var(--text-main);
       -webkit-font-smoothing: antialiased;
       font-family: var(--font-family-sans);
   }
   
   h1, h2, h3, h4, h5, h6 {
       color: #111827;
       font-family: var(--font-family-sans);
   }
   
   /* ==========================================================================
      Mobile Sidebar Menu (Overriding Bootstrap Collapse)
      ========================================================================== */
   
   @media (max-width: 991.98px) {
       .navbar-collapse, 
       .navbar-collapse.collapsing {
           position: fixed;
           top: 0;
           bottom: 0;
           left: -100%;
           width: 280px;
           height: auto !important;
           background-color: #ffffff;
           z-index: 1050;
           display: block !important;
           transition: left 0.3s ease-in-out !important;
           box-shadow: 5px 0 15px rgba(0,0,0,0.1);
           padding: 20px 15px;
           overflow-y: auto;
           overflow-x: hidden;
           visibility: visible !important;
       }
       
       .navbar-collapse.show {
           left: 0;
       }
       
       /* Styling inside sidebar */
       .navbar-collapse .navbar-nav {
           align-items: flex-start !important;
           width: 100%;
       }
       
       .navbar-collapse .nav-item {
           width: 100%;
           text-align: left;
           padding: 5px 0;
       }
       
       .navbar-collapse .dropdown-menu {
           border: none;
           box-shadow: none;
           background: #f8f9fa;
           margin-top: 5px !important;
           width: 100%;
       }
       
       /* Fix alignment for nav buttons */
       .nav-button {
           flex-direction: column;
           align-items: stretch !important;
           margin: 20px 0 0 0 !important;
           width: 100%;
       }
       
       .nav-button .btn {
           margin: 5px 0 !important;
           width: 100%;
           justify-content: flex-start;
           border-radius: var(--radius-md) !important;
       }
       
       .nav-button .dropdown {
           width: 100%;
       }
       
       .nav-button .dropdown-toggle {
           width: 100%;
       }
   }
   
   /* ==========================================================================
      Glassmorphism & Surface Utilities
      ========================================================================== */
   
   .glass-card {
       background: rgba(255, 255, 255, 0.7);
       backdrop-filter: blur(12px);
       -webkit-backdrop-filter: blur(12px);
       border: 1px solid rgba(255, 255, 255, 0.3);
       border-radius: var(--radius-lg);
       box-shadow: var(--shadow-glass);
   }
   
   .premium-card {
       background: var(--bg-surface);
       border-radius: var(--radius-lg);
       box-shadow: var(--shadow-md);
       transition: transform 0.3s ease, box-shadow 0.3s ease;
       border: 1px solid rgba(0,0,0,0.02);
   }
   
   .premium-card:hover {
       transform: translateY(-5px);
       box-shadow: var(--shadow-lg);
   }
   
   /* ==========================================================================
      Buttons & Interactive Elements
      ========================================================================== */
   
   .btn-bmad-primary {
       background: var(--gradient-ocean);
       color: white !important;
       border: none;
       border-radius: var(--radius-pill);
       padding: 10px 24px;
       font-weight: 600;
       box-shadow: 0 4px 14px 0 rgba(76, 166, 168, 0.39);
       transition: all 0.3s ease;
       position: relative;
       overflow: hidden;
   }
   
   .btn-bmad-primary:hover {
       transform: translateY(-2px);
       box-shadow: 0 6px 20px rgba(76, 166, 168, 0.23);
       filter: brightness(110%);
   }
   
   .btn-bmad-primary:active {
       transform: translateY(1px);
   }
   
   /* Micro Animations */
   .hover-scale {
       transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
   }
   .hover-scale:hover {
       transform: scale(1.03);
   }
   
   /* Form Inputs */
   .bmad-input {
       border-radius: var(--radius-md);
       border: 1px solid #e5e7eb;
       padding: 12px 16px;
       transition: all 0.2s ease;
       background-color: #f9fafb;
   }
   
   .bmad-input:focus {
       background-color: white;
       border-color: var(--color-primary);
       box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
       outline: none;
   }
   
   /* Status Badges */
   .bmad-badge {
       padding: 4px 12px;
       border-radius: var(--radius-pill);
       font-size: 12px;
       font-weight: 600;
       letter-spacing: 0.5px;
   }
   .bmad-badge-success { background: #d1fae5; color: #065f46; }
   .bmad-badge-warning { background: #fef3c7; color: #92400e; }
   .bmad-badge-danger { background: #fee2e2; color: #991b1b; }
