/* SIGMA LUGGAGE DESIGN SYSTEM - Version 3.9.0 */
/* Strict Typography: Inter (UI/Labels) & Carme (Headings/Data) */
/* Adjustments: Strictly Zero Letter Spacing, Scaled-Up Font Weights (600+) */
/* UX Fix: Definitively Breaking Dropdowns out of Responsive Table Containers */

@import url('https://fonts.googleapis.com/css2?family=Carme&family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
    /* Brand Colors */
    --accent: #D2275B;
    --accent-rgb: 210, 39, 91;
    --dark: #0F172A;
    --bg-light: #F8FAFC;
    --white: #FFFFFF;
    --border-color: #E2E8F0;
    
    /* Strict Typeface Pairing */
    --font-main: 'Inter', sans-serif; 
    --font-data: 'Carme', sans-serif;  
    
    /* Enterprise Typography Scale - Maximum Visibility & Professional Scaling */
    --fs-h1: 3.2rem;
    --fs-h2: 2.8rem;
    --fs-h3: 2.2rem;
    --fs-section: 16px;   
    --fs-body: 18px;      
    --fs-meta: 16px;      
    
    --sigma-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- NUCLEAR FONT RESET --- */
/* Forces Inter, strictly removes letter spacing, and ensures high visibility */
*, *::before, *::after {
    font-family: var(--font-main);
    letter-spacing: 0 !important; 
    -webkit-font-smoothing: antialiased;
}

/* --- FOUNDATION --- */
body {
    font-family: var(--font-main) !important;
    background-color: var(--bg-light);
    color: #1E293B;
    margin: 0;
    line-height: 1.7;
    font-size: var(--fs-body);
}

/* --- TYPOGRAPHY ENGINE --- */
h1, h2, h3, h4, h5, h6, 
.font-heading, .brand-font, .display-1, .display-2, .display-3 { 
    font-family: var(--font-data) !important; 
    font-weight: 700; 
    color: var(--dark);
    margin-bottom: 1rem;
}

/* Card and Container Titles - High Visibility */
.card-header h6, .card-title, .font-section { 
    font-family: var(--font-main) !important;
    font-size: var(--fs-section) !important; 
    font-weight: 900 !important; /* Heaviest weight for headers */
    text-transform: uppercase; 
    color: var(--dark) !important; 
}

.font-body { 
    font-family: var(--font-main) !important;
    font-size: var(--fs-body) !important; 
    font-weight: 600; /* Increased weight for visibility */
}

.font-meta { 
    font-family: var(--font-main) !important;
    font-size: var(--fs-meta) !important; 
    font-weight: 800; 
    text-transform: uppercase; 
    color: #475569; 
}

/* --- ENTERPRISE UI COMPONENTS --- */
.btn-sigma {
    background-color: var(--accent) !important;
    color: white !important;
    border: none !important;
    border-radius: 16px;
    padding: 18px 40px; 
    font-size: 18px !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 30px rgba(var(--accent-rgb), 0.35);
    transition: var(--sigma-transition);
}
.btn-sigma:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(var(--accent-rgb), 0.45); }

.card {
    border: 1px solid var(--border-color);
    border-radius: 35px;
    box-shadow: 0 12px 45px rgba(0,0,0,0.04);
    background: #fff;
    /* OVERFLOW FIX: Ensure the card depth allows dropdown breakout */
    overflow: visible !important; 
}

/* --- THE ULTIMATE DROPDOWN BREAKOUT (V3.9.0) --- */
/* The 'table-responsive' usually traps the dropdown. 
   We force the container to be visible on desktop while keeping the scroll buffer for mobile.
*/
.table-responsive {
    overflow: visible !important; 
    min-height: 450px; /* Buffer space for the last row dropdown */
}

/* On mobile, we use a padding trick to ensure the menu has space to 'be' without scrolling the whole page */
@media (max-width: 992px) {
    .table-responsive {
        overflow-x: auto !important;
        overflow-y: visible !important;
        padding-bottom: 180px !important;
        margin-bottom: -180px !important;
    }
}

/* Absolute Top-Level Z-Index for Dropdowns */
.dropdown-menu {
    z-index: 10000 !important;
    position: absolute !important;
    border: none !important;
    box-shadow: 0 30px 90px rgba(0,0,0,0.25) !important;
    border-radius: 24px !important;
    padding: 15px !important;
    background-color: #fff !important;
    min-width: 220px;
}

.dropdown-item {
    border-radius: 14px;
    padding: 14px 24px; 
    font-weight: 700; 
    font-size: 16px; 
    color: var(--dark);
    margin: 4px 0;
}

.dropdown-item:hover {
    background-color: var(--bg-light);
    color: var(--accent);
}

/* --- DASHBOARD ALIGNMENT FIX --- */
.h-100 { height: 100% !important; }
.row-equal-height { display: flex; flex-wrap: wrap; }
.row-equal-height > [class*='col-'] { display: flex; flex-direction: column; }

/* --- TABLES --- */
.table {
    font-family: var(--font-main) !important;
    vertical-align: middle;
}

.table th {
    font-weight: 900;
    font-size: 15px !important; 
    text-transform: uppercase;
    color: #475569;
    background: #F8FAFC;
    padding: 25px 20px;
    border-bottom: 2px solid #F1F5F9 !important;
}

.table td {
    padding: 25px 20px;
    font-weight: 700; /* Bolder table data */
    font-size: 18px !important; 
    color: #1E293B;
    border-bottom: 1px solid #F1F5F9;
}

/* --- FORM CONTROLS --- */
.form-control, .form-select {
    border-radius: 18px;
    padding: 18px 25px; 
    font-size: 18px; 
    font-weight: 600;
    border: 2px solid #E2E8F0;
    background: #fff;
}
.form-control:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 6px rgba(var(--accent-rgb), 0.1);
}

/* Sidebar Navigation - High Density & Bolder */
.sidebar {
    background: var(--dark);
    box-shadow: 15px 0 45px rgba(0,0,0,0.25);
}

.sidebar .nav-link {
    font-weight: 700;
    font-size: 18px !important; 
    padding: 18px 30px;
    margin: 8px 15px;
    border-radius: 20px;
    color: #94A3B8;
}

.sidebar .nav-link.active {
    background: var(--accent) !important;
    color: white !important;
    box-shadow: 0 15px 35px rgba(var(--accent-rgb), 0.45);
}

/* Badge Styling */
.badge {
    font-weight: 900;
    font-size: 13px !important;
    padding: 10px 20px;
    border-radius: 50px;
    text-transform: uppercase;
}

@media (max-width: 992px) {
    .main-wrapper { margin-left: 0; width: 100%; }
}