.acepta-row .toggle {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .25rem .5rem;
    border-radius: .45rem;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    background: transparent;
    margin-bottom: 0;
}

.acepta-row .toggle-input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.acepta-row .toggle-slider {
    display: inline-block;
    width: 44px;
    height: 24px;
    border-radius: 24px;
    background: #d8dee3;
    position: relative;
    transition: background .18s ease;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
    flex: 0 0 auto;
}

.acepta-row .toggle-slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border-radius: 50%;
    transition: transform .18s cubic-bezier(.2,.9,.3,1), box-shadow .18s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.12);
}

/* importante: ~ por el hidden input que genera MVC */
.acepta-row .toggle-input:checked ~ .toggle-slider {
    background: #28a745;
}

.acepta-row .toggle-input:checked ~ .toggle-slider::before {
    transform: translate(20px, -50%);
}

.acepta-row .toggle-text {
    font-weight: 600;
    font-size: .95rem;
    color: #2c3e50;
    line-height: 1.2;
}