.toggle{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;display:flex;position:relative}@media (hover:hover){.toggle:hover{background:var(--bg-hover)}}.toggle:has(input:disabled){cursor:not-allowed;opacity:.6}.toggle--column{flex-direction:column;justify-content:flex-start;align-items:flex-start}.toggle__info{gap:var(--space-1);flex-direction:column;display:flex}.toggle__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.toggle__hint{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}.toggle__switch{--toggle-width:2.5rem;--toggle-height:1.375rem;--toggle-knob:1rem;--toggle-travel:calc(var(--toggle-width) - var(--toggle-knob) - .25rem);width:var(--toggle-width);height:var(--toggle-height);background:oklch(from var(--color-primary) l c h / .12);border:1px solid oklch(from var(--color-primary) l c h / .25);border-radius:var(--radius-full);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;display:inline-block;position:relative}.toggle--sm .toggle__switch{--toggle-width:2rem;--toggle-height:1.125rem;--toggle-knob:.75rem}.toggle__switch:after{content:"";width:var(--toggle-knob);height:var(--toggle-knob);background:var(--text-muted);transition:transform var(--transition-fast), background var(--transition-fast);border-radius:50%;position:absolute;top:50%;left:.125rem;transform:translateY(-50%)}.toggle input:checked~.toggle__switch{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-color:var(--color-primary);box-shadow:0 2px 8px oklch(from var(--color-primary) l c h / .3)}.toggle input:checked~.toggle__switch:after{transform:translateY(-50%) translateX(var(--toggle-travel));background:oklch(100% 0 0)}.toggle input:focus-visible~.toggle__switch{outline:2px solid var(--color-focus);outline-offset:2px}
