/* Checkbox visibility fixes for all themes */

/* Base checkbox styles for better visibility */
input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--input-bg, #FFFFFF);
    border: 2px solid var(--border-primary, #E5E7EB);
    border-radius: 4px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

input[type="checkbox"]:hover {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb, 99, 102, 241), 0.1);
}

input[type="checkbox"]:checked {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid var(--text-inverse, #FFFFFF);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Dark theme checkbox fix */
[data-theme="dark"] input[type="checkbox"] {
    background: var(--bg-tertiary);
    border-color: var(--border-secondary);
}

[data-theme="dark"] input[type="checkbox"]:checked {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

/* Matrix theme checkbox fix */
[data-theme="matrix"] input[type="checkbox"] {
    background: #000000;
    border-color: #00FF41;
}

[data-theme="matrix"] input[type="checkbox"]:checked {
    background: #00FF41;
    border-color: #00FF41;
}

[data-theme="matrix"] input[type="checkbox"]:checked::after {
    border-color: #000000;
}

/* Colorful theme checkbox fix */
[data-theme="colorful"] input[type="checkbox"] {
    background: #FFFFFF;
    border-color: #EC4899;
}

[data-theme="colorful"] input[type="checkbox"]:checked {
    background: #EC4899;
    border-color: #EC4899;
}

/* Windows XP theme checkbox fix */
[data-theme="windows-xp"] input[type="checkbox"] {
    background: #FFFFFF;
    border-width: 2px;
    border-style: solid;
    border-color: #808080 #FFFFFF #FFFFFF #808080;
    border-radius: 0;
}

[data-theme="windows-xp"] input[type="checkbox"]:checked {
    background: #0054E3;
    border-color: #0054E3;
}

/* Amiga theme checkbox fix */
[data-theme="amiga500"] input[type="checkbox"] {
    background: #FFFFFF;
    border: 2px solid;
    border-color: #666666 #FFFFFF #FFFFFF #666666;
    border-radius: 0;
}

[data-theme="amiga500"] input[type="checkbox"]:checked {
    background: #FF8800;
    border-color: #FF8800;
}

/* C64 theme checkbox fix */
[data-theme="c64"] input[type="checkbox"] {
    background: var(--bg-secondary);
    border-color: var(--c64-light-blue);
    border-radius: 0;
}

[data-theme="c64"] input[type="checkbox"]:checked {
    background: var(--c64-light-blue);
    border-color: var(--c64-light-blue);
}

[data-theme="c64"] input[type="checkbox"]:checked::after {
    border-color: var(--bg-primary);
}

/* Sigma theme checkbox fix */
[data-theme="sigma"] input[type="checkbox"] {
    background: #FFFFFF;
    border-color: #DEE2E6;
}

[data-theme="sigma"] input[type="checkbox"]:checked {
    background: #00BCD4;
    border-color: #00BCD4;
}

/* Job selection checkboxes in job bank */
.job-checkbox,
.job-bank-table input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
}

/* Mobile-specific fixes for checkboxes */
@media (max-width: 768px) {
    input[type="checkbox"] {
        width: 20px;
        height: 20px;
        min-width: 20px;
        min-height: 20px;
    }
    
    input[type="checkbox"]:checked::after {
        left: 6px;
        top: 3px;
    }
}

/* iOS-specific fixes */
@supports (-webkit-touch-callout: none) {
    input[type="checkbox"] {
        -webkit-tap-highlight-color: transparent;
    }
}

/* Fix for select all checkbox in job bank */
#select-all-jobs {
    margin: 0 auto;
    display: block;
}

/* Fix checkbox alignment in job cards */
.job-card input[type="checkbox"] {
    margin-right: 12px;
    flex-shrink: 0;
}

/* Theme transition for checkboxes */
input[type="checkbox"] {
    transition: background-color 0.2s ease, 
                border-color 0.2s ease, 
                box-shadow 0.2s ease;
}