:root {
    --td-primary: #4C7DF0;
    --td-primary-light: #e9efff;
    --td-dark: #1f1f1f;
    --td-muted: #6c757d;
    --td-bg: #f5f7fb;
    --td-radius: 12px;
}
body{
	background: var(--td-bg);
	color: #000000;
	padding-top: 80px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.form-errors {
	background-color: #FFE0B2 !important;
}

.form-success{
	background-color: #C8E6C9 !important;
}
.event-preview {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    letter-spacing: -0.3px;
}

.btn, .nav-link, table, .card-body {
    font-family: inherit;
}
.nav-link.active {
    color: #0d6efd !important;
    border-bottom: 2px solid #0d6efd;
}

/* Wrapper to allow horizontal scrolling */
.table-responsive-sticky-right {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; 
    position: relative;
    /* Ensure enough height so the dropdown doesn't feel cramped, 
       though "strategy: fixed" handles the clipping now. */
    min-height: 250px; 
    padding-bottom: 50px; /* Extra space for the last dropdown if needed */
}

/* Sticky Column Logic */
.sticky-action-col {
    position: -webkit-sticky; 
    position: sticky;
    right: 0;
    /* Base Z-index */
    z-index: 50;
    
    /* Stronger shadow for better separation */
    box-shadow: -4px 0 8px rgba(0, 0, 0, 0.1);
    
    text-align: center;
    vertical-align: middle;
    border-left: 1px solid #dee2e6; /* Adds a physical divider line */
}

/* Header needs to be higher than body cells */
.sticky-action-col.header {
    z-index: 60;
    background-color: #fff !important; /* Force solid white */
}

/* CRITICAL: Z-Index Elevation on Interaction
   When you hover or interact with a cell, we boost its Z-index to 100.
   This ensures the dropdown inside it sits physically "above" the sticky 
   headers of the rows below it.
*/
.sticky-action-col:hover,
.sticky-action-col:focus-within {
    z-index: 100 !important;
}

/* Background Color Enforcement (Solid Opacity)
   We use !important to override any transparent variables or browser defaults.
*/

/* Default row - White */
.table-striped tbody tr .sticky-action-col.cell {
    background-color: #ffffff !important;
}

/* Striped row - Light Gray */
/* We hardcode the bootstrap gray #f2f2f2 to ensure opacity */
.table-striped tbody tr:nth-of-type(odd) .sticky-action-col.cell {
    background-color: #f2f2f2 !important; 
}

/* Hover state - Darker Gray */
.table-hover tbody tr:hover .sticky-action-col.cell {
    background-color: #e9ecef !important;
}

@media (max-width: 768px) {
    .sticky-action-col {
        min-width: 100px;
    }
}
