:root {
    /* Primary colors */
    --bs-primary: #4a6377;
    --bs-primary-rgb: 74,99,119;

    --bs-primary-dark: #3a4f5f;
    --bs-primary-dark-rgb: 58,79,95;
    
    /* Info colors */
    --bs-info: #2c3e50;
    --bs-info-rgb: 44,62,80;
    
    --bs-info-dark: #1a2530;
    --bs-info-dark-rgb: 26,37,48;
    /* Warning colors */
    --bs-warning: #f4a621;
    --bs-warning-rgb: 244,166,33;

    --bs-warning-dark: #d18a0d;
    --bs-warning-dark-rgb: 209,138,13;

    /* Success colors */
    --bs-success: #198754;
    --bs-success-rgb: 25,135,84;

    --bs-success-dark: #146c43;
    --bs-success-dark-rgb: 20,108,67;

    /* Danger colors */
    --bs-danger: #dc3545;
    --bs-danger-rgb: 220,53,69;

    --bs-danger-dark: #bb2d3b;
    --bs-danger-dark-rgb: 187,45,59;

    --bs-black: #3b3b3b;
    --bs-black-rgb: 59,59,59;

    --bs-white: #f8f8f8;
    --bs-white-rgb: 248,248,248;

    --bootstrap-black: #212529;
    --bootstrap-black-rgb: 33,37,41;
}

/* Define the font-face */
@font-face {
    font-family: 'Satoshi';
    src: url('fonts/Satoshi-Variable.ttf') format('truetype-variations');
    font-weight: 100 900; /* Variable font weight range */
    font-style: normal;
    font-display: swap; 
}

/* Apply the font */
/* body {
    font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
} */

/* Fixed navbar compensation - add padding to body to prevent content overlap */
body {
    padding-top: 24px; /* Height of fixed navbar + small buffer */
}


/* Adjust main container padding to work with fixed navbar */
main.container {
    padding-top: 1.5rem !important; /* Reduce from py-4 (2.5rem) to prevent excessive spacing */
    padding-bottom: 1.5rem !important;
}

/* Active nav link styles */
.navbar .nav-link.active {
    color: var(--bs-warning) !important;
    font-weight: 600;
    position: relative;
}

/* Hover styles */
.navbar .nav-link:not(.active):hover {
    color: rgba(255, 255, 255, 0.8) !important;
}

.font-light {
    font-weight: 300;
}

.font-regular {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-bold {
    font-weight: 700;
}

.link-primary {
    color: var(--bs-primary) !important;
    text-decoration: none !important;
}

.link-primary:hover {
    color: var(--bs-primary-dark) !important;
    text-decoration: underline !important;
}


.text-white {
    color: var(--bs-white) !important;
}

.text-black {
    color: var(--bs-black) !important;
}

.navbar a,
.nav-link {
    color: var(--bs-white) !important;
}

.navbar a:hover,
.nav-link:hover {
    color: var(--bs-white) !important;
    opacity: 0.8;
}

/* Supply modal styles */
#editSupplyModal .modal-dialog {
    max-width: 600px;
}

#editSupplyModal .form-control-plaintext {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 0.375rem 0.75rem;
}

#editSupplyModal .text-primary {
    color: var(--bs-primary) !important;
}

.alert-info {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    color: var(--bs-white) !important;
}

/* Button and background styles */
.bg-primary, .btn-primary { 
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-white) !important;
}

.bg-primary-gradient {
    background: linear-gradient(135deg, #4a6377, #2c3e50);
    color: var(--bs-white) !important;
}

.bg-secondary-gradient {
    border-color: white;
    background: linear-gradient(135deg, #4a6377, #f4a621);
    color: var(--bs-white) !important;
}

.btn-primary:hover {
    background-color: var(--bs-primary-dark) !important;
    border-color: var(--bs-primary-dark) !important;
}

.bg-info, .btn-info { 
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    color: var(--bs-white) !important;
}

.btn-info:hover {
    background-color: var(--bs-info-dark) !important;
    border-color: var(--bs-info-dark) !important;
}

.bg-warning, .btn-warning { 
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    color: var(--bs-black) !important;
}

.btn-warning:hover {
    background-color: var(--bs-warning-dark) !important;
    border-color: var(--bs-warning-dark) !important;
}

/* Outline button variants */
.btn-outline-primary {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
    color: var(--bs-white) !important;
}

.btn-outline-info {
    color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
}

.btn-outline-info:hover {
    background-color: var(--bs-info) !important;
    color: var(--bs-white) !important;
}

.btn-outline-warning {
    color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
}

.btn-outline-warning:hover {
    background-color: var(--bs-warning) !important;
    color: var(--bs-black) !important;
}

/* Form control focus styles */
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25) !important;
}

.form-control:hover,
.form-select:hover {
    border-color: var(--bs-primary) !important;
}

/* For a subtle transition effect */
.form-control,
.form-select {
    transition: border-color 0.15s ease-in-out;
}

/* Custom checkbox and radio styles */
.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.form-check-input:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25) !important;
}

.chart-container {
    position: relative;
    min-height: 30vh;
    width: 100%;
}

.card {
    border: none;
    box-shadow: 4px 6px 10px rgba(0, 0, 0, 0.12) !important;
}

/* Mobile container padding optimization - global */
@media (max-width: 768px) {
    .container,
    .container-fluid {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Reduce card padding on mobile */
    .card-body {
        padding: 0.75rem !important;
    }
    
    /* Reduce main content margins */
    .mt-4 {
        margin-top: 1rem !important;
    }
    
    .mb-4 {
        margin-bottom: 1rem !important;
    }
}

@media (max-width: 576px) {
    .container,
    .container-fluid {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    .card-body {
        padding: 0.5rem !important;
    }
}


@media (max-width: 768px) {
    .list-group-item {
        padding: 0.75rem !important;
    }
    
    .list-group-item .badge {
        margin-left: 0.5rem !important;
    }

    .chart-container {
        height: 40vh !important;
    }
}

/* Navbar and dropdown styles */
.navbar .dropdown-menu {
    background-color: var(--bootstrap-black) !important;  /* Same as navbar */
    border: none;
    box-shadow: 4px 6px 10px rgba(0, 0, 0, 0.12) !important;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.1) !important;  /* Subtle white overlay */
    color: var(--bs-white) !important;
}

.navbar .dropdown-menu .dropdown-item.active {
    background-color: var(--bs-warning) !important;  /* Match navbar active state */
    color: var(--bs-black) !important;
}

/* Dropdown item color variants with matching hover/active states */
.dropdown-item.text-success:hover,
.dropdown-item.text-success:focus {
    background-color: var(--bs-success) !important;
    color: var(--bs-white) !important;
}

.dropdown-item.text-success:active {
    background-color: var(--bs-success-dark) !important;
    color: var(--bs-white) !important;
}

.dropdown-item.text-primary:hover,
.dropdown-item.text-primary:focus {
    background-color: var(--bs-primary) !important;
    color: var(--bs-white) !important;
}

.dropdown-item.text-primary:active {
    background-color: var(--bs-primary-dark) !important;
    color: var(--bs-white) !important;
}

.dropdown-item.text-danger:hover,
.dropdown-item.text-danger:focus {
    background-color: var(--bs-danger) !important;
    color: var(--bs-white) !important;
}

.dropdown-item.text-danger:active {
    background-color: var(--bs-danger-dark) !important;
    color: var(--bs-white) !important;
}


.select2-container--bootstrap-5 .select2-selection {
    /* display: block; */
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    height: 37.8px;
}

/* Label styles */
.label-content {
    font-size: 8pt;
    width: 2.5in;
    padding: 0.125in;
    border: 1px solid var(--bs-border-color);
}

.label-content h3 {
    font-size: 9pt;
    margin-bottom: 2pt;
    font-weight: bold;
}

.label-content h4 {
    font-size: 6pt;
    margin-top: 8pt;
    margin-bottom: 4pt;
    font-weight: bold;
}

.label-preview {
    margin-top: 1.5rem;
}

.label-config {
    margin: 20px 0;
}


.page-title {
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 0.75rem;
    margin-top: .5rem;
    position: relative;
    display: inline-block;
  }
  
  .page-title:after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 40%;
    height: 4px;
    background: linear-gradient(90deg, #4a6377, #f4a621);
    border-radius: 2px;
  } 

#preview-barcode img{
    max-width: 180px!important;
    width: 180px!important;
    height: auto;
    margin: 0 auto;
    display: block;
}

#nutritional-values {
    margin: 4px 0px;
}
.nutrition-table {
    width: 100%;
    border-collapse: collapse;
    margin: 4pt 0;
}

.nutrition-table td {
    font-size: 7pt;
    padding: 0pt 4pt;
    border-bottom: 1px solid #e0e0e0;
}

.nutrition-table tr:last-child td {
    border-bottom: none;
}

/* Custom Toggle Checkbox */
.checkbox-wrapper input[type="checkbox"] {
    visibility: hidden;
    display: none;
}

.checkbox-wrapper .toggle {
    position: relative;
    display: block;
    width: 40px;
    height: 20px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transform: translate3d(0, 0, 0);
}

.checkbox-wrapper .toggle:before {
    content: "";
    position: relative;
    top: 3px;
    left: 3px;
    width: 34px;
    height: 14px;
    display: block;
    background: #9A9999;
    border-radius: 8px;
    transition: background 0.2s ease;
}

.checkbox-wrapper .toggle span {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    display: block;
    background: white;
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(154, 153, 153, 0.5);
    transition: all 0.2s ease;
}

.checkbox-wrapper .toggle span:before {
    content: "";
    position: absolute;
    display: block;
    margin: -18px;
    width: 56px;
    height: 56px;
    background: rgba(var(--bs-warning-rgb), 0.5);
    border-radius: 50%;
    transform: scale(0);
    opacity: 1;
    pointer-events: none;
}

.checkbox-wrapper input:checked + .toggle:before {
    background: var(--bs-warning);
    opacity: 0.6;
}

.checkbox-wrapper input:checked + .toggle span {
    background: var(--bs-warning);
    transform: translateX(20px);
    transition: all 0.2s cubic-bezier(0.8, 0.4, 0.3, 1.25), background 0.15s ease;
    box-shadow: 0 3px 8px rgba(var(--bs-warning-rgb), 0.2);
}

.checkbox-wrapper input:checked + .toggle span:before {
    transform: scale(1);
    opacity: 0;
    transition: all 0.4s ease;
}

/* Scrollable Containers */
.scrollable-container {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
    overflow-y: auto;
}

.scrollable-container::-webkit-scrollbar {
    width: 6px;
}

.scrollable-container::-webkit-scrollbar-track {
    background: transparent;
}

.scrollable-container::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
}

.scrollable-container::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.3);
}

/* Scrollable container heights */
.scrollable-container--large {
    max-height: 300px;
}

.scrollable-container--medium {
    max-height: 200px;
}

/* Card body overflow handling */
.card.h-100 .card-body {
    overflow: hidden;
}

/* Settings Page Styles - Following 2025 UI/UX trends */
.settings-sidebar {
    min-height: 300px;
}

.settings-sidebar-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.settings-nav {
    padding: 0;
}

.settings-nav-link {
    display: flex;
    align-items: center;
    padding: 1rem 1.5rem;
    color: var(--bs-body-color);
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    transition: all 0.2s ease;
    position: relative;
}

.settings-nav-link:hover:not(.disabled) {
    background-color: rgba(var(--bs-primary-rgb), 0.05);
    color: var(--bs-primary);
    text-decoration: none;
    padding-left: 2rem;
}

.settings-nav-link.active {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
    border-right: 3px solid var(--bs-primary);
    font-weight: 500;
}

.settings-nav-link.disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.settings-section {
    display: block;
}

.setting-group {
    padding: 2rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.setting-group:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.setting-label {
    position: sticky;
    top: 2rem;
}

.setting-control .form-select {
    max-width: 300px;
    transition: all 0.2s ease;
}

.setting-control .form-select:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.15);
    border-color: var(--bs-primary);
}

.currency-preview {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,0.05);
}

.currency-preview-value {
    font-size: 1.1rem;
    color: var(--bs-primary);
}

.form-actions {
    background: rgba(0,0,0,0.01);
    margin: 0 -1.5rem -1.5rem -1.5rem;
    padding: 1.5rem;
    border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}

.btn {
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.alert {
    border: none;
    border-radius: 12px;
    padding: 1rem 1.25rem;
}

.alert-success {
    background: linear-gradient(135deg, #d1edff 0%, #e8f5e8 100%);
    color: #0d5a1c;
    border-left: 4px solid #198754;
}

/* Settings Mobile Collapse */
.settings-sidebar-toggle {
    display: none;
    width: 100%;
    background: var(--bs-primary);
    color: var(--bs-white);
    border: none;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.settings-sidebar-toggle:hover {
    background: var(--bs-primary-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb), 0.3);
}

.settings-sidebar-toggle i {
    transition: transform 0.3s ease;
}

.settings-sidebar-toggle.collapsed i {
    transform: rotate(180deg);
}

.settings-sidebar-collapse {
    display: block;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .setting-group .row {
        flex-direction: column;
    }
    
    .setting-label {
        position: static;
        margin-bottom: 1rem;
    }
    
    .settings-nav-link {
        padding: 0.75rem 1rem;
    }
    
    .settings-nav-link:hover:not(.disabled) {
        padding-left: 1.5rem;
    }
    
    .settings-sidebar-toggle {
        display: block;
    }
    
    .settings-sidebar-collapse {
        display: none;
    }
    
    .settings-sidebar-collapse.show {
        display: block;
    }
    
    .settings-sidebar {
        min-height: auto;
    }
}

/* Supplier Order Styles */
/* Quantity increment/decrement buttons - ensure consistent sizing */
.quantity-increment,
.quantity-decrement {
    min-width: 32px !important;
    width: 32px !important;
    padding: 0.25rem 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Order form mobile-friendly styling */
@media (max-width: 768px) {
    .supplier-order-form .form-control {
        font-size: 16px; /* Prevents zoom on iOS */
    }

    .supplier-order-form .col-md-6 {
        margin-bottom: 1rem;
    }

    .supplier-order-form .btn:not(.quantity-increment):not(.quantity-decrement),
    .supplier-order-result .btn {
        font-size: 14px;
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .supplier-order-form .btn:last-child:not(.quantity-increment):not(.quantity-decrement),
    .supplier-order-result .btn:last-child {
        margin-bottom: 0;
    }

    .supplier-order-result #order-text {
        font-size: 12px;
        line-height: 1.4;
    }
}

/* Order form input styling */
.supplier-order-form input[type="number"] {
    font-size: 1rem;
    padding: 0.5rem;
}

.supplier-order-form .form-label {
    font-weight: 500;
    margin-bottom: 0.25rem;
}

/* Order text area styling */
#order-text {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: monospace;
}

/* Copy button success state */
.btn-success.copied {
    background-color: #198754;
    border-color: #198754;
}

/* Delete button hover effect */
.btn-outline-danger:hover {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: white !important;
}

/* Archived recipe styling */
.recipe-archived {
    opacity: 0.7;
}

.recipe-archived .recipe-name {
    text-decoration: line-through;
    color: #6c757d;
}

/* Archive toggle button styling */
.btn-archive-toggle {
    transition: all 0.2s ease;
}

.btn-archive-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Archived dish styling */
.dish-archived {
    opacity: 0.7;
}

.dish-archived .dish-name {
    text-decoration: line-through;
    color: #6c757d;
}

/* Small badge utility for inline status in titles */
.badge-small {
    font-size: 1rem !important;
    padding: 0.2em 0.45em !important;
    vertical-align: middle;
}

/* Select2 Dropdown Max Height and Scrolling */
.select2-dropdown {
    max-height: 300px !important;
    z-index: 1055 !important;
}

.select2-dropdown .select2-results {
    max-height: 250px !important;
    overflow-y: auto !important;
}


/* ===== MOBILE-OPTIMIZED SUPPLY CARDS ===== */

/* Hide number input spinner arrows to save space */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Mobile supply cards - improved layout */
.supply-card {
    margin-bottom: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.supply-card .card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    padding: 0.75rem 1rem;
}

.supply-card .card-body {
    padding: 1rem;
}

/* Mobile-specific supply card adjustments */
@media (max-width: 768px) {
    .supply-card .card-header {
        padding: 0.5rem 0.75rem;
    }
    
    .supply-card .card-body {
        padding: 0.75rem !important; /* Override global card-body padding for supply cards */
    }
    
    .supply-card {
        margin-bottom: 0.75rem;
    }
}

/* Fix for date input calendar icon visibility */
input[type="date"].form-control::-webkit-calendar-picker-indicator {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5 0zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: 0.6;
}

@media (max-width: 576px) {
    .supply-card .card-body {
        padding: 0.5rem !important;
    }
}

/* Mobile input fields styling */
.supply-card input[type="number"],
.supply-card select {
    font-size: 16px; /* Prevents zoom on iOS */
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
}

/* Touch-friendly buttons */
.supply-card .btn {
    min-height: 44px; /* Touch target minimum */
}

/* Mobile field grid layout - two columns for better space usage */
.supply-fields-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

/* Two-column layout for smaller fields */
.supply-fields-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    width: 100%;
}

.supply-fields-row > div {
    min-width: 0; /* Prevent overflow */
}

/* Full width for item selector */
.supply-field-full-width {
    grid-column: 1 / -1;
}

/* Field labels */
.supply-field-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #6c757d;
    margin-bottom: 0.25rem;
    display: block;
}

/* Calculated values display */
.supply-calc-display {
    background-color: #f8f9fa;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    border: 1px solid #dee2e6;
    font-size: 0.875rem;
    color: #495057;
    margin-bottom: 0.75rem;
    text-align: center;
    font-weight: 500;
}

/* Summary section in mobile cards */
.supply-summary {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e9ecef;
}

.supply-summary .supply-fields-row {
    margin-bottom: 0.75rem;
}

.supply-summary .supply-field-full-width {
    margin-bottom: 0;
}

.supply-summary-item {
    padding: 0.5rem;
    background-color: #f8f9fa;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    text-align: center;
}

.supply-summary-label {
    font-weight: 600;
    color: #6c757d;
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
}

.supply-summary-value {
    color: #495057;
    font-weight: 500;
}

/* Pagination active page highlight */
.pagination .page-item.active .page-link.pagination-current {
    background-color: var(--bs-primary-dark) !important;
    border-color: var(--bs-primary-dark) !important;
}

/* Frozen first column for horizontal scrolling tables */
.order-table th:first-child,
.order-table td:first-child,
.invoice-table th:first-child,
.invoice-table td:first-child {
    position: sticky;
    left: 0;
    background-color: white !important;
    z-index: 10;
}

.order-table thead th:first-child,
.invoice-table thead th:first-child {
    z-index: 11;
}

/* Striped table rows - ensure frozen column matches the stripe pattern exactly */
.order-table.table-striped tbody tr:nth-of-type(odd) td:first-child,
.order-table.table-striped tbody tr:nth-of-type(even) td:first-child {
    background-color: white !important;
}

/* Invoice table - allow text wrapping in frozen column on mobile */
@media (max-width: 768px) {
    .invoice-table th:first-child,
    .invoice-table td:first-child {
        min-width: 100px;
        max-width: 150px;
        overflow-wrap: break-word;
        white-space: normal;
    }
}

/* Draggable supply rows styles */
.drag-handle {
    cursor: move !important;
    user-select: none;
}

.drag-handle:hover i {
    color: var(--bs-primary) !important;
}

.supply-row.dragging {
    opacity: 0.6;
    background-color: #f8f9fa;
}

.supply-row.ui-sortable-helper {
    display: table;
    background-color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.supply-row.ui-sortable-placeholder {
    visibility: visible !important;
    background-color: #e9ecef;
    border: 2px dashed var(--bs-primary);
}

/* Mobile card dragging styles */
.supply-card .card-header {
    cursor: move !important;
    user-select: none;
}

.supply-card.dragging {
    opacity: 0.6;
}

.supply-card.ui-sortable-helper {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transform: rotate(2deg);
}

.supply-card.ui-sortable-placeholder {
    visibility: visible !important;
    background-color: #e9ecef;
    border: 2px dashed var(--bs-primary);
    height: 200px !important;
}
