.checkbox{display:inline-flex;align-items:center;gap:var(--g-spacing-sm);cursor:pointer;user-select:none}.checkbox--disabled{cursor:not-allowed;opacity:.5}.checkbox--invalid .checkbox__box{border-color:var(--color-danger)}.checkbox--invalid.checkbox--icon .checkbox__icon-wrapper{color:var(--color-danger)}.checkbox--invalid.checkbox--icon .checkbox__input:checked~.checkbox__icon-wrapper,.checkbox--invalid.checkbox--icon .checkbox__input:indeterminate~.checkbox__icon-wrapper{color:var(--color-danger)}.checkbox__input{position:absolute;opacity:0;width:0;height:0}.checkbox__box{position:relative;width:18px;height:18px;border:var(--g-border-width) solid var(--g-border-color);border-radius:var(--g-radius);background:var(--g-background);transition:all var(--g-transition);flex-shrink:0;overflow:hidden}.checkbox__box:before{content:"";position:absolute;inset:0;background:#fff0;transition:background var(--g-transition);pointer-events:none;border-radius:inherit}.checkbox__box:after{content:"";position:absolute;display:none;left:5px;top:2px;width:4px;height:8px;border:solid var(--color-white);border-width:0 2px 2px 0;transform:rotate(45deg);z-index:1}.checkbox--compact .checkbox__box{width:14px;height:14px}.checkbox--compact .checkbox__box:after{left:4px;top:1px;width:3px;height:6px}.checkbox__input:checked+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox__input:checked+.checkbox__box:after{display:block}.checkbox__input:indeterminate+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox__input:indeterminate+.checkbox__box:after{display:block;left:3px;top:7px;width:10px;height:0;border-width:0 0 2px 0;transform:none}.checkbox--compact .checkbox__input:indeterminate+.checkbox__box:after{left:2px;top:5px;width:8px}.checkbox__input:focus-visible+.checkbox__box{outline:2px solid var(--color-primary);outline-offset:2px}@media(hover:hover){.checkbox:not(.checkbox--disabled):hover .checkbox__box{border-color:var(--g-border-color-emphasis)}.checkbox:not(.checkbox--disabled):hover .checkbox__box:before{background:#ffffff0d}}.checkbox:not(.checkbox--disabled):hover .checkbox__input:checked + .checkbox__box::before,@media (hover: hover){.checkbox:not(.checkbox--disabled):hover .checkbox__input:indeterminate+.checkbox__box:before{background:#ffffff1a}}.checkbox__label{color:var(--g-text-secondary);font-size:var(--g-font-size);line-height:var(--g-line-height)}.checkbox--compact .checkbox__label{font-size:var(--font-size-sm)}.checkbox__icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--g-text-secondary);transition:color var(--g-transition)}.checkbox--compact .checkbox__icon-wrapper{width:16px;height:16px}.checkbox__icon{position:absolute;display:flex;align-items:center;justify-content:center;font-size:20px;transition:opacity var(--g-transition)}.checkbox--compact .checkbox__icon{font-size:16px}.checkbox__icon--unchecked{opacity:1}.checkbox__icon--checked{opacity:0}.checkbox__input:checked~.checkbox__icon-wrapper .checkbox__icon--unchecked,.checkbox__input:indeterminate~.checkbox__icon-wrapper .checkbox__icon--unchecked{opacity:0}.checkbox__input:checked~.checkbox__icon-wrapper .checkbox__icon--checked,.checkbox__input:indeterminate~.checkbox__icon-wrapper .checkbox__icon--checked{opacity:1}.checkbox__input:checked~.checkbox__icon-wrapper,.checkbox__input:indeterminate~.checkbox__icon-wrapper{color:var(--color-primary)}@media(hover:hover){.checkbox--icon:not(.checkbox--disabled):hover .checkbox__icon-wrapper{color:var(--g-border-color-emphasis)}}.checkbox--icon:not(.checkbox--disabled):hover .checkbox__input:checked ~ .checkbox__icon-wrapper,@media (hover: hover){.checkbox--icon:not(.checkbox--disabled):hover .checkbox__input:indeterminate~.checkbox__icon-wrapper{color:var(--color-accent)}}@media(max-width:768px){.checkbox{min-height:44px;padding:var(--g-spacing-xs) 0}.checkbox__icon-wrapper{width:24px;height:24px}.checkbox__icon{font-size:24px}}
