/* Compact shared toggle styling */
.switch {
    position: relative;
    display: inline-block;
    width: 52px;
    min-width: 52px;
    height: 30px;
    margin: 0;
    vertical-align: middle;
}

.switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.slider {
    position: absolute;
    inset: 0;
    cursor: pointer;
    background: #303030;
    border: 1px solid #555;
    border-radius: 999px;
    transition: background-color .18s ease, border-color .18s ease;
}

.slider::before {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background: #d2d2d2;
    transition: transform .18s ease, background-color .18s ease;
}

.switch input:checked + .slider {
    background: #286a49;
    border-color: #438864;
}

.switch input:checked + .slider::before {
    transform: translateX(22px);
    background: #fff;
}

.switch input:focus-visible + .slider {
    outline: 2px solid #f1f1f1;
    outline-offset: 3px;
}

.switch input:disabled + .slider {
    cursor: not-allowed;
    opacity: .45;
}
