/* ==========================================================================
   HAVANA ENTERPRISE ERP DESIGN SYSTEM
   ========================================================================== */

   @import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800&display=swap');

   /* --- Theme Variables --- */
   :root {
       /* Core Brand Colors */
       --primary-gold: #c5a059;
       --primary-hover: #e0b86a;
       --primary-dark: #8c713b;
       
       /* Semantic Colors */
       --danger: #ff4757;
       --danger-bg: rgba(255, 71, 87, 0.1);
       --success: #2ed573;
       --success-bg: rgba(46, 213, 115, 0.1);
       --warning: #f39c12;
       --warning-bg: rgba(243, 156, 18, 0.1);
       --info: #3498db;
       --info-bg: rgba(52, 152, 219, 0.1);
       
       /* Default Theme (Dark Mode - Havana Command Center) */
        --bg-app: #050202;
        --bg-sidebar: rgba(10, 2, 2, 0.90);
        --bg-surface: rgba(20, 5, 5, 0.70);
        --bg-surface-hover: rgba(35, 10, 10, 0.90);
        --text-primary: #ffffff;
        --text-secondary: #e0e0e0;
        --text-muted: #888888;
        --border-color: rgba(197, 160, 89, 0.25);
        --border-light: rgba(255, 255, 255, 0.08);
        --shadow-sm: 0 4px 12px rgba(0,0,0,0.5);
        --shadow-md: 0 12px 32px rgba(0,0,0,0.7);
        --shadow-lg: 0 24px 48px rgba(0,0,0,0.9);
        --glass-blur: blur(24px);
       
       /* Dimensions & Spacing */
       --sidebar-width: 260px;
       --sidebar-collapsed-width: 70px;
       --topbar-height: 65px;
       --border-radius-sm: 6px;
       --border-radius-md: 12px;
       --border-radius-lg: 20px;
       
       /* Typography */
       --font-family: 'Cairo', sans-serif;
       
       /* Transitions */
       --transition-fast: 0.15s ease;
       --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   }
   
      /* Light Mode Overrides (Premium Light) */
    [data-theme="light"] {
        --bg-app: #f4f6f9;
        --bg-sidebar: rgba(255, 255, 255, 0.95);
        --bg-surface: rgba(255, 255, 255, 0.85);
        --bg-surface-hover: rgba(255, 255, 255, 1);
        --text-primary: #1a1a2e;
        --text-secondary: #4a4a6a;
        --text-muted: #8e8e9e;
        --border-color: rgba(197, 160, 89, 0.5);
        --border-light: rgba(0, 0, 0, 0.08);
        --shadow-sm: 0 4px 12px rgba(0,0,0,0.05);
        --shadow-md: 0 12px 32px rgba(0,0,0,0.08);
        --shadow-lg: 0 24px 48px rgba(0,0,0,0.12);
        --glass-blur: blur(24px);
    }
   
   /* --- Global Resets --- */
   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
       font-family: var(--font-family);
   }
   
   body {
       background-color: var(--bg-app);
       background-image: 
           linear-gradient(rgba(10, 2, 2, 0.82), rgba(20, 5, 5, 0.88)),
           url('https://i.postimg.cc/Dw127HGG/Gemini-Generated-Image-2h56w02h56w02h56.png');
       background-size: cover;
       background-position: center;
       background-attachment: fixed;
       color: var(--text-primary);
       transition: background-color var(--transition-normal), color var(--transition-normal);
       overflow-x: hidden;
   }
   
   /* --- Custom Scrollbar --- */
   ::-webkit-scrollbar {
       width: 6px;
       height: 6px;
   }
   ::-webkit-scrollbar-track {
       background: transparent;
   }
   ::-webkit-scrollbar-thumb {
       background: var(--border-color);
       border-radius: 10px;
   }
   ::-webkit-scrollbar-thumb:hover {
       background: var(--primary-gold);
   }
   
      /* --- ERP Cards --- */
    .erp-card {
        background: var(--bg-surface);
        backdrop-filter: var(--glass-blur);
        -webkit-backdrop-filter: var(--glass-blur);
        border: 1px solid var(--border-light);
        border-radius: var(--border-radius-lg);
        box-shadow: var(--shadow-sm);
        transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal), background var(--transition-normal);
        overflow: hidden;
        position: relative;
    }
   
   .erp-card::before {
       content: '';
       position: absolute;
       top: 0; left: 0; width: 100%; height: 2px;
       background: linear-gradient(90deg, transparent, var(--primary-gold), transparent);
       opacity: 0.2;
       transition: opacity var(--transition-normal);
   }

    .erp-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-md);
        border-color: rgba(197, 160, 89, 0.4);
        background: var(--bg-surface-hover);
    }
   
   .erp-card:hover::before {
       opacity: 1;
   }
   
   .erp-card-header {
       padding: 15px 20px;
       border-bottom: 1px solid var(--border-light);
       display: flex;
       justify-content: space-between;
       align-items: center;
   }
   
   .erp-card-title {
       font-size: 1rem;
       font-weight: 700;
       color: var(--text-primary);
       display: flex;
       align-items: center;
       gap: 8px;
   }
   
   .erp-card-title i {
       color: var(--primary-gold);
   }
   
   .erp-card-body {
       padding: 20px;
   }
   
   /* --- Badges --- */
   .badge {
       padding: 4px 8px;
       border-radius: 4px;
       font-size: 0.75rem;
       font-weight: 700;
   }
   .badge-success { background: var(--success-bg); color: var(--success); }
   .badge-danger { background: var(--danger-bg); color: var(--danger); }
   .badge-warning { background: var(--warning-bg); color: var(--warning); }
   
      .btn-erp {
        padding: 10px 20px;
        border-radius: var(--border-radius-sm);
        border: none;
        font-size: 0.95rem;
        font-weight: 600;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: all var(--transition-normal);
    }
      .btn-gold {
        background: linear-gradient(135deg, var(--primary-gold) 0%, var(--primary-dark) 100%);
        color: #000;
        border: 1px solid rgba(255,255,255,0.2);
        box-shadow: 0 4px 10px rgba(197, 160, 89, 0.2);
    }
    .btn-gold:hover { 
        background: linear-gradient(135deg, var(--primary-hover) 0%, var(--primary-gold) 100%);
        box-shadow: 0 6px 20px rgba(197, 160, 89, 0.4);
        transform: translateY(-2px);
    }
      .btn-outline {
        background: transparent;
        border: 1px solid var(--border-color);
        color: var(--primary-gold);
    }
    .btn-outline:hover {
        background: rgba(197, 160, 89, 0.15);
        border-color: var(--primary-gold);
        box-shadow: inset 0 0 10px rgba(197, 160, 89, 0.1);
    }
   
   /* --- Skeleton Loader --- */
   .skeleton {
       background: linear-gradient(90deg, var(--bg-surface-hover) 25%, var(--border-light) 50%, var(--bg-surface-hover) 75%);
       background-size: 200% 100%;
       animation: skeleton-loading 1.5s infinite;
       border-radius: 4px;
   }
   
   .skeleton-text {
       height: 12px;
       margin-bottom: 8px;
       width: 100%;
   }
   
   .skeleton-text.short { width: 60%; }
   .skeleton-title { height: 20px; width: 40%; margin-bottom: 15px; }
   .skeleton-chart { height: 200px; width: 100%; border-radius: var(--border-radius-md); }
   
   @keyframes skeleton-loading {
       0% { background-position: 200% 0; }
       100% { background-position: -200% 0; }
   }
   
   /* --- Command Palette Modal --- */
   .cmd-modal-overlay {
       position: fixed;
       top: 0; left: 0; width: 100%; height: 100%;
       background: rgba(0,0,0,0.6);
       backdrop-filter: blur(5px);
       z-index: 9999;
       display: none;
       align-items: flex-start;
       justify-content: center;
       padding-top: 10vh;
       opacity: 0;
       transition: opacity 0.2s;
   }
   
   .cmd-modal-overlay.active {
       display: flex;
       opacity: 1;
   }
   
   .cmd-modal {
       background: var(--bg-surface);
       width: 100%;
       max-width: 600px;
       border-radius: var(--border-radius-md);
       border: 1px solid var(--border-color);
       box-shadow: var(--shadow-lg);
       transform: translateY(-20px);
       transition: transform 0.2s;
       overflow: hidden;
   }
   
   .cmd-modal-overlay.active .cmd-modal {
       transform: translateY(0);
   }
   
   .cmd-input-container {
       display: flex;
       align-items: center;
       padding: 15px 20px;
       border-bottom: 1px solid var(--border-light);
   }
   
   .cmd-input-container i {
       color: var(--primary-gold);
       font-size: 1.2rem;
       margin-left: 15px;
   }
   
   .cmd-input-container input {
       flex: 1;
       background: transparent;
       border: none;
       color: var(--text-primary);
       font-size: 1.2rem;
       outline: none;
   }
   
   .cmd-results {
       max-height: 300px;
       overflow-y: auto;
   }
   
   .cmd-item {
       padding: 15px 20px;
       display: flex;
       align-items: center;
       gap: 15px;
       cursor: pointer;
       transition: background 0.1s;
       color: var(--text-secondary);
   }
   
   .cmd-item:hover, .cmd-item.selected {
       background: var(--bg-surface-hover);
       color: var(--primary-gold);
       border-right: 3px solid var(--primary-gold);
   }
   
   .cmd-item i {
       width: 20px;
       text-align: center;
   }
/* --- Avatar & Profiles --- */
.avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-gold), var(--primary-dark));
    display: flex; align-items: center; justify-content: center;
    color: #000; font-weight: bold; font-size: 1rem;
    border: 2px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: var(--transition-fast);
}
.avatar:hover { transform: scale(1.05); border-color: var(--primary-gold); }

/* --- Connection Status --- */
.status-indicator {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 12px; border-radius: 20px;
    background: rgba(0,0,0,0.4);
    font-size: 0.8rem; font-weight: 600;
    border: 1px solid var(--border-light);
}
.status-dot {
    width: 8px; height: 8px; border-radius: 50%;
    box-shadow: 0 0 8px currentColor;
}
.status-dot.online { color: var(--success); background: var(--success); }
.status-dot.offline { color: var(--danger); background: var(--danger); }
.status-dot.syncing { color: var(--info); background: var(--info); animation: pulse 1s infinite; }

@keyframes pulse { 0% { opacity: 0.4; } 50% { opacity: 1; } 100% { opacity: 0.4; } }

/* --- Dropdown Menus --- */
.dropdown { position: relative; }
.dropdown-menu {
    position: absolute; top: calc(100% + 15px); left: 0;
    min-width: 260px;
    background: var(--bg-surface);
    backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-lg);
    opacity: 0; visibility: hidden;
    transform: translateY(15px);
    transition: all var(--transition-normal);
    z-index: 1000;
}
.dropdown.active .dropdown-menu {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.dropdown-header {
    padding: 15px; border-bottom: 1px solid var(--border-light);
    font-weight: 700; color: var(--text-primary);
    display: flex; flex-direction: column; gap: 5px;
}
.dropdown-item {
    padding: 12px 15px; display: flex; align-items: center; gap: 12px;
    color: var(--text-secondary); cursor: pointer;
    transition: var(--transition-fast);
    text-decoration: none;
    border: none;
    background: transparent;
    width: 100%;
    text-align: right;
    font-size: 0.95rem;
}
.dropdown-item:hover {
    background: var(--bg-surface-hover);
    color: var(--primary-gold);
}
.dropdown-item i { width: 20px; text-align: center; }
.dropdown-divider { height: 1px; background: var(--border-light); margin: 5px 0; }
