.button{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:1;transition:background-color .2s,color .2s,opacity .2s;display:inline-flex}.button:disabled{opacity:.55}.button--size-md{min-height:40px;padding:0 20px}.button--size-icon{width:36px;height:36px;padding:0}.button--primary{color:#fff;background-color:var(--color-accent)}.button--primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.button--secondary{color:var(--color-text);background-color:var(--color-surface-muted)}.button--secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.button--danger{color:#fff;background-color:var(--color-danger)}.button--danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.button--ghost{color:var(--color-text-muted);background-color:#0000}.button--ghost:hover:not(:disabled){color:var(--color-text);background-color:var(--color-surface-hover)}
.color-picker{border:none}.color-picker__legend{color:var(--color-text-muted);margin-bottom:10px;font-size:13px}.color-picker__options{gap:14px;display:flex}.color-picker__option{cursor:pointer;position:relative}.color-picker__swatch{border-radius:50%;width:24px;height:24px;transition:transform .2s,box-shadow .2s;display:block}.color-picker__option:hover .color-picker__swatch{transform:scale(1.1)}.color-picker__input:checked+.color-picker__swatch{box-shadow:0 0 0 3px var(--color-surface), 0 0 0 5px var(--color-text-muted);transform:scale(1.15)}.color-picker__input:focus-visible+.color-picker__swatch{outline:2px solid var(--color-focus);outline-offset:4px}
.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:16px;display:inline-flex;position:relative}.switch--disabled{opacity:.55;cursor:not-allowed}.switch__label{color:var(--color-text-muted);font-size:14px}.switch__track{background-color:var(--color-border);border-radius:999px;width:40px;height:22px;transition:background-color .2s;display:block;position:relative}.switch__thumb{background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch__input:checked+.switch__track{background-color:var(--color-accent)}.switch__input:checked+.switch__track .switch__thumb{transform:translate(18px)}.switch__input:focus-visible+.switch__track{outline:2px solid var(--color-focus);outline-offset:2px}
.project-form{flex-direction:column;gap:20px;display:flex}.project-form__field{flex-direction:column;gap:8px;display:flex}.project-form__label{color:var(--color-text-muted);font-size:13px}.project-form__input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);width:100%;padding:10px 12px;transition:border-color .2s}.project-form__input:hover,.project-form__input:focus{border-color:var(--color-accent)}.project-form__input:focus-visible{box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.project-form__input[aria-invalid=true]{border-color:var(--color-danger)}.project-form__error{color:var(--color-danger);font-size:14px}.project-form__actions{justify-content:flex-end;gap:10px;display:flex}
