/**
 * Toggle Component - CSS
 * Source: src/components/Atoms/Toggle/Toggle.tsx (Radix SwitchPrimitive; tailwind-variants slots base + circle)
 * Track: h-[1.15rem] w-8, border transparent, shadow-xs, transition-all; checked bg-green-500, unchecked gray-500;
 *        dark unchecked: bg-input/80
 * Thumb: size-4, pointer-events-none, unchecked gray-400, checked green-700; translate-x calc(100% - 2px)
 * Focus: focus-visible:border-ring + ring 3px ring-ring/50 (box-shadow; outline none — global *:focus-visible overridden)
 * Last synced: 2026-04-09 (ui-core v2.0.76)
 */

@import url("../tokens.4b8ea74adec1.css");

.ui-toggle {
    box-sizing: border-box;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: 2rem;
    height: 1.15rem;
    padding: 0;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 9999px;
    background-color: var(--color-gray-500, #949899);
    /* shadow-xs (Tailwind theme default) */
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    cursor: pointer;
    flex-shrink: 0;
    transition: color, background-color, border-color, box-shadow, opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 0;
    color: inherit;
    vertical-align: middle;
    outline: none;
}

.dark .ui-toggle:not(.checked) {
    background-color: color-mix(in oklch, var(--uicore-input) 80%, transparent);
}

.ui-toggle.checked {
    background-color: var(--color-green-500, #00c57b);
}

.ui-toggle .ui-toggle-thumb {
    display: block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    border-radius: 50%;
    pointer-events: none;
    background-color: var(--color-gray-400, #c6cbcc);
    box-shadow: none;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(0);
}

.ui-toggle.checked .ui-toggle-thumb {
    transform: translateX(calc(100% - 2px));
    background-color: var(--color-green-700, #009960);
}

.ui-toggle:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ui-toggle:focus-visible {
    outline: none;
    border-color: var(--uicore-ring);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--uicore-ring) 50%, transparent),
        0 1px 2px 0 rgb(0 0 0 / 0.05);
}

/* Hidden checkbox for form submission */
.ui-toggle input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Toggle with label */
.ui-toggle-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
