.switcher{--switcher-width:44px;--switcher-height:22px;--switcher-knob:18px;--switcher-offset:2px;--switcher-track-off:color-mix(in srgb, var(--line) 85%, var(--muted) 15%);--switcher-track-on:var(--brand);width:var(--switcher-width);min-width:var(--switcher-width);height:var(--switcher-height);background:var(--switcher-track-off);cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;border-radius:999px;flex-shrink:0;justify-content:flex-start;align-items:center;margin:0;transition:background-color .2s,opacity .2s;display:inline-flex;position:relative}.switcher-has-content{--switcher-width:56px;min-width:56px}.switcher input{opacity:0;cursor:pointer;z-index:3;width:100%;height:100%;box-shadow:none;appearance:none;background:0 0;border:none;margin:0;position:absolute;inset:0}.switcher-toggle{top:var(--switcher-offset);left:var(--switcher-offset);width:var(--switcher-knob);height:var(--switcher-knob);pointer-events:none;z-index:2;background:#fff;border-radius:999px;transition:transform .2s;position:absolute;box-shadow:0 1px 3px #0f172a38}.switcher-checked .switcher-toggle{transform:translateX(calc(var(--switcher-width) - var(--switcher-knob) - (var(--switcher-offset) * 2)))}.switcher-content{padding:0 calc(var(--switcher-knob) + 4px);color:#ffffffeb;pointer-events:none;z-index:1;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;inset:0}.switcher:not(.switcher-checked) .switcher-content{color:var(--muted);justify-content:flex-end;padding-right:6px}.switcher-checked{background:var(--switcher-track-on)}.switcher-color-primary.switcher-checked{--switcher-track-on:var(--brand)}.switcher-color-success.switcher-checked{--switcher-track-on:var(--ok)}.switcher-color-danger.switcher-checked{--switcher-track-on:var(--danger)}.switcher-disabled{opacity:.55;cursor:not-allowed}.switcher-disabled input{cursor:not-allowed}.switcher-loading{cursor:wait}.switcher-loading .switcher-toggle:after{content:"";border:2px solid #9155fd40;border-top-color:var(--brand);border-radius:50%;animation:.7s linear infinite switcher-spin;position:absolute;inset:3px}@keyframes switcher-spin{to{transform:rotate(360deg)}}.switcher-field{cursor:pointer;color:var(--text);align-items:center;gap:10px;font-size:.9rem;display:inline-flex}.switcher-field .switcher{flex-shrink:0}.rbac-perm-check,.rbac-perm-markall,.perfil-form-perm-toggle,.external-category-option{align-items:center;gap:8px;display:inline-flex}.perfil-form-perm-row{align-items:center}.perfil-form-perm-toggle{padding-top:0}.external-category-option .switcher{flex-shrink:0}
