.checkbox-container{display:flex;cursor:pointer;font-family:Arial,sans-serif;font-size:16px;width:fit-content;gap:var(--gap,8px);margin:4px 0;user-select:none;position:relative}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;border:2px solid #d1d5db;border-radius:4px;background-color:white;transition:all .2s ease-in-out;position:relative}.checkmark.checked{background-color:var(--checkbox-color,#3b82f6);border-color:var(--checkbox-color,#3b82f6)}.check-icon{color:white;font-size:12px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center}.checkbox-container.small .checkmark{width:16px;height:16px;border-radius:3px}.checkbox-container.small .check-icon{font-size:10px}.checkbox-container.medium .checkmark{width:20px;height:20px;border-radius:4px}.checkbox-container.medium .check-icon{font-size:12px}.checkbox-container.large .checkmark{width:24px;height:24px;border-radius:4px}.checkbox-container.large .check-icon{font-size:14px}.checkbox-label{font-size:14px;color:#374151;line-height:1.4;width:var(--label-width,auto);white-space:normal;padding-top:2px}.checkbox-container:not(.disabled):hover .checkmark{border-color:var(--checkbox-color,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.checkbox-container:not(.disabled):hover .checkmark.checked{box-shadow:0 0 0 3px rgba(59,130,246,.2)}.checkbox-input:focus-visible+.checkmark{outline:2px solid var(--checkbox-color,#3b82f6);outline-offset:2px}.checkbox-container.disabled{opacity:.6;cursor:not-allowed}.checkbox-container.disabled .checkmark{background-color:#f3f4f6;border-color:#d1d5db}.checkbox-container.disabled .checkmark.checked{background-color:#9ca3af;border-color:#9ca3af}.checkbox-container.disabled .checkbox-label{color:#6b7280}.checkbox-container:active:not(.disabled) .checkmark{transform:scale(.95)}.checkbox-container{min-height:20px;align-items:flex-start}.checkbox-container .checkbox-label{word-wrap:break-word;overflow-wrap:break-word}