:root {
  /* Badola Brand Palette */
  --primary: #1A237E;
  --secondary: #C8102E;
  --accent: #FFE800;
  
  /* Layout Adjustments */
  --sidebar-width: 280px;
}

/* Base Styles Overrides */
body {
  font-family: 'Outfit', sans-serif;
}

.hidden { display: none !important; }

/* Custom Badge Styles */
.badge-dot {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}

/* Invoice Specific Utilities */
.text-gradient {
  background: linear-gradient(to right, var(--primary), var(--secondary));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* DashLite Overrides for Badola Branding */
.nk-sidebar {
    background: var(--primary) !important;
    border-right: 3px solid var(--accent) !important;
}

.nk-sidebar-head {
    background: #0D1660 !important; /* Darker navy */
    border-bottom: 2px solid var(--accent) !important;
}

.nk-sidebar .nk-menu-link,
.nk-sidebar .nk-menu-text,
.nk-sidebar .nk-menu-icon em {
    color: rgba(255, 255, 255, 0.8) !important;
}

.nk-sidebar .nk-menu-item.active > .nk-menu-link {
    background: var(--accent) !important;
    color: var(--primary) !important;
}

.nk-sidebar .nk-menu-item.active > .nk-menu-link .nk-menu-text,
.nk-sidebar .nk-menu-item.active > .nk-menu-link .nk-menu-icon em {
    color: var(--primary) !important;
}

.nk-sidebar .overline-title {
    color: var(--accent) !important;
}

.nk-header {
    border-bottom: 3px solid var(--primary) !important;
}

.btn-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.btn-primary:hover {
    background-color: #0D1660 !important;
    border-color: #0D1660 !important;
}

/* Simple Datatables Overrides for DashLite look */
.datatable-table {
    border-collapse: separate;
    border-spacing: 0 10px;
}

.datatable-table tr {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border-radius: 8px;
    transition: transform 0.2s;
}

.datatable-table tr:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.datatable-table td {
    padding: 1.25rem 1rem !important;
    border: none !important;
}

.datatable-table th {
    border-bottom: none !important;
    color: #8094ae !important;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
}

/* Modal Overlay Fix */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    z-index: 1050;
    display: none;
    align-items: center;
    justify-content: center;
}

.modal-overlay.active {
    display: flex;
}

/* --- Modern Table Styling --- */
.datatable-table, .nk-tb-list {
    border-collapse: collapse !important;
    width: 100%;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.025);
}
.datatable-table th, .nk-tb-head .nk-tb-col {
    background-color: #f9fafb !important;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    padding: 1rem 1.5rem !important;
    border-bottom: 2px solid #e5e7eb !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}
.datatable-table td, .nk-tb-item:not(.nk-tb-head) .nk-tb-col {
    padding: 1rem 1.5rem !important;
    vertical-align: middle;
    border-bottom: 1px solid #f3f4f6 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}
.nk-tb-item:hover:not(.nk-tb-head) {
    background-color: #f9fafb;
}
.datatable-table tbody tr:last-child td, .nk-tb-item:last-child .nk-tb-col {
    border-bottom: none !important;
}
.card-bordered {
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    border-radius: 0.5rem;
}

[data-theme="dark"] .datatable-table, 
[data-theme="dark"] .nk-tb-list {
    background-color: #1c2b46;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
[data-theme="dark"] .datatable-table th, 
[data-theme="dark"] .nk-tb-head .nk-tb-col {
    background-color: #1f2b3a !important;
    color: #9ca3af;
    border-bottom-color: #374151 !important;
}
[data-theme="dark"] .datatable-table td, 
[data-theme="dark"] .nk-tb-item:not(.nk-tb-head) .nk-tb-col {
    border-bottom-color: #374151 !important;
}
[data-theme="dark"] .card-bordered {
    border-color: #374151 !important;
}

/* --- Invoice Modal Layout Fix --- */
.item-row {
    border-bottom: 1px solid #dbdfea;
    transition: background 0.2s;
}
.item-row:hover {
    background: #f5f6fa;
}
.item-row .row {
    align-items: center;
}
.item-row .form-control-sm {
    height: 32px;
}
.text-dim {
    color: #8094ae;
}
