/* ── Custom ON/OFF toggle ── */
.gpc-toggle {
    display: inline-block;
    cursor: pointer;
    user-select: none;
}
.gpc-toggle.gpc-busy {
    opacity: 0.45;
    pointer-events: none;
}
.gpc-track {
    position: relative;
    width: 66px;
    height: 30px;
    border-radius: 15px;
    transition: background 0.22s;
    display: flex;
    align-items: center;
}
.gpc-on .gpc-track  { background: #3cb95f; }
.gpc-off .gpc-track { background: #c8c8c8; }

.gpc-thumb {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.28);
    transition: left 0.22s;
}
.gpc-on  .gpc-thumb { left: calc(100% - 27px); }
.gpc-off .gpc-thumb { left: 3px; }

.gpc-label {
    position: absolute;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.6px;
    transition: left 0.22s, right 0.22s;
}
.gpc-on  .gpc-label { left: 9px;  color: #fff; }
.gpc-off .gpc-label { right: 9px; color: #888; }

.gpc-toggle-caption {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: #aaa;
}
