.bz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 40px;
    padding: .62rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--bz-radius-sm);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--bz-transition),
                border-color var(--bz-transition),
                color var(--bz-transition),
                transform var(--bz-transition);
}

.bz-btn:hover {
    transform: translateY(-1px);
}

.bz-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
}

.bz-btn-primary {
    color: #fff;
    background: var(--bz-primary);
    border-color: var(--bz-primary);
}

.bz-btn-primary:hover {
    background: var(--bz-primary-hover);
    border-color: var(--bz-primary-hover);
}

.bz-btn-secondary {
    color: var(--bz-text-soft);
    background: var(--bz-surface);
    border-color: var(--bz-border-strong);
}

.bz-btn-success {
    color: #fff;
    background: var(--bz-success);
    border-color: var(--bz-success);
}

.bz-btn-danger {
    color: #fff;
    background: var(--bz-danger);
    border-color: var(--bz-danger);
}

.bz-btn-warning {
    color: #fff;
    background: var(--bz-warning);
    border-color: var(--bz-warning);
}

.bz-btn-ghost {
    color: var(--bz-primary);
    background: transparent;
    border-color: transparent;
}

.bz-btn-sm {
    min-height: 34px;
    padding: .45rem .7rem;
    font-size: .82rem;
}

.bz-btn-icon {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
}

.bz-action-group {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
}
