.checkbox { position: relative; display: inline-flex; align-items: center; cursor: pointer; gap: var(--au-spacing-2); } .checkboxInput { appearance: none; width: 18px; height: 18px; border: 2px solid var(--au-border-medium); border-radius: var(--au-radius-sm); background-color: var(--au-surface); cursor: pointer; transition: all var(--au-transition-fast); flex-shrink: 0; position: relative; } .checkboxInput:hover:not(:disabled) { border-color: var(--au-primary); } .checkboxInput:checked { background-color: var(--au-primary); border-color: var(--au-primary); } .checkboxInput:checked::after { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 4px; height: 8px; border: solid white; border-width: 0 2px 2px 0; } .checkboxInput:disabled { opacity: 0.5; cursor: not-allowed; } .checkboxInput:focus-visible { outline: 2px solid var(--au-primary); outline-offset: 2px; } .checkboxLabel { font-size: var(--au-text-sm); color: var(--au-text-primary); user-select: none; } .checkbox:has(.checkboxInput:disabled) .checkboxLabel { opacity: 0.5; cursor: not-allowed; } /* Variants */ .success .checkboxInput:checked { background-color: var(--au-success-600); border-color: var(--au-success-600); } .warning .checkboxInput:checked { background-color: var(--au-warning-600); border-color: var(--au-warning-600); } .danger .checkboxInput:checked { background-color: var(--au-danger-600); border-color: var(--au-danger-600); } .info .checkboxInput:checked { background-color: var(--au-info-600); border-color: var(--au-info-600); } /* Sizes */ .sm .checkboxInput { width: 16px; height: 16px; } .md .checkboxInput { width: 18px; height: 18px; } .lg .checkboxInput { width: 20px; height: 20px; }