/* Comprehensive Mantine color system for grid cells */
/* Text highlighting approach with absolute positioning for status cells */

/* Hide highlighting during cell editing to prevent dropdown positioning issues */
.ag-theme-alpine.ag-theme-custom-theme .ag-cell.ag-cell-inline-editing::before {
    display: none !important;
}

.ag-theme-alpine.ag-theme-custom-theme .ag-cell.ag-cell-inline-editing {
    color: inherit !important; /* Restore text color during editing for search functionality */
    font-size: inherit !important; /* Restore font size during editing for search functionality */
}

/* Base style for highlighted text cells - text-only highlighting */
.ag-theme-alpine.ag-theme-custom-theme .ag-cell.text-highlighted {
    text-align: center;
    font-size: 0; /* Hide original text */
}

.ag-theme-alpine.ag-theme-custom-theme .ag-cell.text-highlighted::before {
    content: var(--cell-text);
    font-size: 12px;
    font-weight: 500;
    padding: 5px 5px;
    border-radius: 4px;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    will-change: transform, box-shadow, filter;
    /* cursor: pointer; */
}

/* Hover effects for all text-highlighted cells */
.ag-theme-alpine.ag-theme-custom-theme .ag-cell.text-highlighted:hover::before {
    box-shadow: 0 0.5px 1px rgba(0, 0, 0, 0.10) !important;
    -webkit-filter: brightness(1.25) !important;
    filter: brightness(1.25) !important;
    -webkit-transform: scale(1.02) !important;
    transform: scale(1.02) !important;
}

/* Special styling for number input columns */
.ag-theme-alpine.ag-theme-custom-theme .ag-cell.number-input {
    text-align: center;
    font-size: 0; /* Hide original text */
}
.ag-theme-alpine.ag-theme-custom-theme .ag-cell.number-input:hover::before {
    -webkit-filter: brightness(2);
    filter: brightness(2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
}
.ag-theme-alpine.ag-theme-custom-theme .ag-cell.number-input::before {
    content: var(--cell-text);
    font-weight: 500;
    border-radius: 4px;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    will-change: transform, filter;
    font-size: 13px;
    /* font-family: 'Arial', monospace; */
    padding: 4px 4px;
}


/* ==================== STATUS COLORS (Text Highlighted) ==================== */

/* Dark Red - Sequencing Incorrect */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-red.text-highlighted::before {
    color: var(--mantine-color-red-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-red-8) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-red.text-highlighted::before {
    color: var(--mantine-color-red-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-red-6) 40%, transparent);
}

/* Gray - Designed */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-gray.text-highlighted::before {
    color: var(--mantine-color-gray-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-gray-6) 25%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-gray.text-highlighted::before {
    color: var(--mantine-color-gray-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-gray-5) 35%, transparent);
}

/* Dark Orange - Reagents Ordered/Received */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-orange.text-highlighted::before {
    color: var(--mantine-color-orange-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-orange-8) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-orange.text-highlighted::before {
    color: var(--mantine-color-orange-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-orange-6) 40%, transparent);
}

/* Dark Yellow - Fragments Created/Transformed */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-yellow.text-highlighted::before {
    color: var(--mantine-color-yellow-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-yellow-8) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-yellow.text-highlighted::before {
    color: var(--mantine-color-yellow-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-yellow-6) 40%, transparent);
}

/* Light Yellow - Sent for Sequencing */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-light-yellow.text-highlighted::before {
    color: var(--mantine-color-yellow-5) !important;
    background-color: color-mix(in srgb, var(--mantine-color-yellow-4) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-light-yellow.text-highlighted::before {
    color: var(--mantine-color-yellow-6) !important;
    background-color: color-mix(in srgb, var(--mantine-color-yellow-3) 40%, transparent);
}

/* Light Lime - Sequencing Partial */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-light-lime.text-highlighted::before {
    color: var(--mantine-color-lime-5) !important;
    background-color: color-mix(in srgb, var(--mantine-color-lime-4) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-light-lime.text-highlighted::before {
    color: var(--mantine-color-lime-6) !important;
    background-color: color-mix(in srgb, var(--mantine-color-lime-3) 40%, transparent);
}

/* Green - Sequencing Correct */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-green.text-highlighted::before {
    color: var(--mantine-color-green-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-green-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-green.text-highlighted::before {
    color: var(--mantine-color-green-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-green-5) 40%, transparent);
}

/* Dark Green - Forward Direction */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-green.text-highlighted::before {
    color: var(--mantine-color-green-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-green-8) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-green.text-highlighted::before {
    color: var(--mantine-color-green-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-green-6) 40%, transparent);
}

/* Blue - Cell Stock */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-blue.text-highlighted::before {
    color: var(--mantine-color-blue-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-blue-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-blue.text-highlighted::before {
    color: var(--mantine-color-blue-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-blue-5) 40%, transparent);
}

/* Dark Indigo - Cell Stock & Mini */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-indigo.text-highlighted::before {
    color: var(--mantine-color-indigo-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-indigo-8) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-indigo.text-highlighted::before {
    color: var(--mantine-color-indigo-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-indigo-6) 40%, transparent);
}

/* Dark Violet - Cell Stock & Midi+ */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-violet.text-highlighted::before,
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-purple.text-highlighted::before {
    color: var(--mantine-color-violet-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-violet-8) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-violet.text-highlighted::before,
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-purple.text-highlighted::before {
    color: var(--mantine-color-violet-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-violet-6) 40%, transparent);
}

/* Dark Gray - Abandoned */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-dark-gray.text-highlighted::before {
    color: var(--mantine-color-gray-3) !important;
    background-color: color-mix(in srgb, var(--mantine-color-gray-7) 30%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-dark-gray.text-highlighted::before {
    color: var(--mantine-color-gray-8) !important;
    background-color: color-mix(in srgb, var(--mantine-color-gray-6) 40%, transparent);
}

/* Tan - Historic */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-tan.text-highlighted::before {
    color: #ffe6c7 !important;
    background-color: #705e44cd;
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-tan.text-highlighted::before {
    color: #8a775d !important;
    background-color: #ebd3b5b7;
}

/* Red - Kanamycin */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-red.text-highlighted::before {
    color: var(--mantine-color-red-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-red-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-red.text-highlighted::before {
    color: var(--mantine-color-red-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-red-5) 40%, transparent);
}

/* Teal - Chloramphenicol */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-teal.text-highlighted::before {
    color: var(--mantine-color-teal-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-teal-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-teal.text-highlighted::before {
    color: var(--mantine-color-teal-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-teal-5) 40%, transparent);
}

/* Cyan - NGS PCR2 */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-cyan.text-highlighted::before {
    color: var(--mantine-color-cyan-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-cyan-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-cyan.text-highlighted::before {
    color: var(--mantine-color-cyan-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-cyan-5) 40%, transparent);
}

/* Pink - Spectinomycin */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-pink.text-highlighted::before {
    color: var(--mantine-color-pink-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-pink-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-pink.text-highlighted::before {
    color: var(--mantine-color-pink-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-pink-5) 40%, transparent);
}

/* Yellow - Tetracycline */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-yellow.text-highlighted::before {
    color: var(--mantine-color-yellow-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-yellow-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-yellow.text-highlighted::before {
    color: var(--mantine-color-yellow-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-yellow-5) 40%, transparent);
}

/* Orange - General use */
html[data-mantine-color-scheme='dark'] .ag-cell.cell-orange.text-highlighted::before {
    color: var(--mantine-color-orange-4) !important;
    background-color: color-mix(in srgb, var(--mantine-color-orange-6) 35%, transparent);
}
html[data-mantine-color-scheme='light'] .ag-cell.cell-orange.text-highlighted::before {
    color: var(--mantine-color-orange-7) !important;
    background-color: color-mix(in srgb, var(--mantine-color-orange-5) 40%, transparent);
}



/* ==================== TEXT COLORS (Non-highlighted) ==================== */
/* Indigo text for name column with enhanced visual effects */
html[data-mantine-color-scheme='dark'] .ag-cell.indigo-text {
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 600;
    color: var(--mantine-color-indigo-3) !important;
    /* cursor: text; */
    transition: color 0.2s ease, text-shadow 0.2s ease;
}
html[data-mantine-color-scheme='light'] .ag-cell.indigo-text {
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 600;
    color: var(--mantine-color-indigo-6) !important;
    /* cursor: text; */
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

/* Hover effects for name column */
html[data-mantine-color-scheme='dark'] .ag-cell.indigo-text:hover {
    color: var(--mantine-color-indigo-2) !important;
    /* text-shadow: 0 0 12px rgba(96, 165, 250, 0.4); */
}
html[data-mantine-color-scheme='light'] .ag-cell.indigo-text:hover {
    color: var(--mantine-color-indigo-9) !important;
    /* text-shadow: 0 0 12px rgba(29, 78, 216, 0.4); */
}

/* Violet text for oligo name column with enhanced visual effects */
html[data-mantine-color-scheme='dark'] .ag-cell.violet-text {
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 600;
    color: var(--mantine-color-violet-3) !important;
    /* cursor: text; */
    transition: color 0.2s ease, text-shadow 0.2s ease;
}
html[data-mantine-color-scheme='light'] .ag-cell.violet-text {
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 600;
    color: var(--mantine-color-violet-6) !important;
    /* cursor: text; */
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

/* Hover effects for name column */
html[data-mantine-color-scheme='dark'] .ag-cell.violet-text:hover {
    color: var(--mantine-color-violet-2) !important;
    /* text-shadow: 0 0 12px rgba(96, 165, 250, 0.4); */
}
html[data-mantine-color-scheme='light'] .ag-cell.violet-text:hover {
    color: var(--mantine-color-violet-9) !important;
    /* text-shadow: 0 0 12px rgba(29, 78, 216, 0.4); */
}

