/* Custom Radio & Checkbox — loaded separately from Tailwind */
input[type="radio"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #4b5563 !important;
    border-radius: 50% !important;
    background: transparent !important;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    transition: border-color 0.15s ease;
    margin: 0;
    padding: 0;
}

input[type="radio"]:checked {
    border-color: #22c55e !important;
    background: transparent !important;
}

input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
}

input[type="radio"]:focus-visible {
    outline: 2px solid #22c55e;
    outline-offset: 2px;
}

input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #4b5563 !important;
    border-radius: 4px !important;
    background: transparent !important;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    margin: 0;
    padding: 0;
}

input[type="checkbox"]:checked {
    border-color: #22c55e !important;
    background-color: #22c55e !important;
}

input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

input[type="checkbox"]:focus-visible {
    outline: 2px solid #22c55e;
    outline-offset: 2px;
}
